使用的pro3.0.3版本,起初后臺(tái)配置的是微信支付接口類型為V2,商戶API證書A,前端可以正常發(fā)起微信支付并付款,無(wú)任何問(wèn)題。后續(xù)因?yàn)橐玫健渡碳肄D(zhuǎn)賬到零錢》接口,所有只能升級(jí)到V3的接口方式,詭異的問(wèn)題出現(xiàn):在微信商戶平臺(tái)設(shè)置完APIv3密鑰后,繼續(xù)使用原來(lái)的商戶API證書A,一直提示“錯(cuò)誤的簽名,驗(yàn)簽失敗”,中間經(jīng)過(guò)列表的排查:
1、更換新的APIv3密鑰,失敗
2、使用微信提供的驗(yàn)簽工具,對(duì)比crmeb程序控制臺(tái)捕獲的簽名,結(jié)果顯示一致;
3、更新系統(tǒng)緩存,對(duì)比商戶ID,證書序列號(hào),秘鑰文件等等,均與后臺(tái)配置一致,依然提示簽名錯(cuò)誤;
4、使用postman調(diào)用微信官方的sdk測(cè)試,還是提示簽名錯(cuò)誤;
等作為第四步,網(wǎng)上很多人都說(shuō)很大幾率就是證書問(wèn)題了(跟微信商戶平臺(tái)的證書不一致),因?yàn)榫蛧L試重新申請(qǐng)了新的商戶API證書B,然后把新的商戶API證書B 配置到crmeb后臺(tái)的微信V3支付,再測(cè)試,一切正常,問(wèn)題解決了。
現(xiàn)在有點(diǎn)不明白的就是:如果商戶API證書A是錯(cuò)誤的,那么應(yīng)該在V2方式下,無(wú)法調(diào)起微信支付,詭異的是V2方式下使用商戶API證書A一切正常。有知道原因的可以分享一下。所以建議所有的動(dòng)作都確認(rèn)過(guò)沒(méi)問(wèn)題之后,重新創(chuàng)建一個(gè)新的證書試試,說(shuō)不定一切都好了。