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