1. 程式人生 > >JAVA 微信支付過程中,支付驗證簽名失敗。

JAVA 微信支付過程中,支付驗證簽名失敗。

       如果提示支付驗證簽名失敗,立馬進入這裡:https://pay.weixin.qq.com/wiki/doc/api/jsapi.php?chapter=20_1  用官方提供的驗籤工具去檢查你的簽名是否和伺服器的一樣,如果不一樣,就一步步照著他的去檢查,看是加簽過程出了問題還是你的XML有問題。

       如果你的加簽結果和他的一樣,那就說明是引數有問題。再次確認一下配置的引數。

      然而最關鍵的是,我的解決辦法是 在提交支付的地方 加了個引數 key=商戶安全Apikey.

     好了,問題解決了,熬夜23:11.一次無意間的嘗試,讓我重生了。

看到別的地方發的一個評論,才引起了我的注意:請大家參考:

        微信支付 v3 版,出現了簽名驗證錯誤。需要注意的幾點:

       1.html 中的 timestamp s 是小寫,在後臺中生成 paySign 加密字串中的 timeStamp S是大寫。

       2. html 中的 ‘時間戳’ 隨機字串任意,跟後臺獲取 prepay_id 的引數沒有任何關係。

       3.html 中只需要後臺收到的一個引數 prepay_id 需要加入 paySign 的加密字串中。

       4.最重要要的一點 最重要的一點 paySign 還要拼接API金鑰,這個金鑰需要加入商戶在商戶平臺上設定的 KEY !