1. 程式人生 > >get_brand_wcpay_request:fail,微信公眾號支付的那點坑

get_brand_wcpay_request:fail,微信公眾號支付的那點坑

微信公眾號支付一直提示“支付驗證簽名失敗”,明明簽名沒有問題,用微信驗證簽名工具(點選開啟連結)驗證簽名也沒問題,但就是在支付的時候提示“支付驗證簽名失敗”,

我忍不住爆粗口,問題出在哪呢?微信支付需要先獲取預支付id(也就是prepay_id),然後通過prepay_id在一次請求支付,這中間有兩次加密,第一次請求微信獲取付支付id(prepay_id)使用的加密方式是HMACSHA256,在拿到預支付id(prepay_id)後請求支付又需要一次加密,而這次加密微信官方文件明確說明只能使用MD5加密

就是這裡。然後在拿到prepay_id後請求微信支付理所當然的採用了MD5加密,問題就出在這,兩次加密的方式不一樣

,但我就不明白了,雖然說第二次請求微信支付依賴prepay_id,但兩次加密是兩個不同的流程啊,應該互不影響才對啊。

不然在一次統一下單介面為什麼又給出兩種簽名方式呢?也沒有個提示說 兩次簽名方式必須保持一致。我真的是醉了。

如果解決了您的問題,麻煩動動你的小手給個贊,謝謝。