微信公众号支付调用chooseWXPay提示“errmsg choosewxpay fail”
微信公眾號(hào)支付一直提示“errmsg choosewxpay fail”,也沒有提示具體錯(cuò)誤信息,簽名沒有問題(簽名驗(yàn)證地址:https://pay.weixin.qq.com/wiki/doc/api/micropay.php?chapter=20_1),支付目錄設(shè)置也沒有問題,因?yàn)橛玫氖俏⑿盘峁┑膕dk,所有重點(diǎn)檢查了sdk的具體流程,發(fā)現(xiàn)了原來是sdk簽名使用的加密算法問題。
根據(jù)微信支付的業(yè)務(wù)流程,支付主要有兩個(gè)步驟:1 后臺(tái)調(diào)用統(tǒng)一下單接口獲取prepay_id,2 前端再調(diào)用js函數(shù)chooseWXPay拉起支付,這兩個(gè)流程都需要用到簽名
sdk下載地址:https://pay.weixin.qq.com/wiki/doc/api/micropay.php?chapter=11_1,使用的java版本的sdk,默認(rèn)調(diào)用統(tǒng)一下單接口的加密是HMACSHA256,而前端js調(diào)用chooseWXPay的加密算法只支持MD5,兩次的加密算法不一致也導(dǎo)致提示錯(cuò)誤信息“errmsg choosewxpay fail”,具體也不知道這兩個(gè)流程的加密算法有什么關(guān)聯(lián),微信也不說明。
sdk文件WXPay.java中默認(rèn)為HMACSHA256,都修改為MD5調(diào)用支付接口了
?
后面根據(jù)錯(cuò)誤原因針對(duì)性的查了一下微信支付HMACSHA256還是有其他同學(xué)發(fā)現(xiàn)了這個(gè)問題,http://blog.csdn.net/neverneverstops_/article/details/77067169,只是大家搜索的時(shí)候一般都是搜索“errmsg choosewxpay fail”、簽名錯(cuò)誤等,查到的都是簽名錯(cuò)誤、支付目錄設(shè)置問題等等。
?
轉(zhuǎn)載于:https://www.cnblogs.com/jaamy/p/7645377.html
總結(jié)
以上是生活随笔為你收集整理的微信公众号支付调用chooseWXPay提示“errmsg choosewxpay fail”的全部內(nèi)容,希望文章能夠幫你解決所遇到的問題。
- 上一篇: 春卷皮哪里可以买到 寻找春卷皮的好去处?
- 下一篇: 西安回阿克苏克孜尔魔鬼城要多长时间