Hallo,
ich habe heute eine Email von PayPal bekommen.
Ist das für JTL Shop relevant?
ich habe heute eine Email von PayPal bekommen.
In einem Forumsbeitrag vom 18. Oktober 2011 haben wir angekündigt, dass wir die Anzahl der IP-Adressen für www.paypal.com erweitern, um die Leistung, Skalierbarkeit und Verfügbarkeit unserer Website zu verbessern. Als Teil dieses Übergangs planten wir, die Unterstützung des HTTP 1.0-Protokolls ab dem 7. Oktober 2013 einzustellen.
Wir haben kürzlich festgestellt, dass diese Änderung für manche Händler die IPN-Verifizierung (sofortige Zahlungsbestätigung) und das PDT-Verfahren (Zahlungsdatenübertragung) über www.paypal.com und ipnpb.paypal.com beeinträchtigen kann. Dies geschieht, wenn für die IPN- bzw. PDT-Scripts das HTTP 1.0-Protokoll verwendet wird und der Header "Host: www.paypal.com" bzw. "Host: ipnpb.paypal.com" in der HTTP-Anforderung nicht enthalten ist.
Was bedeutet das im Detail?
Alle eingehenden Anforderungen benötigen ab dem 7. Oktober 2013 einen "Host"-Header, der den HTTP 1.1-Spezifikationen entspricht. Dieser Header wurde für HTTP 1.0 nicht benötigt. IPN- und PDT-Scripts, die nach dem 7. Oktober 2013 HTTP 1.0 verwenden, erhalten möglicherweise die Fehlermeldung "HTTP/1.0 400 Bad Request". Dies führt dazu, dass IPN-Benachrichtigungen nicht erfolgreich bestätigt werden bzw. dass PDT-Scripts keine Transaktionsdaten mehr abrufen.
Erforderliche Maßnahmen vor dem 7. Oktober 2013
Händler müssen Ihre IPN- und/oder PDT-Scripts aktualisieren, HTTP 1.1 verwenden und den Header "Host" und "Connection: close" in das IPN-Verifizierungsscript aufnehmen.
Beispiel mit Host www.paypal.com (bitte bei "ipnpb.paypal.com" entsprechend anpassen):
ASP
//Set values for the request back
req.Method="POST";
req.Host="'www.paypal.com'";
req.ContentType="application/x-www-form-urlencoded";
Perl
$req=HTTP::Request->new('POST', 'https://www.paypal.com/cgi-bin/webscr');
$req->content_type('application/x-www-form-urlencoded');
$req->header(Host=> 'www.paypal.com');
$req->header(Connection=> 'close');
PHP
// post back to PayPal system to validate
$header="POST /cgi-bin/webscr HTTP/1.1\r\n";
$header .="Content-Type: application/x-www-form-urlencoded\r\n";
$header .="Host: www.paypal.com\r\n";
$header .="Connection: close\r\n\r\n";
Java
HttpsURLConnection uc=(HttpsURLConnection) u.openConnection();
uc.setDoOutput(true);
uc.setRequestProperty("Content-Type","application/x-www-form-urlencoded");
uc.setRequestProperty("Host", "www.paypal.com");
uc.setRequestProperty("Connection", "Close");
Die PayPal-Sandbox wurde konfiguriert, um alle HTTP-Anforderungen ohne "Host"-Header mit dem Fehlercode "HTTP 400 Error" abzulehnen. In der Sandbox-Umgebung können Händler die Änderung der IPN- und PDT-Scripts testen.
Mehr Informationen zu PDT und IPN finden Sie unter http://www.paypal.com/pdt und http://www.paypal.com/ipn. Weitere Informationen zu dieser Änderung erhalten Sie von unserem Technischen Support für Händler unter https://www.paypal.com/mts.
Viele Grüße
Ihr Team von PayPal
Ist das für JTL Shop relevant?