2017-01-12 3 views
0

Ich arbeite daran, Bedingungen in meinen Paypal IPN Listener zu setzen, wie sicherzustellen, dass die Transaktionsnummer nicht mit einer vorherigen Nummer in meiner Datenbank übereinstimmt, dass die Empfänger-E-Mail korrekt ist usw. Was soll ich tun, wenn einer von diesen Tests scheitern? Stoppt es die Zahlung? Soll der Benutzer irgendwo umgeleitet werden? Alle Hilfe wird geschätzt!Was sollte mein IPN-Listener tun, wenn er meine Bedingungen nicht erfüllt?

+0

Ich habe gerade unseren Code überprüft. Wenn etwas nicht stimmt, protokolliert es einen Fehler und aktualisiert das Benutzerkonto nicht. Es sendet nichts zurück an PayPal, ob erfolgreich oder nicht. Ich denke, bis zu dem Zeitpunkt, zu dem der Hörer läuft, wurde das Konto des Kunden bereits belastet. – Barmar

+0

Aber das ist alter Code, mit dem ich wenig zu tun hatte, ich kann nicht garantieren, dass es tatsächlich die richtige Prozedur ist. – Barmar

+0

klingt eher nach Geschäftspraktiken als nach Coding-Logik – nogad

Antwort

0

Kombinieren Sie einfach meine Kommentare in einer einzigen Antwort hier nur für den Fall es kann Sie und andere zukünftige Besucher helfen, die gleiche Frage :)

ist

Ihr Code für PayPal IPN Hörer kann durch PayPal-Website, wenn die Zahlung genannt erfolgt durch den Benutzer und wenn der Benutzer noch auf der PayPal-Website ist.

So können Sie den Benutzer nirgendwo umleiten. Was Sie auch tun möchten, sollten Sie im Abschnitt "GEPRÜFTE" Ihres Codes tun, damit Sie auch keine Daten an PayPal zurücksenden.

Sie sollten mit dem, was Sie auf Ihrer Seite tun möchten, dann wie @Barmar gesagt, Ihre Daten in lokale Datei oder Datenbank protokollieren und diese Protokolldateien dann manuell überwachen oder durch eine Art von benutzerdefinierten Protokoll-Viewer für Ihre Anwendung schreiben ...

Natürlich haben Sie zwei Links in PayPal für den Erfolg gesetzt und stornieren, welche PayPal Benutzer auf einen dieser Links abhängig vom Status der Zahlung zurückgibt.

Wenn Sie einen Benutzer von Ihrer Site an PayPal zur Zahlung senden, können Sie einige benutzerdefinierte Daten in einem Feld mit dem Namen custom senden. Sie können userID oder eine eindeutige ID des aktuellen Benutzers mit diesem Feld senden. Wenn PayPal dann Ihren IPN-Listener aufruft, wird dieses Feld zusammen mit den Transaktionsdaten an Sie gesendet.

Lassen Sie uns sagen, eine Ihrer Bedingungen schlägt fehl, aber die Zahlung war erfolgreich auf PayPal. Sie können einen Datensatz in Ihrer Datenbank oder lokalen Datei für diese Bedingung + den userID oder den eindeutigen Schlüssel setzen, den Sie von dem Benutzer haben, der die Zahlung ausgeführt hat (aus dem benutzerdefinierten Feld). Dann können Sie in Ihrer Erfolgsseite diese Tabelle mit dem userID des Benutzers abfragen, der diese Seite besucht, und wenn irgendwelche Aufzeichnungen gefunden werden, bedeutet es, dass etwas falsch gelaufen ist. Dann können Sie tun, was immer Sie in der Situation tun müssen (Verwandte Nachrichten anzeigen oder etc.)

Aber Sie müssen vorsichtig sein mit dieser Methode, denn Benutzer kann den Browser schließen und kehrt nicht auf Ihre Website nach dem Zahlung!

Sie können also Ihren Code im Erfolgslink haben, aber Sie müssen auch die Transaktionsdatensätze in Ihrem Verwaltungsteil überwachen. Weil Sie möglicherweise den Benutzer kontaktieren müssen, wenn einige Ihrer Bedingungen oder eine andere Situation, die die menschliche Interaktion von Ihrer Seite erfordert, nicht kontaktiert werden können ...

Verwandte Themen