在弄微信JSAPI支付接口時,發現一個問題,就是在蘋果的手機上,發現微信會提示一個錯誤,而在安卓上沒有提示這個錯誤。
錯誤提示:
微信支付調用JSAPI缺少參數:timeStamp
一開始,我因為是命名的大小寫問題?
我就去看了一下調用微信支付的地方,我發現明明就有這個參數,怎么就提示缺少了呢。
在經過了一方面的了解之后,我發現這個時間戳是用time()生成的,而在生成的json格式中,發現時間戳是沒有引號("")包含的。
新版的JSAPI接口地方,對於不同版本的接口,可能這個有所不同,請自己查看,反正就是“生成jsapi支付請求json”的地方。
新版的路徑如下:
修改WxPay.JsApiPay.php文件中GetJsApiParameters方法,其中的timeStamp應該是字符串類型。
解決方法:
將時間戳轉換成字符串
.toString() 方法轉化