establecer marca de tiempo
Cuando trabajaba en la interfaz de pago WeChat JSAPI, encontré un problema. En los teléfonos Apple, WeChat mostrará un error, pero en Android, este error no aparecerá.
Mensaje de error:
Falta el parámetro llamado JSAPI por WeChat Pay: timeStamp
Al principio tuve un problema con las mayúsculas del nombre
Fui a ver el lugar donde se llama el pago de WeChat y descubrí que este parámetro claramente estaba allí, pero ¿por qué me preguntaron que faltaba? Después de comprender un poco más, descubrí que la marca de tiempo se generó usando time () y, en el formato json generado, descubrí que la marca de tiempo no estaba entre comillas ("").
La nueva versión de la interfaz JSAPI. Para diferentes versiones de la interfaz, esto puede ser diferente. Compruébelo usted mismo. De todos modos, es el lugar donde "genera json de solicitud de pago jsapi".
La ruta de la nueva versión es la siguiente:
Modifique el método GetJsApiParameters en el archivo WxPay.JsApiPay.php para que el timeStamp sea de tipo cadena.
Solución:
Convertir marca de tiempo en cadena
$timeStamp = strval(time());