收藏
回答

小程序支付报错:支付签名验证失败

小程序支付一直报错,支付签名验证失败。商户参数都检查过了,签名也用工具验证过了。代码如下,求大佬指点

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

8 个回答

  • 微信支付技术助手2
    微信支付技术助手2
    2019-06-13

    您好

    支付验证签名失败一般有两个原因:

    1,签名时的KEY值不正确,需要商户确认KEY值是正确的。

    2,下单和调起支付的签名类型不一致或调起支付的签名参数和文档不一致。


    友情提示:为了保护商户信息,请勿将您的商户私密参数发布在任何平台区域,感谢您对微信支付的支持。


    2019-06-13
    有用
    回复 2
    • yan
      yan
      2019-06-13

      前端调用wx.requestPayment返回签名验证失败也是这两个原因吗


      2019-06-13
      回复
    • 天苗
      天苗
      2019-06-13

      key都检查过了,spbill_create_ip这个参数不对会报这个错误么


      2019-06-13
      回复
  • 东风快递
    东风快递
    09-08

    签名类型不一致造成的。

    微信官方SDK中的 "统一下单(unifiedOrder)" 方法使用的默认签名类型是HMAC-SHA256;

    生成小程序需要的参数时,签名类型要跟下单时的一致。

    09-08
    有用 1
    回复
  • 🐑
    🐑
    03-23

    注意 统一下单接口的 nonce_str 和 第二次签名里面的 nonce_str的值 要保持一致!!!wx.requestPayment 发送的时候也是一样!!! 还有timeStamp


    03-23
    有用
    回复
  • 云卷云舒
    云卷云舒
    2019-07-03

    我也遇到这个问题,签名验证通过,但是还是返回签名错误,但是重置key后恢复正常,并且隔十几天又会出现。楼主解决了吗?

    2019-07-03
    有用
    回复
  • 天河决裂
    天河决裂
    2019-06-21

    是不是用的微信提供的demo程序,注意加密方式,微信提供的demo里面是 SHA256,

    2019-06-21
    有用
    回复 2
    • 天苗
      天苗
      2019-06-24

      是的,解决了。谢谢

      2019-06-24
      回复
    • 陈承兴18086164603
      陈承兴18086164603
      2019-07-15回复天苗
      麻烦问一下,怎么注意加密方式,可以告知正确的加密方式吗?
      2019-07-15
      回复
  • 的米_DiMi
    的米_DiMi
    2019-06-20

    签名错误,可以从两个方面来检查,一个是 post 的字段中有没有特殊字符,造成 xml 解析时被转义了。

    另外就是 商户号,appid,apiKey 这三者是不是匹配,因为进行 MD5 Hash 生成 signature 时,用到的 apiKey 是与这几项相关联的,特别是在多商户时,容易张冠李戴。


    MD5 Hash 生成签名 signature 的原理,是先连接产生一个源字符串:key1=value1&key2=value2....&key=apiKey,其中,apiKey是不进行传送的。所以要保证你使用的 apiKey 和微信支付后台使用的 apiKey 是一致的。另外就是组合源字符串,是经过 xml 编码的,如果含有特殊字符,有可能你生成的源字符串,与微信支付后台通过解析你的 post 数据后,生成的源字符串不同,最终导致 商户系统生成后提交的 signature 与 微信支付后台接收数据后组合生成源字符串后生成的 signature 不同。

    2019-06-20
    有用
    回复
  • 是的,我是胖子
    是的,我是胖子
    2019-06-14

    问下   这个问题解决了吗?

    2019-06-14
    有用
    回复 4
    • 天苗
      天苗
      2019-06-14

      没有。。。

      2019-06-14
      1
      回复
    • 是的,我是胖子
      是的,我是胖子
      2019-06-14

      我这边好了  是因为前端人员传值的时候  传错了!     如果你检查之后没问题的话  可以去商户号里产品中心配置下授权目录

      2019-06-14
      回复
    • 陈承兴18086164603
      陈承兴18086164603
      2019-07-15
      可以问下是传什么值传错了吗?
      2019-07-15
      回复
    • Time
      Time
      2019-10-06
      你好 商户号里产品中心配置下授权目录这边的操作是为了检测什么呢
      2019-10-06
      回复
  • yan
    yan
    2019-06-13

    可以试试重置apikey,后台代码报签名错误好像可以解决,但是前端报验证签名错误重置过就没有效果

    2019-06-13
    有用
    回复 17
    • 天苗
      天苗
      2019-06-13

      重置过了,不行~是前端小程序报的

      2019-06-13
      回复
    • yan
      yan
      2019-06-13

      跟我一样的情况,我现在也是遇到前端报这个错误,解决了也告诉我一下呗

      2019-06-13
      回复
    • 天苗
      天苗
      2019-06-13回复yan

      好的,头疼ing

      2019-06-13
      回复
    • yan
      yan
      2019-06-13

      你是前端调用wx.requestPayment接口时报的失败吗


      2019-06-13
      回复
    • 天苗
      天苗
      2019-06-13回复yan

      是的,小程序调支付,报支付验证签名失败

      2019-06-13
      回复
    查看更多(12)
登录 后发表内容