调用统一下单接口,一直返回签名错误,已经检查了各个参数,api密钥(不是apiv3密钥),编码是utf8
下面的是提交参数
< xml > < appid > <![CDATA[wx9956cdd9a1c979fb]]> </ appid > < attach > <![CDATA[10042_51]]> </ attach > < body > <![CDATA[GD-190810-001]]> </ body > < mch_id > <![CDATA[1545041241]]> </ mch_id > < nonce_str > <![CDATA[b4de8fcf1854455b91c39e46f404c233]]> </ nonce_str > < notify_url > <![CDATA[http://www.demo.com/tmpay/cb/wechat/10042/51/payed]]> </ notify_url > < out_trade_no > <![CDATA[FWJS19081010042017750105117946]]> </ out_trade_no > < product_id > <![CDATA[FWJS19081010042017750105117946]]> </ product_id > < sign > <![CDATA[C32B5A14452B8A45694D494BB41F3F2A]]> </ sign > < spbill_create_ip > <![CDATA[127.0.0.1]]> </ spbill_create_ip > < time_expire > <![CDATA[20190819110118]]> </ time_expire > < time_start > <![CDATA[20190819105118]]> </ time_start > < total_fee >1</ total_fee > < trade_type > <![CDATA[NATIVE]]> </ trade_type > </ xml > |
下面的是签名校验工具验证结果
接口一直返回:
< xml >< return_code > <![CDATA[FAIL]]> </ return_code > < return_msg > <![CDATA[签名错误]]> </ return_msg > </ xml > |
在尝试重新设置api密钥,检查商户id,编码问题后,仍然是返回签名错误,这个问题该怎么查?
妈的有传attach就报签名错误 整不明白咋传
请问解决了吗
请问题主是否已经解决吗,遇到相同问题,签名校验工具验证相同,参数对比没有错误,api密钥修改了几次,还是报签名错误
请问问题解决了吗? 我也遇到同样的问题
请问 :您的问题解决了吗 ? 我也遇到这个问题了。
统一下单签名错误
你好,请按照以下几点仔细检查:
1) 使用微信的在线签名工具检查签名是否和程序生成的一致
https://pay.weixin.qq.com/wiki/doc/api/micropay.php?chapter=20_1 签名工具用谷歌打开。
选择MD5,XML,然后把请求参数xml放进去,就能校验签名。
2)如果和微信的在线签名工具一致,说明程序没有错误,确定是API密钥错误(被别人改动或者记错了)
在商户平台的账户信息中更改API密钥(账户设置-安全设置-API安全), 15分钟后生效
2.1)统一下单用的是A商户号,也必须是A商户号登陆商户平台设置key才对。
2.2)要注意统一下单请求参数中total_fee参数的类型是int类型。
3) 如果和微信的在线签名工具不一致,说明程序有错误,常见的错误可能是:
3.1) 编码问题,确保所有的都是utf-8的. 如果有中文, 可以先把中文改成英文重新签名,看是否签名错误,如果英文不会错中文才会错,基本肯定是编码问题
3.2:)消息中字段大小写和文档中完全一致
4 )统一下单和调起支付签名类型需要一致。
参数的类型和格式,长度限制需要完全符合文档的要求
你好,检查后,签名工具校验一致,使用的是Administrator登录的,所有参数都检查过是正确的,有中文喝没中文情况下,用utf8编码测试过都是报签名错误: