欧美精品乱码久久久久久,色狠狠久久AV五月综合伊人久久,亚洲v国产v天堂a无码久久,欧美日韩在线不卡一区二区

查看詳情

微信公眾號支付提示調用JSAPI缺少參數:timeStamp的解決方案

最近在調試微信公眾號支付時遇到了一個比較詭異的問題,在安卓手機上完全正常,但是同樣的代碼在蘋果設備上就不行,服務器上是PHP的環境,iphone和ipad都測試過也是報同樣的錯誤調用JSAPI缺少參數:timeStamp。開始打印了一下數據發現生成的json數據中是有時間戳這個參數的,但是為什么在IOS上就不行呢。規則完全是按官方文檔規則寫的,不然Android手機上也不會順利支付了。

最后再查閱了一下官方的文檔對比了一下JSON數據發現了一點不同,下面看一下對比,官方的json格式:

{

     "appId":"wx2********fj9304",     //公眾號名稱,由商戶傳入     

     "timeStamp":"1396772858",   //時間戳,自1970年以來的秒數     

     "nonceStr":"sldjf45687fgkj9456845608gjk40", //隨機串     

     "package":"prepay_id=u43445048f45jfgddj459fd",     

     "signType":"MD5", //微信簽名方式:     

     "paySign":"SDFLJGDK45GDGBKJDLSIKFJFS56FF" //微信簽名 

}

而現有代碼生成的json格式:

{

     "appId":"wx2********fj9304",     //公眾號名稱,由商戶傳入     

     "timeStamp":1396772858,   //時間戳,自1970年以來的秒數     

     "nonceStr":"sldjf45687fgkj9456845608gjk40", //隨機串     

     "package":"prepay_id=u43445048f45jfgddj459fd",     

     "signType":"MD5", //微信簽名方式:     

     "paySign":"SDFLJGDK45GDGBKJDLSIKFJFS56FF" //微信簽名 

}

仔細看就會發現,區別就一點,官方把時間戳timeStamp作為字符串處理了,作為整型處理就不識別了,既然找到了原因那就好解決了,生成json前吧時間戳轉換為字符串就可以了。處理方案很多下面給出兩種。


//將原來的time()做如下兩種方式處理都可以 

strval(time()); //轉換為字符串類型

'"' . time() . '"'; //用引號引起來作為字符串


原創內容,轉載請注明出處:網站建設,APP開發,小程序開發請找江西居道科技有限公司,http://ykebh.com

智能建站系統代理招商
所屬分類:文章中心??????Time:2024-05-15 05:23:37??????人氣:3141
上一條記錄:FFMPEG視頻剪輯常用命令合集??|??下一條記錄:無
關閉
13517086454