使用的pro3.0.3版本,起初后臺配置的是微信支付接口類型為V2,商戶API證書A,前端可以正常發起微信支付并付款,無任何問題。后續因為要用到《商家轉賬到零錢》接口,所有只能升級到V3的接口方式,詭異的問題出現:在微信商戶平臺設置完APIv3密鑰后,繼續使用原來的商戶API證書A,一直提示“錯誤的簽名,驗簽失敗”,中間經過列表的排查:
1、更換新的APIv3密鑰,失敗
2、使用微信提供的驗簽工具,對比crmeb程序控制臺捕獲的簽名,結果顯示一致;
3、更新系統緩存,對比商戶ID,證書序列號,秘鑰文件等等,均與后臺配置一致,依然提示簽名錯誤;
4、使用postman調用微信官方的sdk測試,還是提示簽名錯誤;
等作為第四步,網上很多人都說很大幾率就是證書問題了(跟微信商戶平臺的證書不一致),因為就嘗試重新申請了新的商戶API證書B,然后把新的商戶API證書B 配置到crmeb后臺的微信V3支付,再測試,一切正常,問題解決了。
現在有點不明白的就是:如果商戶API證書A是錯誤的,那么應該在V2方式下,無法調起微信支付,詭異的是V2方式下使用商戶API證書A一切正常。有知道原因的可以分享一下。所以建議所有的動作都確認過沒問題之后,重新創建一個新的證書試試,說不定一切都好了。