addCard timestamp问题
发布于 5 年前 作者 laixia 10633 次浏览 来自 问答
wx.addCard({
  cardList: [
    {
      cardId: '',
      cardExt: '{"code": "", "openid": "", "timestamp": "", "signature":""}'
    }, {
      cardId: '',
      cardExt: '{"code": "", "openid": "", "timestamp": "", "signature":""}'
    }
  ],
  success: function(res) {    console.log(res.cardList) // 卡券添加结果
  }

})


timestamp时间戳与签名的时间戳一致  sha1的签名验证也正确,可还是提示签名错误
2 回复

非常感觉,已解决!

你好,addcard提示签名错误的原因主要有以下几点:

-账号问题

1.须确认当前addcard cardext传的参数都使用制券/卡的公众号参数

-ticket问题

  1. 当前调用addcard过程中参与签名的参数api_ticket过期;

  2. 参与签名的api_ticket不是属于制券/卡公众号的参数

-签名方法错误

    1.签名算法请参考:mp.weixin.qq.com/wiki 【微信网页开发】-【附录4】

2.可以使用签名校验工具校验:https://mp.weixin.qq.com/debug/cgi-bin/sandbox?t=cardsign

-参数错误

    1.addcard参数中传入了多余的参数,如openid或者code【这两个参数仅特殊的卡券才需要传入,分别是指定用户领取和自定义code卡券】

-参数不对齐

    1.addcard内cardext传入的参数和参与签名的参数不对齐

回到顶部