Ich versuche, die paypal pdt Informationen zu überprüfen.
Ich habe mein Mockup-Formular erstellt und es eingereicht. IT arbeitete und gab die Informationen auch zurück.
Ich habe das Gleiche versucht, indem ich eine Curl-Anfrage gestellt habe. Aber meine aktuelle Anfrage ist leer für mich.
mein Mockup-Formular:
%Vor%Mein CURL REQ-Code:
%Vor%BEARBEITEN:
ON Tracking curl error Ich habe folgende Nachricht gefunden:
SSL: Zertifikat-Antragstellername "www.sandbox.paypal.com" stimmt nicht überein Ziel Hostname 'sandbox.paypal.com'
Änderung: $ ch = curl_init ('https://sandbox.paypal.com/cgi-bin/webscr');
An: $ ch = curl_init ('https://www.sandbox.paypal.com/cgi-bin/webscr');
Grund: Das Zertifikat für www.sandbox.paypal.com ist nicht gültig für sandbox.paypal.com.
Mache die gleiche Änderung in der 'Aktion' deiner Form, übrigens.
Tatsächlich können Sie einfach die Peer-HOST-Überprüfung deaktivieren. In einigen PHP / cURL-Versionen reicht es nicht aus, PEER zu deaktivieren:
%Vor%Aus der Dokumentation:
CURLOPT_SSL_VERIFYHOST: 1 um das Vorhandensein eines gebräuchlichen Namens zu überprüfen das SSL-Peer-Zertifikat. 2 um die Existenz eines gemeinsamen Namens zu überprüfen und vergewissern Sie sich, dass es mit dem angegebenen Hostnamen übereinstimmt. In Produktion Umgebungen sollte der Wert dieser Option bei 2 (Standard) bleiben Wert).
Sie müssen cURL mitteilen, das SSL-Zertifikat nicht zu überprüfen. Dies kann durch Setzen einer cURL-Option erfolgen:
%Vor%Weitere Informationen hier:
curl_setopt ($ ch, CURLOPT_SSL_VERIFYPEER, 0);
Obwohl das obige funktioniert, wird es nicht empfohlen.
wie Robert sagte
Ändern:
$ ch = curl_init ('https://sandbox.paypal.com/cgi-bin/webscr');
An:
$ ch = curl_init ('https://www.sandbox.paypal.com/cgi-bin/webscr');