微信小程序卡包wx.addcard文档缺失-ext参数说明

前言

微信小程序卡包打通文档缺失,特别是wx.addcard文档,没有对ext参数有详细的说明,可能会导致跳转卡包领取界面时,提示参数错误等问题。因为小程序卡包文档缺失的问题,我在开发过程中遇到各种问题,但是最终成功实现了小程序打通微信卡包功能,以下分享下我的经验。

 

正文

添加微信卡包,需要小程序wx.addCard组件,addCard微信文档并介绍清楚小程序卡包的ext参数,这个就是最坑的地方,完全不知道调起微信卡包的错误原因,以下具体介绍微信会员卡ext参数。

ext参数说明
nonce_str随机参数,目的用于signature签名加密使用,项目中是使用10位随机字符串
code自定义卡号,由于建卡api时use_custom_code为true,在添加卡包时必须要有卡号
timestamp时间戳,单位为秒。和nonce_str一样,用于签名加密使用。
openid

用户的微信公众号openid,这个是最最最坑的地方,必须是微信公众号的openid,不然addcard会提示参数错误。

上文提到在自建服务器维护了小程序openid和微信公众号的openid关系,通过这种方式获取到微信公众号openid

apiTicket

签名凭证,这个就是腾讯文档最骚的地方,压根没有提这个参数,加密时需要使用apiTicket。

获取ticket_api,可以从通过这个接口查询到api_ticket,使用公众号的accessToken请求。

card_id卡券id,api创建卡券时,会返回新建卡券的card_id
signature

加密签名,这个是重头戏,我是用试了N了遍,才摸清楚这个签名组成,是使用nonce_str、code、timestamp、openid、apiTicket、card_id的6个参数,多一个参数少一个参数都不行,顺序SHA加密得到的。
 

由于本文的项目使用了自定义卡号和指定用户领取,所以参数里必须指定code、openid,在我的项目里是以上7个参数,缺一不可。同时多增加一个参数,领取卡包也是提示参数错误,既不能多一个参数或者少一个参数。

由于每个人的情况,那大家会有疑问,ext都需要添加哪些参数,可以使用微信开发者调试工具。

如何判断signature加密对不对,可以使用工具调试平台测试,有这么好用的工具也不在微信文档提到,实属坑爹。

微信卡券签名校验工具

 

总结

以上是我个人总结,希望帮助到大家,如果大家对小程序打通微信卡包有疑惑,可以参考我的另外一篇文章,《小程序与微信会员卡打通教程》,全流程指导小程序打通微信卡包。

如果大家有需要接入微信卡包、微信支付,有偿为大家提供微信卡包、微信支付接入技术指导与技术支持。

评论 2
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值