收藏
回答

统一下单接口返回签名错误

调用统一下单接口,一直返回签名错误,已经检查了各个参数,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,编码问题后,仍然是返回签名错误,这个问题该怎么查?

回答关注问题邀请回答
收藏

6 个回答

  • 人生如此,拿酒来!
    人生如此,拿酒来!
    2020-10-23

    妈的有传attach就报签名错误 整不明白咋传

    2020-10-23
    有用
    回复
  • To be or not to be
    To be or not to be
    2020-04-21

    请问解决了吗

    2020-04-21
    有用
    回复
  • 喵喵
    喵喵
    2020-02-20

    请问题主是否已经解决吗,遇到相同问题,签名校验工具验证相同,参数对比没有错误,api密钥修改了几次,还是报签名错误

    2020-02-20
    有用
    回复 1
  • Fan
    Fan
    2019-09-02

    请问问题解决了吗? 我也遇到同样的问题

    2019-09-02
    有用
    回复 1
  • 周云博
    周云博
    2019-08-27

    请问 :您的问题解决了吗 ?     我也遇到这个问题了。


    2019-08-27
    有用
    回复 3
    • To be or not to be
      To be or not to be
      2020-04-21
      请问解决了吗
      2020-04-21
      回复
    • 🍇
      🍇
      2020-04-24
      没解决,这里官方的回复感觉都是机器人回复
      2020-04-24
      回复
    • Mure
      Mure
      2020-06-16
      请问你们解决了吗?
      2020-06-16
      回复
  • 微信支付技术助手1
    微信支付技术助手1
    2019-08-19

    统一下单签名错误
    你好,请按照以下几点仔细检查:

    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 )统一下单和调起支付签名类型需要一致。

    参数的类型和格式,长度限制需要完全符合文档的要求

    2019-08-19
    有用
    回复 5
    • 🍇
      🍇
      2019-08-21

      你好,检查后,签名工具校验一致,使用的是Administrator登录的,所有参数都检查过是正确的,有中文喝没中文情况下,用utf8编码测试过都是报签名错误:


      2019-08-21
      回复
    • 🍇
      🍇
      2019-08-23
      能帮忙查查吗?
      2019-08-23
      回复
    • To be or not to be
      To be or not to be
      2020-04-21
      请问解决了吗
      2020-04-21
      回复
    • Mure
      Mure
      2020-06-16
      请问解决了吗?
      2020-06-16
      回复
    • 第七个玻璃杯
      第七个玻璃杯
      2020-09-04
      请问解决了吗
      2020-09-04
      回复
登录 后发表内容