收藏
回答

微信分账一直报签名错误

1,我是普通特约商户,按照https://pay.weixin.qq.com/wiki/doc/api/allocation.php?chapter=27_1&index=1文档开发。

2,我按照传入的参数可以看到支付成功,并且该笔金额被冻结,待分账状态,可是返回值一直报“签名错误”,我在签名工具中验证,却没有问题。https://pay.weixin.qq.com/wiki/doc/api/micropay.php?chapter=20_1

上传的xml如下图:

验证的结果如下图:

返回的结果如下如:

有没有高手给看看,万分感谢!

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

5 个回答

  • peng
    peng
    发表于小程序端
    2020-03-28
    1.微信支付服务商下申请的商户叫子商户,也叫特约商户。只有服务商才有分账功能。首先确认下这一点,不然后面做不了
    2020-03-28
    有用 2
    回复 5
    • 浪淘沙
      浪淘沙
      2020-03-29
      谢谢,不过我这个叫做直连商户吗?https://pay.weixin.qq.com/wiki/doc/api/allocation.php?chapter=26_1我适合这个吗?
      2020-03-29
      回复
    • 浪淘沙
      浪淘沙
      2020-03-29
      特约商户,我看了一下,我的是特约商户。https://blog.csdn.net/asa_ho/article/details/88212103,我根据这篇文章的理解是,特约商户应该具有这个权限进行分账的,不知我是否理解错误?
      2020-03-29
      回复
    • peng
      peng
      2020-03-29回复浪淘沙
      以前没注意到直连商户也可以分账,你把sub_mch_id去掉试试,直连是没有子商户的概念,https://pay.weixin.qq.com/wiki/doc/api/allocation.php?chapter=27_1&;index=1
      2020-03-29
      1
      回复
    • 浪淘沙
      浪淘沙
      2020-03-29
      谢谢,我发现了一个问题,不知道是否这个问题,我用c#开发的,我发现我上传的xml里面,其中receivers形成的json里面有个转义字符"\",原来仅仅是看输出到数据库里面的日志xml字符串,是没有这个字符的。c#使用签名的时候是不考虑这个字符的,但是上传之后,腾讯那边可能不会考虑转义字符的问题。所以,我怀疑是否因为这个转义字符的问题,造成签名验证不通过。正在想办法处理。
      2020-03-29
      回复
    • 曾軍
      曾軍
      2020-04-24回复浪淘沙
      你好。请问你的签名问题解决了吗?我也是C#,也是签名问题,怎么都过不去
      2020-04-24
      回复
  • Francis
    Francis
    2021-03-15

    服务商代子商户分账:apiKey要用服务商的apiKey

    2021-03-15
    有用 1
    回复 1
    • 清浅
      清浅
      2021-07-04
      谢谢,解决了我的问题。
      2021-07-04
      回复
  • 习静
    习静
    2020-11-03

    您好,我也是在网页验证成功,接口返回验证签名失败,请问是怎么解决的。

    2020-11-03
    有用 1
    回复 1
    • Tonight
      Tonight
      2022-04-07
      我也是请问你解决了吗
      2022-04-07
      回复
  • 假面舞客😱520
    假面舞客😱520
    2021-02-22

    我也遇到了签名错误 校验工具都是测试通过的 测试了好几天 才好使 后来发现receivers数组也要参与算法

    注意数组要单独判断处理一下

    2021-02-22
    有用
    回复
  • 微信支付技术助手8
    微信支付技术助手8
    2020-03-30

    请按照以下几点进行排查:

    1、使用签名检查工具(https://pay.weixin.qq.com/wiki/doc/api/micropay.php?chapter=20_1)校验签名算法是否有误

    2、确认秘钥是否有误(服务商模式使用服务商商户号秘钥,秘钥是在商户平台配置,如果同一商户号调用其它接口成功可排除是秘钥问题)

    3、确认接口实际的请求参数与生成签名原串的参数一致,不能增加或缺少参数(可通过打印签名原串进行排查)

    4、确认参数的大小写,参数名与接口文档一致

    5、签名原串的参数值使用原始值,不需要encode

    2020-03-30
    有用
    回复
登录 后发表内容
问题标签