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