Verifizierung der Signatur der Rückrufbenachrichtigung der WeChat Payment API v3 Gibt es eine PHP-Demo?
Detaillierte Problembeschreibung:
Überprüfung des empfangenen Wechatpay-Signaturfelds durch WeChat-Rückruf. Die Überprüfung schlug fehl und später wurde der Unterbrechungspunkt gefunden
Rückruf des empfangenen Wechatpay-Signaturfelds durch WeChat-Rückruf Der verstümmelte Code, der nach der Decodierung mit base64_decode erhalten wurde,
Was ist das Problem? Die Rückrufüberprüfung ist fehlgeschlagen, das Problem ist dringend! ! !
Das zur Bestätigung verwendete Zertifikat ist das Plattformzertifikat, das auch das aktuellste ist.
Lösung:
Problem gelöst! ! !
Mein Problem besteht darin, dass ich die Methode des Frameworks verwende, um die Parameter im Körper zu erhalten, was dazu führt, dass die Feldreihenfolge in den Körperparametern nicht mit der von WeChat gesendeten übereinstimmt (ich wurde von einem Artikel über die Java-Implementierung inspiriert). Hier ist ein starker Punkt: Es wird empfohlen, die native Programmiersprache zu verwenden, um Parameter zu erhalten. Unsere PHP-Methode ist file_get_contents("php://input");
Hinweis: Der base64_decode der WeChat-Signatur wird in verstümmelte Zeichen dekodiert liegt nicht daran, dass die WeChat-Signatur falsch ist
Jedenfalls sind Probleme wie Zertifikate und Seriennummern ausgeschlossen
Der Kommentar ist so Parameter erstellt und die Signaturzeichenfolge mit der nativen Methode erstellt.
Ich hoffe, es hilft allen.
Das obige ist der detaillierte Inhalt vonSo lösen Sie das Problem verstümmelter Zeichen in Rückrufbenachrichtigungen der WeChat-Zahlungs-API v3. Für weitere Informationen folgen Sie bitte anderen verwandten Artikeln auf der PHP chinesischen Website!