收藏
回答

统一下单提交后返回签名错误!!

签名字符串如下:

appid=wx47b85622676e6603&body=攀花果-早春枇杷&mch_id=1524644371&nonce_str=DB8AF2A0BC1F4ED3B764FBE6780E04A3&notify_url=http://www.panhuaguo.cn/&out_trade_no=20190311111243&spbill_create_ip=117.176.205.62&total_fee=1.00&trade_type=JSAPI&key=pan*********************************41bwr


提交数据如下:

<xml>

   <appid>wx47b85622676e6603</appid>

   <mch_id>1524644371</mch_id>

   <nonce_str>DB8AF2A0BC1F4ED3B764FBE6780E04A3</nonce_str>

   <body>攀花果-早春枇杷</body>

   <out_trade_no>20190311111243</out_trade_no>

   <total_fee>1.00</total_fee>

   <spbill_create_ip>117.176.205.62</spbill_create_ip>

   <notify_url>http://www.panhuaguo.cn/</notify_url>

   <trade_type>JSAPI</trade_type>

   <sign>4F6E9A72274DBFCEA2F3B5E899239957</sign>

</xml>


返回信息:

<xml><return_code><![CDATA[FAIL]]></return_code>

<return_msg><![CDATA[签名错误]]></return_msg>

</xml>


哪位帮解答一下!!!

最后一次编辑于  03-11
回答关注问题邀请回答
收藏

2 个回答

  • 微信支付技术助手
    微信支付技术助手
    03-11

    你好,请按照以下几点仔细检查:

    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:)消息中字段大小写和文档中完全一致


    03-11
    赞同
    回复
  • 365呼吸卫士
    365呼吸卫士
    03-18

    提交数据中的中文改成英文的就签名通过,请问中文信息在生成签名时就要转换成utf-8编码格式吗?

    03-18
    赞同
    回复