使用小程序添加卡券功能,一直报签名错误,使用debug测试的签名是一致的,api_ticket 公众号 小程序的都试过了 ,依然报错。成功的兄弟,麻烦指点一二
终于搞定了,
检查获取当前ticekt的appid是否为创建card_id的appid; 这里获取api_ticket要使用工作号的appid获取,因为卡券是由公众号创建的
'timestamp'=>time(),
'api_ticket'=>$api_ticket,
'card_id'=>$card_id,
'nonce_str'=>md5(time())
如果不是指的code ,指的openid的, 这四个参数参与签名就可以了
https://mp.weixin.qq.com/debug/cgi-bin/sandbox?t=cardsign 这里可以校验
3.小程序端
wx.addCard({
cardList: [
{
cardId: ‘卡券id’,
cardExt: ‘{“nonce_str”: "’+res.data.data.nonce_str+’", “timestamp”: “’+res.data.data.timestamp+’”, “signature”:"’+res.data.data.sign+’"}’
}
],
success: function (res) {
console.log(res.cardList) // 卡券添加结果
}
})
这别写错了 ,我的数据是打包回来的 res.data是打包的数据, res.data.data.nonce_str获取了服务器传回的数据,一直写成res.data,nonce_str,所以一直上传的是undefined,也没注意console.log查看一下,报错一直报签名错误,一直以为是签名真的错了,原来上传的数据一直是空。。。