收藏
回答

H5支付统一下单 签名错误,用工具效验是可以通过的

<xml>

  <appid>wx54773fb3f2dc8951</appid>

  <mch_id>1439169402</mch_id>

  <nonce_str>c024d58ad478410893cbbe4da74c9f4a</nonce_str>

  <sign>E29050961B4B9D5BAAA5C2A2C0EFBC09</sign>

  <sign_type>MD5</sign_type>

  <body>充值卡</body>

  <out_trade_no>JY20180704174709666</out_trade_no>

  <total_fee>100</total_fee>

  <spbill_create_ip>123.12.12.123</spbill_create_ip>

  <trade_type>MWEB</trade_type>

 {"h5_info": {"type":"Wap","wap_url": "https://pay.qq.com","wap_name": "教育充值"}}

</xml>




请问 这个到底怎么回事,是商户Key 的问题么?

最后一次编辑于  03-13  (未经腾讯允许,不得转载)
邀请回答
复制链接收藏投诉关注问题回答

2 个回答

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

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

    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-13
    赞同
    回复
  • 金玉在外
    金玉在外
    03-14

    问题是一样的。。。请问解决了嘛

    03-14
    赞同
    回复