收藏
回答

小程序合单下单-JS支付API 错误的签名,导致验签失败。 使用了错误的商户私钥,或签名串构造不正确

进件接口签名能通过。合单下单-JS支付API 不能通过。不知道是何缘故。求提示

一直签名错误。

{"code":"SIGN_ERROR","message":"验签失败,请检查签名\t"}

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

5 个回答

  • letitgo
    letitgo
    2020-04-14

    问题已解决。粗心导致的,子单数据少了一个层级

    2020-04-14
    有用
    回复
  • 狂奔的生蚝
    狂奔的生蚝
    2020-04-10

    遇见了一样的问题

    2020-04-10
    有用
    回复 2
    • 狂奔的生蚝
      狂奔的生蚝
      2020-04-13
      我解决了,我的是支付金额串成字符串类型的了,改成int就好了
      2020-04-13
      回复
    • letitgo
      letitgo
      2020-04-14回复狂奔的生蚝
      感谢回复,不过我的不是这个问题的。还在调试,其他接口签名都是正常的。只是这个接口签名过不去
      2020-04-14
      回复
  • 小屁孩
    小屁孩
    发表于移动端
    2020-04-10
    是不知道
    2020-04-10
    有用
    回复
  • 张喜明
    张喜明
    2020-04-10

    https://github.com/slomoo/WeiXinPay_V3

    刚趟过的坑,希望能帮到你。

    2020-04-10
    有用
    回复 1
    • letitgo
      letitgo
      2020-04-14
      感谢回复。我看了您的方法和我封装基本一致没发现问题。不过sub_orders,子单信息我看了文档上应该是数组的。
      2020-04-14
      回复
  • 微信支付技术助手8
    微信支付技术助手8
    2020-04-10

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

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

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

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

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

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

    6、接口需要使用UTF-8编码

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