WeChat pago api v3 notificación de pago verificación asincrónica falló PHP

Error en la verificación asíncrona de WeChat Pay v3

Aquí recibimos los parámetros (el cuerpo del mensaje) generalmente a través de la solicitud que viene con el framework.
Por ejemplo, TP6: $ this-> request-> param ();
Aquí, si usa este método de recepción, la verificación de conversión json fallará.

Necesitamos usar el método de recepción nativo: file_get_contents ('php: // input');
después de recibirlo, tome directamente estos datos para verificar la firma.
Adjunta el siguiente código:

función pública verifySign () 
    { 
        $ timestamp = "marca de tiempo en el encabezado"; 
        $ nonce = "cadena aleatoria en el encabezado"; 
        $ firma = "firma en el encabezado"; 
        $ certZs = "Certificado de plataforma"; / / $ data = $ this-> request-> param (); 
        $ data = file_get_contents ('php: // input'); 

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

        // Escuela Verifica la firma 

        si (! $ this-> verify ($ mensaje, $ firma, $ certZs)) { 
            lanzar nueva \ Exception ('verificación fallida', 123456); 
        } 
    } 123456789101112131415161718

Supongo que te gusta

Origin blog.csdn.net/ny18002122997/article/details/112915293
Recomendado
Clasificación