計算簽名時,商戶號、商戶API證書、商戶API證書的序列號是一一對應(yīng)的關(guān)系,出現(xiàn)該報錯表示三者關(guān)系不匹配,你可以按照以下方式排查:
(1)計算簽名的時候用的是商戶API證書而不是平臺證書,請確認你沒有弄錯證書
如何下載商戶API證書 (opens new window),下載后可以看到商戶API證書(apiclient_cert.pem)和商戶API私鑰(apiclient_key.pem),而平臺證書(wechatpay.pem)是要通過工具或者接口下載的,用于驗證簽名的,參考如何下載平臺證書 (opens new window)
(2)確認你使用的商戶API證書(apiclient_cert.pem)和證書序列號是一致的,可以用openssl命令行工具查看證書序列號
1openssl x509 -in apiclient_cert.pem -noout -serial
你會得到商戶API證書序列號
1serial=1DDE55AD98ED71D6EDD4A4A16996DE7B47773A8C
(3)確認你的商戶號和商戶API證書也是匹配的,可以用openssl命令行工具查看證書對應(yīng)的商戶號
1openssl x509 -in apiclient_cert.pem -noout -text | grep -o 'CN=[0-9]*' | sed 's/CN=//'
你會得到商戶號
11900007291