微信支付:服务器(Java)统一下单获取prepay_id成功,前端公众号里调用jsapi提示支付验证签名失败
昨天折騰一宿,就是因為這個問題:
微信支付:服務(wù)器統(tǒng)一下單獲取prepay_id成功,前端公眾號里調(diào)用jsapi提示支付驗證簽名失敗(簽名工具測試簽名正確)
先說出問題原因:統(tǒng)一下單使用的微信支付官方下載的demo的Java版,https://pay.weixin.qq.com/wiki/doc/api/jsapi.php?chapter=11_1
這個demo里統(tǒng)一下單使用的簽名方式是HMAC-SHA256,而頁面簽名方式用的https://pay.weixin.qq.com/wiki/doc/api/jsapi.php?chapter=7_7&index=6
這里默認的是簽名方式是MD5,前后兩個簽名方式不一致導(dǎo)致的“支付驗證簽名失敗”。
解決方法:前后兩個簽名方式調(diào)成一致,同時用MD5或同時用HMAC-SHA256。
注意事項:回調(diào)的時候也用一致的簽名方法!!
感悟:明明是在線簽名工具簽名正確了的,明明是默認sign_type就是MD5的,但是誰想到還有前后簽名不一致這一說,不說坑不坑的事了,昨天因為找不到原因,眼睛瞪成銅鈴大把代碼、公眾號、商戶號,CSDN上相關(guān)文檔翻了個底朝天,也算有所收獲吧,至于有的文檔里說把密鑰重置一下就可以了什么的,大約是大家的笑談吧。
?
?
?
總結(jié)
以上是生活随笔為你收集整理的微信支付:服务器(Java)统一下单获取prepay_id成功,前端公众号里调用jsapi提示支付验证签名失败的全部內(nèi)容,希望文章能夠幫你解決所遇到的問題。
- 上一篇: 2012年1月份第3周51Aspx源码发
- 下一篇: 【教程】谷歌浏览器移到其他盘之后,本地网