Échec de la vérification asynchrone de la notification de paiement de l'API de paiement WeChat PHP

La vérification asynchrone de WeChat Pay v3 a échoué

Ici, nous recevons les paramètres (le corps du message) généralement via la requête fournie avec le framework.
Par exemple, TP6: $ this-> request-> param ();
Ici, si vous utilisez cette méthode de réception, la vérification de la conversion json échouera.

Nous devons utiliser la méthode de réception native: file_get_contents ('php: // input');
après l'avoir reçue, prenez directement ces données pour la vérification de la signature.
Joindre le code suivant:

public function verifySign () 
    { 
        $ timestamp = "horodatage dans l'en-tête"; 
        $ nonce = "chaîne aléatoire dans l'en-tête"; 
        $ signature = "signature dans l'en-tête"; 
        $ certZs = "Certificat de plateforme"; / / $ data = $ this-> request-> param (); 
        $ data = file_get_contents ('php: // input'); 

        $ message = "$ timestamp \ n $ nonce \ n $ data \ n"; 

        // École Vérifiez la signature 

        si (! $ this-> verify ($ message, $ signature, $ certZs)) { 
            throw new \ Exception ('verification failed', 123456); 
        } 
    } 123456789101112131415161718

Je suppose que tu aimes

Origine blog.csdn.net/ny18002122997/article/details/112915293
conseillé
Classement