Maison > Article > Applet WeChat > Comment résoudre le problème des caractères tronqués dans les notifications de rappel de l'API de paiement WeChat v3
Vérification de la signature de notification de rappel de l'API de paiement WeChat v3 Existe-t-il une démo PHP ?
Présentation détaillée du problème :
Vérifiez le champ de signature wechatpay reçu par le rappel WeChat La vérification a échoué, et plus tard, le point d'interruption a été trouvé
Rappelez le champ de signature wechatpay reçu par WeChat. code tronqué obtenu après décodage avec base64_decode,
Quel est le problème ? La vérification du rappel a échoué, le problème est urgent ! ! !
Le certificat utilisé pour la confirmation est le certificat de la plateforme, qui est également le dernier en date.
Solution :
Problème résolu ! ! !
Mon problème est que parce que j'utilise la méthode du framework pour obtenir les paramètres dans le corps, l'ordre des champs dans les paramètres du corps n'est pas cohérent avec celui envoyé depuis WeChat (je me suis inspiré d'un article sur l'implémentation de Java), voici un point fort Il est recommandé d'utiliser le langage de programmation natif pour obtenir les paramètres. Notre méthode PHP est file_get_contents("php://input");
Remarque : Le base64_decode de la signature WeChat est décodé en caractères tronqués. parce que la signature WeChat est fausse. C'est comme ça
De toute façon, les problèmes tels que les certificats et les numéros de série sont exclus.
Le commentaire est la façon dont j'ai initialement obtenu les paramètres et. construit la chaîne de signature. Maintenant, la vérification est réussie en utilisant la méthode native
J'espère que cela aidera tout le monde.
Ce qui précède est le contenu détaillé de. pour plus d'informations, suivez d'autres articles connexes sur le site Web de PHP en chinois!