Maison >développement back-end >tutoriel php >Analyse de cas d'échec de vérification de signature de rappel asynchrone de paiement Alipay APP
Cet article partage principalement avec vous l'analyse du cas d'échec de la vérification du rappel asynchrone du paiement Alipay APP. Récemment, j'ai coopéré avec IOS pour effectuer le paiement APP, et le processus de paiement a été très fluide. il est passé en une seule fois, comme le montre l'image :
Une fois qu'IOS a demandé la chaîne, il appelle directement le SDK pour lancer la demande de paiement.
Mais il y a eu un problème lors du traitement de la vérification de la signature de rappel asynchrone, -_-||, selon la méthode officielle, la vérification de la signature échouait toujours, comme le montre l'image :
$flag revenait toujours faux. Plus tard, j'ai trouvé le centre d'assistance technique d'Alipay (le service est vraiment bon). Avec le même rappel de paiement, le service client a pu vérifier la signature avec succès. . . , après avoir comparé les données de rappel du service client avec mes données de rappel local, comme indiqué dans la figure :
J'ai trouvé que PHP ajoute automatiquement un caractère d'échappement avant les caractères spéciaux dans fund_bill_list (magic_quotes_gpc dans php.ini est activé lors de la demande, et ' " sera automatiquement échappé)... Après avoir supprimé le caractère d'échappement, la vérification de la signature a réussi.
Récemment, j'ai travaillé avec IOS pour le paiement APP, et le processus de paiement a été très fluide. Selon le document officiel
, il est passé en une seule fois, comme le montre l'image :
Après qu'IOS ait demandé la chaîne, appelez directement le SDK pour lancer une demande de paiement
$flag revenait toujours faux. Plus tard, j'ai trouvé le centre d'assistance technique d'Alipay (le service est vraiment bon). Avec le même rappel de paiement, le service client a pu vérifier la signature avec succès. . . , après avoir comparé les données de rappel du service client avec mes données de rappel local, comme indiqué dans la figure :
J'ai trouvé que PHP ajoute automatiquement un caractère d'échappement avant les caractères spéciaux dans fund_bill_list (magic_quotes_gpc dans php.ini est activé lors de la demande, et ' " sera automatiquement échappé)... Après avoir supprimé le caractère d'échappement, la vérification de la signature a réussi.
Analyse approfondie du traitement de rappel asynchrone de koa
Une exception lors de l'utilisation de Redis dans un rappel asynchrone
Exemple d'encapsulation de modèle de promesse de compétences JavaScript asynchrones callback_javascript
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!