在弄微信JSAPI支付接口时,发现一个问题,就是在苹果的手机上,发现微信会提示一个错误,而在安卓上没有提示这个错误。
错误提示:
微信支付调用JSAPI缺少参数:timeStamp
一开始,我因为是命名的大小写问题?
我就去看了一下调用微信支付的地方,我发现明明就有这个参数,怎么就提示缺少了呢。
在经过了一方面的了解之后,我发现这个时间戳是用time()生成的,而在生成的json格式中,发现时间戳是没有引号("")包含的。
新版的JSAPI接口地方,对于不同版本的接口,可能这个有所不同,请自己查看,反正就是“生成jsapi支付请求json”的地方。
新版的路径如下:
修改WxPay.JsApiPay.php文件中GetJsApiParameters方法,其中的timeStamp应该是字符串类型。
解决方法:
将时间戳转换成字符串
.toString() 方法转化