亚洲国产精品欧美综合|婷婷五月无码中文有码|欧美系列国产一区二区|美女AV一区二区三区

查看詳情

微信公眾號支付提示調(diào)用JSAPI缺少參數(shù):timeStamp的解決方案

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

最后再查閱了一下官方的文檔對比了一下JSON數(shù)據(jù)發(fā)現(xiàn)了一點不同,下面看一下對比,官方的json格式:

{

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

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

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

     "package":"prepay_id=u43445048f45jfgddj459fd",     

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

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

}

而現(xiàn)有代碼生成的json格式:

{

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

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

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

     "package":"prepay_id=u43445048f45jfgddj459fd",     

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

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

}

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


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

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

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


原創(chuàng)內(nèi)容,轉(zhuǎn)載請注明出處:網(wǎng)站建設,APP開發(fā),小程序開發(fā)請找江西居道科技有限公司,http://xhjnt.cn

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