收藏
回答

APP支付提示“支付验证签名失败”,之后服务器返回结果“-2”

安卓端APP使用微信支付支付的时候提示“支付验证签名失败”,点击确定后,就返回了“-2”这个错误码,使用微信的签名工具检查了sign签名都校验通过,所有参数也按照文档对照了,但还是一直提示这个错误

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

2 个回答

  • 微信支付技术助手8
    微信支付技术助手8
    08-05

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

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

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

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

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

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

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

    08-05
    有用
    回复 9
    • 任俸仪
      任俸仪
      08-05
      按照签名工具自查了最后校验通过
      08-05
      回复
    • 任俸仪
      任俸仪
      08-05
      密钥也重新设置了三遍每一遍都重新发布测试了之后还是校验通过
      08-05
      回复
    • 微信支付技术助手8
      微信支付技术助手8
      08-05回复任俸仪
      1,确认参数编码没有造成乱码的问题
      2,确认KEY是你参数商户号的KEY,没有弄错。
      08-05
      回复
    • 任俸仪
      任俸仪
      08-05
      1.所有参数从服务器二次签名后发送到APP前端收到的都是正确的值,2.商户号的Key确认了是对的,因为里面绑定了开放平台申请的APP的APPID,而且API密钥重新设置了三遍,每遍都不一样的值,然后重新打包测试了
      08-05
      回复
    • 任俸仪
      任俸仪
      08-05
      这个跟我开放平台申请的APP是16年之前申请的有关系吗?我的APP是很久之前申请的了,然后这次测试支付就把APP里的应用签名使用新的keystore重新生成了
      08-05
      回复
    查看更多(4)
  • Becau
    Becau
    08-06

    我的也是,怎么都不行,客服一直说以上的一些问题,查的我都吐了,我想问的是难道就不能看一下后台,或是返回错误码明确一点吗

    08-06
    有用
    回复
登录 后发表内容
问题标签