添加卡券--签名错误
发布于 7 年前 作者 qgong 15287 次浏览 来自 问答

使用小程序添加卡券功能,一直报签名错误,使用debug测试的签名是一致的,api_ticket 公众号 小程序的都试过了 ,依然报错。成功的兄弟,麻烦指点一二

4 回复

感谢感谢

终于搞定了,

  1. 检查获取当前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查看一下,报错一直报签名错误,一直以为是签名真的错了,原来上传的数据一直是空。。。

我也遇到这个问题了,签名和官方提供的校验工具得出的签名结果一致,但是依然报签名错

上边的描述都对,但还是报签名错误,怎么解决呢?

回到顶部