微信H5支付 驗籤失敗 問題

acvc225發表於2021-01-11

現在的微信H5支付貌似都是“APIv3介面規則”,所有請求需要使用證照籤名。
在安裝官方文件說明操作後,驗證簽名總是失敗,一直找不到解決辦法,發到這裡,希望路過大神指點一下!

情況如下:

在按官方文件要求的,安裝下載證照、設定商戶“APIv3金鑰”後,參照官方的文件的 開發指南–簽名生成,最終生成如下簽名驗證引數:
(地址:https://pay.weixin.qq.com/wiki/doc/apiv3/wechatpay/wechatpay4_0.shtml):
微信H5支付 驗籤失敗 問題

使用的postman來測試,返回驗籤失敗:

微信H5支付 驗籤失敗 問題

簡單說明下官方的簽名步驟

1、首先構造的請求籤名串如下(請求方法是GET,url也是固定的,時間戳,隨機字串,body為空):
微信H5支付 驗籤失敗 問題

2、使用證照籤名(官方文件的命令列實現如下):
微信H5支付 驗籤失敗 問題
官方也給出了執行簽名操作的php的程式碼片段
微信H5支付 驗籤失敗 問題
總結一下就是:將上面的構造的簽名串使用openssl_sign(簽名串,返回值,金鑰,加密方式)進行加密,返回給$raw_sign變數,然後再使用base64_encode進行編碼後就是$sign了。

3、驗證簽名:構造簽名資訊如下(其中籤名值signature就是上面編碼後的$sign,其他都直接配置):
微信H5支付 驗籤失敗 問題
按照上面的引數配置好,按照固定格式,傳送到介面地址https://api.mch.weixin.qq.com/v3/certificates進行驗證,如下:
微信H5支付 驗籤失敗 問題
另外,header頭中除了Authorization之外,還需要新增 Content-Type: application/json
Accept: application/json,這兩個值都是固定的。至此所有資料都已獲得,使用postman測試結果:
微信H5支付 驗籤失敗 問題

上面所有步驟都是按照官方文件進行測試的,各個引數都檢查無誤了,證照都重新生成了,卻始終都返回“驗籤失敗”,問題到底出在哪裡呢? 有做過這個H5支付的大神能幫分析一下嗎?

本作品採用《CC 協議》,轉載必須註明作者和本文連結

相關文章