现在碰到一个客户,
调用统一下单API
https://api.mch.weixin.qq.com/pay/unifiedorder
返回信息出现“签名错误”。
支付密钥重设了2次了
代码已经用其他公众号和商户号验证过没有错误。
就这个客户出现“签名错误”,我们用支付平台测试工具
https://pay.weixin.qq.com/wiki/tools/signverify/ 接口测试去验证
调用统一下单API
https://api.mch.weixin.qq.com/pay/unifiedorder
返回信息出现“签名错误”。
支付密钥重设了2次了
代码已经用其他公众号和商户号验证过没有错误。
就这个客户出现“签名错误”,我们用支付平台测试工具
https://pay.weixin.qq.com/wiki/tools/signverify/ 接口测试去验证
过签名没问题。确实没办法了,发邮件问腾讯客服,回答内容如下
都试了一遍,没有卵用。
如果之前没有成功的交互,首先检查程序是否错误
1. 使用微信的在线签名工具检查签名是否和程序生成的一致
https://pay.weixin.qq.com/wiki/doc/api/micropay.php?chapter=20_1 签名工具用谷歌打开。
选择自定义,然后填入所有参数和密钥
2. 如果和微信的在线签名工具一致,说明程序没有错误,确定是API密钥错误(被别人改动或者记错了)
在商户平台的账户信息中更改API密钥(账户设置-安全设置-API安全), 15分钟后生效
3. 如果和微信的在线签名工具不一致,说明程序有错误,常见的错误可能是:
3.1: 编码问题,确保所有的都是utf-8的. 如果有中文, 可以先把中文改成英文重新签名,看是否签名错误,如果英文不会错中文才会错,基本肯定是编码问题
3.2: 消息中字段大小写和文档中完全一致
已经快绝望崩溃的我,终于发现,这个客户总共2个商户号,每次进入了跟公众号无关的另外一个商户号设置支付密钥。
所以支付密钥永远都是错了。mlgb的。