收藏
回答

荣耀8X调用微信支付失败,提示签名不一致?

荣耀8X微信支付失败,其他手机均正常支付

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

1 个回答

  • 支付社区运营
    支付社区运营
    2021-03-25

    您好,请按照以下几点排查:

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

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

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

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

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

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

    如果上面的您都检查了,请按照以下几点排查:

    1、打印出您请求出去最后的数据与您工具校验正确的数据做一下对比,看是否有大小写不同,或者多余的空格

    2、拿现在的参数使用postman进行测试,排除法,避免应用层处理问题导致

    3、重置KEY

    2021-03-25
    有用
    回复 5
    • 位兴
      位兴
      2021-03-25
      校验签名算法是对的,华为mate系列都正常支付
      2021-03-25
      回复
    • 位兴
      位兴
      2021-03-25
      日志打印出来这个错误:send mm message, intent=Intent { act=com.tencent.mm.plugin.openapi.Intent.ACTION_HANDLE_APP_REGISTER (has extras) }, perm=com.tencent.mm.permission.MM_MESSAGE
      2021-03-25
      回复
    • 支付社区运营
      支付社区运营
      2021-03-25回复位兴
      不用管设备的问题,这里签名错误是跟设备没有关系的,请仔细按照排查方案检查一下这笔报错的签名问题
      2021-03-25
      回复
    • 位兴
      位兴
      2021-03-25回复支付社区运营
      假如签名错误那为什么其他手机能支付?签名不对应该全部会支付失败
      2021-03-25
      回复
    • 位兴
      位兴
      2021-03-26
      解决这个问题的方式:卸载微信重新安装即可支付,不是代码问题!!!
      2021-03-26
      回复
登录 后发表内容
问题标签