2016-05-18 9 views
0

Ich habe eine Frage über Paypal IPN, ich frage mich, wann die IPN aktiviert und senden Sie die Nachricht an meine Website.Paypal IPN nicht feuernd?

Ich habe derzeit meine Website, die eine buy button hat. Wenn der Kunde den Dienst kauft, wird er zu Paypal geleitet. Sobald er den Dienst bezahlt hat, passiert nichts. Damit ich die IPN-Benachrichtigung erhalten kann, muss der Benutzer auf "Return to merchant website" oder was auch immer der Link ist klicken, dann erhalte ich die IPN-Benachrichtigung.

Ist es normal, funktioniert das für alle? Ursache gerade jetzt, die meisten Leute, wenn sie mit der Zahlung fertig sind, schließen Sie einfach die Website und ich bekomme keine Benachrichtigung.

Danke für jede Hilfe!

+1

Ich denke, du verwirrst IPN mit der return_url. Sie sind nicht dasselbe. – EJP

+0

Mein return_URL ist der Speicherort meiner IPN.php-Datei, die sich um die gesendeten und empfangenen Daten kümmert. Mein Problem ist, dass das IPN nur feuert, wenn ich auf die "Zurück zur Händlerwebsite" klicke und nicht, wenn die Zahlung tatsächlich abgeschlossen ist. –

+0

Meine aktualisierte Antwort unten sagt Ihnen, wie Sie Ihr Problem lösen können. – Martin

Antwort

3

Ihre Frage lässt viel von fehlenden Informationen so werde ich für Sie durch jede Option gehen:

  • hier Lesen Sie, wie ein Sandbox-Konto einrichten, wenn Sie nicht bereits haben ein: https://developer.paypal.com/docs/classic/lifecycle/sb_create-accounts/

  • Denken Sie daran, dass Ihr Sandbox-Konto vollständig in jeder Hinsicht von Ihrem Live-Paypal-Konto getrennt ist. Alle Einstellungen müssen nach Bedarf überprüft und angepasst werden.

  • Ihre IPN URL einrichten auf Ihrem Sandbox Konto hier: https://www.sandbox.paypal.com/uk/cgi-bin/webscr?cmd=_profile-ipn-notify

  • Einmal eingerichtet, müssen Sie dann herunterladen und Ihren Code (PHP oder etwas anderes) zum Hörer gesetzt (in der referenzierten über Sandbox Profillink). Sie können IPN Code-Beispiele finden Sie hier: https://github.com/paypal/ipn-code-samples

  • Wenn das ist alles richten Sie Ihre Zuhörer den Sandbox-Modus zu verwenden und dann melden Sie sich bei Ihrem Live-Konto einrichten müssen und dann das IPN Simulator von hier aus: https://developer.paypal.com/developer/ipnSimulator/

  • Paypal sendet Nachrichten an Ihren IPN-Listener und Sie müssen etwas mit den Nachrichten tun, normalerweise geben Sie sie in eine Art Protokolldatei aus. Irgendwelche Probleme, können Sie Paypals Feedback und IPN Daten/Lieferinformationen hier https://www.sandbox.paypal.com/uk/cgi-bin/webscr?cmd=_display-ipns-history&nav=0.3.4 [Gefunden von History->ipnHistory auf dem Paypal Menü] lesen und es sollte sie auflisten. Sie können alle fehlgeschlagenen oder in der Warteschlange eingereihten oder nicht zugestellten Nachrichten erneut senden.

  • Paypal ist ein schrecklich dokumentiertes und furchtbar strukturiertes System zum Codieren mit. Ich hasse es. Use Stripe.

  • Ich liebe Aufzählungspunkte.

  • Paypal behauptet, dass sie versuchen werden, fehlgeschlagene/in die Warteschlange gestellte IPNs 16 Mal über 5 Tage erneut zu senden. Ich muss dies noch sehen, Sie müssen sie manuell erneut senden (mindestens Sandbox)

  • Bitte denken Sie daran, alle Einstellungen und Änderungen, die Sie an Ihrem Sandbox-Konto vorgenommen haben, müssen auch in Ihrem Live-Konto vorgenommen werden bevor Sie Ihr Bezahlsystem live schalten!

Lösung

ist mein return_URL die Lage meiner IPN.php-Datei, die die Daten kümmert gesendet und empfangen werden. Mein Problem ist, dass das IPN nur feuert, wenn ich die „Händlerseite Zurück“ klicken und nicht, wenn die Zahlung tatsächlich

abgeschlossen ist

Was Sie getan haben, aus der Lektüre Ihre Kommentare, eingestellt ist Ihre IPN Seite zu sein Ihre Rückkehr von Paypal Seite, das ist NICHT die IPN soll funktionieren, die IPN-Seite sollte nie vom Kunden besucht werden, nur je durch Paypal.

meine anwser Lesen durch (Punkte 2,3,4) und Ihren IPN Web-Link einrichten, wie ich oben beschrieben habe, sollen Ihr return_url Wert eine grundlegende Seite an den Kunden „Transaktion abgeschlossen“ zu sagen sein. Die IPN-Seite ist auf Ihren Paypal-Konten (Sandbox und Live) wie oben beschrieben definiert.

Dies wird Ihr Problem beheben.

+0

Ich habe bereits ein Sandbox-Konto eingerichtet und verwende das IPN damit. Es funktioniert perfekt, wenn ich alle Schritte wie oben erwähnt mache, aber wenn ich nicht auf die "Zurück zur Händler-Website" klicke, wird das IPN nicht ausgelöst. Wie ich schon sagte, das Hauptproblem ist, dass ich unbedingt auf die "Zurück zur Händler-Website" klicken muss, damit das IPN ausgelöst wird, und das ist mein Problem. –

+0

Irgendeine Idee? wie ich schon sagte, wenn ich alle Schritte einschließlich des Klickens auf den Link, um zurück zu meiner Website zu gehen, es funktioniert, aber wenn ich nicht auf diesen Link klicken, es nicht –

+0

@AntoineDionne bitte meine Antwort erneut lesen. Ich werde es für Sie aktualisieren. (Entschuldigung, ich habe Ihren ersten Kommentar verpasst) – Martin