Livezilla

Certified Partner and
PrestaShop Developer for:

Fixing Paypal Probleme in Prestashop

Fixing Paypal Probleme

Diese Seite in englischer Sprache geschrieben wurde, finden Sie in der englischen Version für den richtigen Code-Änderungen.

Die folgenden Tipps für Prestashop 1,2 und 1,3 wurden geschrieben, wenn Sie mit einer beliebigen Version von Prestashop 1.4 sind, vergewissern Sie sich, um die neueste Version des paypal-Modul (kostenlos erhältlich bei sich http://addons.prestashop.com/en/payments- gateways/1748-paypal.html)


1) Das häufigste Problem mit paypal Bestellungen nicht angezeigt passiert, wenn paypal nicht zugreifen können Ihren Server, Ihre Datei / Ordner-Berechtigungen falsch ist, oder wenn Ihr PayPal-Konto wird nicht überprüft.


Prüfen Sie, ob die folgenden Bedingungen richtig sind:

· Ihr Geschäft ist nicht im Wartungsmodus (wenn niemand Ihre Website zugreifen können, die PayPal-Website wird nicht in der Lage sein, entweder).

· Es ist kein Passwort-Schutz auf Ihrer Website (aus demselben Grund wie oben).

· Versuchen Sie, diese Seite aus dem Browser zu öffnen - http://www.yoursite.com/modules/paypal/validation.php,
Wenn Sie eine Fehlermeldung erhalten (Fehler 500, kann die Seite nicht angezeigt werden), als dies bedeutet, dass Sie eine Datei die Erlaubnis Problem. Wahrscheinlich ist das paypal-Verzeichnis oder das gesamte Modul-Verzeichnis auf 777 gesetzt und der eigene Rechner nicht zulassen, dass (es ist nicht sicher); versuchen Sie es zu 755. Sie können auch Ihre Server-Fehlerprotokoll (von Ihrem cPanel) um den genauen Fehler zu bekommen.

· Stellen Sie sicher, dass Ihr PayPal-Konto verifiziert ist, sonst Transaktionen nicht automatisch genehmigt zu bekommen und prestashop wird eine Zahlung Fehler zeigen.


2) Die häufigsten Sandbox-Modus Problem mit dem PayPal-Modul ist, dass die Aufträge nicht angezeigt werden, auf das Geschäft.

Der Grund für die paypal-Modul ist derzeit bis zu Bestellungen nur erstellen, wenn die Antwort es wird von der PayPal-Website "Abgeschlossen" gesetzt ist, aber bei der Ausführung in der Sandbox-Modus, sendet PayPal eine Antwort von "Pending".

Wir haben einige Unterlagen über das Ändern der Sandbox-Konto auf ein "Abgeschlossen" Antwort senden zu lesen, aber auch nach dem Versuch, dass die Zahlungen weiterhin erschienen als angemeldet.


Um dies zu beheben, die folgende Änderung in / modules / paypal / validation.php Zeile # 80.

Es wird für einen Auftrag mit einem Status "Ausstehend" zu durchlaufen lassen, aber nur im Sandbox-Modus.


elseif ($ _POST ['payment_status']! = "Abgeschlossen")

Sollte geändert werden

elseif ($ _POST ['payment_status'] = 'Abgeschlossen' & & (Configuration::! get ('PAYPAL_SANDBOX') | | $ _POST ['payment_status'] = 'Pending'))


3) Ein weiteres häufiges Problem ist, dass Aufträge, die im Live-Modus platziert werden nicht angezeigt, im Backoffice, aber der Kunde bekommt immer noch belastet.


Dies ist häufig der Fall, weil die Antwort von PayPal ist nicht "Abgeschlossen".

Es könnte viele Gründe geben, sind die wichtigsten sind, dass wir gefunden:

a) Ihr Standard-Währung in Prestashop nicht mit Ihrem PayPal-Währung.

b) Die Zahlung erfolgt über Echeck oder andere Methoden, die eine längere Zeit, um klar zu verlangen.

c) Paypal entscheidet, die sie benötigen, um die Transaktion zu untersuchen.


  • Sie können den Code ändern, um Ihnen eine E-Mail, wenn eine Transaktion wie das geschieht, so könnte man zumindest darüber wissen und dem Kunden Kontakt auf, um sie über die Situation informieren.


Um dies zu erreichen, ändern Sie den Code in / paypal / validation.php (Zeile # 80) Von

elseif ($ _POST ['payment_status'] = 'Abgeschlossen' & & (Configuration::! get ('PAYPAL_SANDBOX') | | $ _POST ['payment_status'] = 'Pending'))
$ Fehler .= $ paypal-> GETL ("Zahlung').$_ POST ['payment_statu
s'].'';

Zu

elseif ($ _POST ['payment_status'] = 'Abgeschlossen' & & (Configuration::! get ('PAYPAL_SANDBOX') | | $ _POST ['payment_status'] = 'Pending'))

{
$ Fehler .= $ paypal-> GETL ("Zahlung').$_ POST ['payment_status'].'';
mail ("your@address.com", "E-Mail Zahlung error", "Es gab ein Problem mit der Bezahlung, unten ist die Rückkehr von paypal" print_r ($ _POST, true).);
}