1. 程式人生 > >微信公眾號支付簽名驗證錯誤chooseWXPay:fail

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

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

通過微信https://api.mch.weixin.qq.com/pay/unifiedorder介面成功返回prepay_id, nonce_str, sign 等引數,然後將這些引數返回給H5,h5調微信支付介面,然後就一直報支付簽名驗證失敗了。


h5調起微信支付引數

再次簽名: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.當然,有些人時因為支付授權目錄配置錯誤,需要檢查h5支付授權目錄是否正確,網上很多說是要配置到二級或三級目錄,但發現它們的開發配置文件是之前的,8月1號後支付都移到微信支付平臺了,而且官方也沒提示要配置到二級或三級了,估計這個也坑了很多人,我這邊情況就配置了稽核過的域名,這個應該要根據專案而定。這塊我沒遇到問題就不寫,怕寫得不對就埋坑了。


H5支付授權目錄配置