收藏
回答

公众号内H5页面。JSAPI支付。一直报错,支付签名验证失败

1.已经通过签名验证工具,验证过签名没问题。

2.返回了双SUCCESS

3.就是到前端支付时调不通。


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

3 个回答

  • 微信支付技术助手1
    微信支付技术助手1
    01-02

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

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

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

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

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

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

    01-02
    赞同
    回复 1
    • Zero 尹志阳
      Zero 尹志阳
      01-02
      你好。都已经配置成功了。
      01-02
      回复
  • Hanks🇨🇳
    Hanks🇨🇳
    01-02

    看看这个,有没有帮助

    https://developers.weixin.qq.com/community/develop/article/doc/000242e804c6186fb679e6c7652813

    01-02
    赞同
    回复 6
    • Zero 尹志阳
      Zero 尹志阳
      01-02
      已经解决了。。 JSAPI  统一下单  官方说 默认 sign方式是 MD5 ,并且 sign_type 参数非必填。但是不然。。我加上后就好了。。。
      01-02
      回复
    • Hanks🇨🇳
      Hanks🇨🇳
      01-02回复Zero 尹志阳
      我那个demo里,可没有用sign_type
      01-02
      回复
    • Zero 尹志阳
      Zero 尹志阳
      01-02回复Hanks🇨🇳
      但是我这里不写就一直报错是签名出错问题。。他默认加密模式是非MD5的。。
      01-02
      回复
    • Hanks🇨🇳
      Hanks🇨🇳
      01-02回复Zero 尹志阳
      你用的是官方的sdk改的吗
      01-02
      回复
    • Zero 尹志阳
      Zero 尹志阳
      01-02
      不是。官方的SDK是有问题的。。。WXPayUtil.generateSignature(p1,p2,p3)  第一个map参数是.... 但是请求参数中 total_fee 是Int 类型的。如果转换成string。一样有问题。。我这边就自己写了个 加密的。方法。
      01-02
      回复
    查看更多(1)
  • 吕梁军
    吕梁军
    01-02

    是不是支付授权目录没配置

    01-02
    赞同
    回复 1
    • Zero 尹志阳
      Zero 尹志阳
      01-02
      都配置了。
      01-02
      回复
登录 后发表内容
问题标签