Problem mit der asynchronen Callback-Signaturüberprüfung der Thinkphp-Website Alipay

藏色散人
Freigeben: 2020-07-03 13:26:58
nach vorne
3401 Leute haben es durchsucht

Die folgende Tutorial-Kolumne des Thinkphp-Frameworks stellt Ihnen das Problem der fehlgeschlagenen Überprüfung der Alipay-Rückrufsignatur auf der Thinkphp-Website vor. Ich hoffe, dass es für Freunde in Not hilfreich ist !

Problem mit der asynchronen Callback-Signaturüberprüfung der Thinkphp-Website Alipay

Ein vorliegendes Projekt verwendet Alipay für die mobile Website-Zahlung. Nach dem Herunterladen und Ändern des Alipay SDK kann die synchrone Schnittstelle normal aufgerufen werden Es kann auch darauf zugegriffen werden, aber die Überprüfung der Schnittstellensignatur schlägt immer mit einem Fehler fehl und wird auf Zeile 580 von AopClient.php zurückgeführt. Der untere Codeabschnitt

if ("RSA2" == $signType) {
    $result = (bool) openssl_verify($data, base64_decode($sign), $res, OPENSSL_ALGO_SHA256);//这句报错
} else {
    $result = (bool) openssl_verify($data, base64_decode($sign), $res);
}
Nach dem Login kopieren

gibt print_r(openssl_error_string()); aus Die Ausgabe ist

error:0906D06C:PEM routines:PEM_read_bio:no start line
Nach dem Login kopieren

Baidu hat keine Ergebnisse, jemand sagte: Die Zertifikate waren so voller Fehler, dass es für mich sinnlos war, die Zertifikate zu ändern.

Später entdeckte ich zufällig, dass es ein Problem mit der Eingabe gab, und fand schließlich einen Grund:

Wenn Sie hier asynchrone Alipay-Benachrichtigungen erhalten, können Sie die I-Funktion

$data=I("post.");//项目中这样写,导致支付宝传来的数据部分特殊字符被过滤,具体主要是fund_bill_list和sign这两部分
$data=$_POST;//写成这样就好了
Nach dem Login kopieren
Noch etwas:

Egal ob die Signaturprüfung korrekt ist oder nicht,

gibt immer openssl_error_string()aus. error:0906D06C:PEM routines:PEM_read_bio:no start line

Das obige ist der detaillierte Inhalt vonProblem mit der asynchronen Callback-Signaturüberprüfung der Thinkphp-Website Alipay. Für weitere Informationen folgen Sie bitte anderen verwandten Artikeln auf der PHP chinesischen Website!

Verwandte Etiketten:
Quelle:csdn.net
Erklärung dieser Website
Der Inhalt dieses Artikels wird freiwillig von Internetnutzern beigesteuert und das Urheberrecht liegt beim ursprünglichen Autor. Diese Website übernimmt keine entsprechende rechtliche Verantwortung. Wenn Sie Inhalte finden, bei denen der Verdacht eines Plagiats oder einer Rechtsverletzung besteht, wenden Sie sich bitte an admin@php.cn
Beliebte Tutorials
Mehr>
Neueste Downloads
Mehr>
Web-Effekte
Quellcode der Website
Website-Materialien
Frontend-Vorlage