Paypal IPN-Problem [gelöst]

Heute wollte ich mithilfe der Paypal-Sandbox meine bislang funktionierendes Verkaufsskript testen und siehe da: es funktionierte nicht. Statt der erwarteten Instant Payment Notification (IPN) erhielt den lapidaren Eintrag “INVALID 302 Found” in meine Logdatei. Was war da los?
Nach einiger Internetrecherche fand ich die Lösung. Ursache war eine andere (neue?) URL von Paypal zum Zurücksenden der IPN-Daten.
Der ursprüngliche Code sah so aus:

...
$this->paypal_url = "http://www.sandbox.paypal.com/cgi-bin/webscr";
...
$url_parsed=parse_url($this->paypal_url);
...
$fp = fsockopen($url_parsed['host'], "80", $err_num, $err_str, 30);
...

Die Lösung bestand ganz einfach darin:

...
$this->paypal_url = "http://www.sandbox.paypal.com/cgi-bin/webscr";
...
$url_parsed=parse_url($this->paypal_url);
...
$fp = fsockopen("ssl://".$url_parsed['host'], "443", $err_num, $err_str, 30);
...

Ich habe den String “ssl://” eingefügt sowie statt Port 80 den Port 443 eingetragen. Und siehe da, der Testkauf via Paypal-Sandbox verlief wie gewohnt reibungslos. Jetzt warte ich bloß noch auf den nächsten Käufer, um zu sehen ob auch die “Live”-Variante mit $this->paypal_url = “http://www.paypal.com/cgi-bin/webscr” funktioniert …

Have a nic day!




    Keine ähnlichen Artikel gefunden

    Kommentare

    1. admin meint:

      Kleiner Nachtrag: Schon am gleichen Tag kam der erhoffte erste Kunde und das Skript funktionierte auch im Live-Betrieb bestens ;-)

    Ihre Meinung ist uns wichtig

    *