微信支付服務商,微信小程序支付,簽名錯誤,CDATA[簽名錯誤]解決方法
1:服務商和普通的商戶支付在代碼上沒有太大差異(不同的是上傳的參數,而且微信支付服務商參數上比較難找,官方文檔又太簡潔,所以很容易搞混),代碼請請點擊這裏查看
2:先看幾個比較重要而且容易搞混的參數
- 服務商的appid
就是你註冊成爲服務商的公衆號appid - 商戶號mch_id
登錄微信支付服務商平臺可以查看。點我去查看 - 小程序的appid(sub_appid)
登錄微信公衆平臺可以查看。點我去查看 - 子商戶號sub_mch_id
登錄微信支付服務商平臺可以查看。點我去查看
3:一直報CDATA[簽名錯誤]
- 這個問題大部分出在你的key值上面,這個是服務商的key,而不是在做普通商戶支付裏面用的那個key,不要搞混,否則會一直報簽名錯誤。怎麼去找呢?點擊這裏去查看。
- 輸入了正確的key值還是報簽名錯誤?這個和微信支付有關,算個bug吧,你可以重置一兩遍key值(領導或掌管祕鑰的人不同意?這個可以重置成和原來一模一樣的key值,不會對原來使用過此祕鑰的地方產生影響。),就可以使用了。
4:再一個容易出錯的地方就是二次加密,先看一下比較重要而且容易搞混的參數(相對於普通商戶支付)
- 小程序id(appId)
在微信支付服務商裏,這裏appId指的是服務商的appid,往上翻,在本文章第二部分有獲取的方法。 - 拼接的key
這裏的key值代表微信支付服務商的key,而不是普通商戶支付的key。往上翻,在本文章第三部分有獲取的方法。
5:關於微信小程序調起支付需要的參數
- 我做的時候,小程序需要的參數,都是在二次加密(在後臺進行的二次加密,然後返回)獲取的。
- 二次加密需要的比較重要而且容易搞混的參數在第四部分(往上翻)已經說明了,代碼請點擊這裏查看。更換成正確的參數即可。
6:關於支付簽名驗證失敗
- 大部分出在二次加密的時候,往上翻,查看第四部分(二次加密),判斷加密時參數是否使用錯誤。
7:![CDATA[sub_mch_id與sub_appid不匹配]
- 支付相關域名
- 特約商戶APPID配置