微信支付服务商,微信小程序支付,签名错误,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:关于支付签名验证失败
- 大部分出在二次加密的时候,往上翻,查看第四部分(二次加密),判断加密时参数是否使用错误。