收藏
回答

小程序发商家券报签名错误

问题类型 插件 AppID 插件版本号 AppID 操作系统 微信版本 基础库版本
Bug wxf3f436ba9bd4be7b 1.1.7 wx8cb0c4d00fe88feb iOS 7.0.22 2.14.4

签名校验是通过的但是到了小程序里就报签名错误

这是小程序的代码

<send-coupon
  bindcustomevent="getcoupon"
  send_coupon_params="{{send_coupon_params}}"
  sign="{{sign}}"
  send_coupon_merchant="{{send_coupon_merchant}}"
>
  <!-- 内部为自定义代码,按钮点击部分的代码写在这里 -->
  <!-- [[以下为示例代码 -->
  <view class="text">领取</view>
  <!-- 以上为示例代码 ]] -->
</send-coupon>

data: {

send_coupon_params:[

{"out_request_no":"123456","stock_id":"12xxxxxxxx00239"},

],

sign:"A63BD1C722F29680xxxxxxxxxxxxxxxxE71945C326CE56ED77CC",

send_coupon_merchant: "898xxxxxxx71430",

},

getcoupon: function(params) {

// 插件返回信息在params.detail

debugger

console.log('getcoupon', params)

//console.log('detail', params.detail)

}

值也能传过去,而且秘钥是我刚重置的还是不行
而且下面都进行排查了
1、签名用的是HMAC-SHA256,而且用微信自带的校验工具验签成功
2、秘钥是我重置的不会有问题的
3、签名顺序我是复制文档里的发一张商户券的。后标为0
4、签名如果有问题验签也不会过呀
5、如果你用的是服务商下的子商户创建的商家券的话,签名的商户id必须是服务商的才行,因为秘钥在服务商下,而非子商户。


这些也进行严格意义都排查,就是说sign 错误

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

3 个回答

  • 支付社区运营
    支付社区运营
    2021-01-22

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

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

    2、确认秘钥是否有误,要使用发券商户号的秘钥,秘钥是在商户平台配置,如果不确定密钥是否正确,可以尝试设置与原先设置的一样的密钥。密钥设置指引请参考: https://kf.qq.com/faq/180830UVRZR7180830Ij6ZZz.html 

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

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

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

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

    2021-01-22
    有用
    回复 1
    • 小邓
      小邓
      2021-02-22
      小程序发商家券的apiv2的签名是要几个参数阿?
      2021-02-22
      回复
  • 2021-08-10

    请问解决了?

    2021-08-10
    有用
    回复
  • 小邓
    小邓
    2021-02-22

    大佬,你那个签名方法是怎么写的,我想看看

    2021-02-22
    有用
    回复
登录 后发表内容
问题标签