评论

小程序发券插件签名报错排查指引

小程序发券插件签名报错排查指引

本文章主要协助开发者定位调起支付分小程序(订单详情)返回商户签名验证失败的问题,大家可根据以下步骤逐步排查。

步骤一、使用的签名方式不正确

检查使用的签名方式是否为HMAC-SHA256。

小程序发券插件接口使用的是V2接口规则,且签名方式只能是HMAC-SHA256,很多人误以为是V3而直接用了RSA的签名方式,所以这里导致很多商户都搞错了

步骤二、使用的密钥和商户号不正确

1.1.检查使用的密钥是不是APIv2密钥,有很多人都用的是APIv3密钥从而导致出现签名验证失败的问题

1.2.检查商户号与APIv2密钥是否匹配,且要使用发券商户号的APIv2密钥,如怀疑密钥错误,又担心影响其他接口,有以下两种方式处理:

  • 看看能否用同样的商户号和APIv2密钥测试V2版本任意接口或检查线上已有相关V2的业务在正常运行,则代表APIv2密钥没问题
  • 可以尝试设置与原先设置的一样的密钥,重置密钥之前建议严格按照APIv2密钥更换指引进行处理,避免线上业务受影响

步骤三、生成签名原串的参数和实际请求参数不一致

检查生成签名串的参数与实际发起请求的参数是否一致

步骤四、发起请求时参数的大小写不正确

检查发起请求时参数是否和文档要求一致,参数名严格区分大小写,参数名不正确也会导致签名验证失败

步骤五、核实请求参数编码或生成签名串编码是否正确

5.1检查请求参数的编码和生成签名串的编码是否为UTF-8,微信支付侧要求请求参数的编码和生成签名串时的编码都统一设置为UTF-8

5.2.检查签名原串是否存在被URLencode编码的参数,微信支付要求签名原串需使用参数的原值进行签名

附录:

1、SDK与相关API规则介绍

2、服务端签名报错排查指引

3、客户端签名报错排查指引



最后一次编辑于  2023-10-25  
点赞 0
收藏
评论
登录 后发表内容