若开发者在调用addcard接口遇到签名错误时,请按照以下步骤排查错误:
Step1. 检验签名算法是否正确,开发者可以使用Chrome打开卡券签名调试工具,开发者也可以参考JS-SDK Demo中卡券的签名写法,
参见:示例代码和JS-SDK Demo
Step2.检查CardExt内的参数是否正确
-检查是否存在自定义code码的card_id没有在cardext内传入code参数,或者非自定义code模式的卡券传入了code参数,这两种情况都可能导致参数错误或者签名错误;
-检查是否存在bind_openid为true的card_id没有在cardext内传入openid参数,或者bind_openid为false的card_id的卡券传入了openid参数,这两种情况都可能导致参数错误或者签名错误;
-检查是否在cardext内传入了A、B、C、D四个参数,但是签名时却使用了A、B、C三个参数或者使用了A、B、C、D、E五个参数,这种情况一定会出现签名错误;
Step3.检查ticket是否正确/有效
-检查获取当前ticekt的appid是否为创建card_id的appid;
-检查获取当前ticket的接口是否正确,确认获取的ticket的type类型是type=wx_card;
-检查ticket是否过期/无效;
Addcard接口常见错误以及原因: