微信公眾號支付簽名驗證錯誤chooseWXPay:fail

最近用nodejs開發(fā)微信公眾號支付功能后臺,明明后臺已經(jīng)簽名校驗成功了(簽名相關(guān)可參照我的上一篇文章),支付的prepay_id都已經(jīng)拿到了,但是返回給H5,H5調(diào)起微信支付面板時一直報chooseWXPay:fail,關(guān)鍵是android機(jī)閃了下支付面板,然后就沒了,連個錯誤彈框都沒,而ios就彈支付簽名驗證失敗,搞了我大半天,才搞定。

通過微信https://api.mch.weixin.qq.com/pay/unifiedorder接口成功返回prepay_id, nonce_str, sign 等參數(shù),然后將這些參數(shù)返回給H5,h5調(diào)微信支付接口,然后就一直報支付簽名驗證失敗了。

1.我的問題是,微信接口返回的 簽名(sign) 不能直接給h5,需要再次簽名?。。。?/b>(https://pay.weixin.qq.com/wiki/doc/api/jsapi.php?chapter=7_7&index=6

h5調(diào)起微信支付參數(shù)

再次簽名:paySign=MD5(appId=${appid}&nonceStr=${nonceStr}&package=prepay_id=${prepay_id}&signType=MD5&timeStamp=${timeStamp}&key=${key}).toString().toUpperCase(); ? 得到簽名paySign連同timeStamp,appid,nonceStr一并返回給H5,

需要注意的是:再次簽名中的時間戳是秒,timeStamp中的S是大寫,而H5請求支付時timestamp中的s是小寫

2.當(dāng)然,有些人時因為支付授權(quán)目錄配置錯誤,需要檢查h5支付授權(quán)目錄是否正確,網(wǎng)上很多說是要配置到二級或三級目錄,但發(fā)現(xiàn)它們的開發(fā)配置文檔是之前的,8月1號后支付都移到微信支付平臺了,而且官方也沒提示要配置到二級或三級了,估計這個也坑了很多人,我這邊情況就配置了審核過的域名,這個應(yīng)該要根據(jù)項目而定。這塊我沒遇到問題就不寫,怕寫得不對就埋坑了。

H5支付授權(quán)目錄配置
最后編輯于
?著作權(quán)歸作者所有,轉(zhuǎn)載或內(nèi)容合作請聯(lián)系作者
【社區(qū)內(nèi)容提示】社區(qū)部分內(nèi)容疑似由AI輔助生成,瀏覽時請結(jié)合常識與多方信息審慎甄別。
平臺聲明:文章內(nèi)容(如有圖片或視頻亦包括在內(nèi))由作者上傳并發(fā)布,文章內(nèi)容僅代表作者本人觀點(diǎn),簡書系信息發(fā)布平臺,僅提供信息存儲服務(wù)。

相關(guān)閱讀更多精彩內(nèi)容

友情鏈接更多精彩內(nèi)容