微信卡券之众多坑总结(Java)---优惠券

1.建议一个字一个字读微信文档,从头到尾,不要只看卡券那一栏

https://developers.weixin.qq.com/doc/offiaccount/Cards_and_Offer/Redeeming_a_coupon_voucher_or_card.html#5

 

2.公众号、小程序、开发平台(拿到unionId)记得绑定起来

 

3.公众号:开发-基本配置

    3.1 设置白名单(IP请去找运维拿到对外的公网IP)

    3.2 设置不要修改密码,一定不要,请全局搜索 代码或者公司的文档

    3.3 设置服务器配置--->URL:接收微信回调,注意接口需要支持GET和POST请求,get用来验证服务器,post用来接收事件通知,但是只能配置一个URL;

 

4.创建卡券

   4.1 注意微信文档里面很多字段过时了(比如各种URL,center_url等,所有卡券,除了会员卡之外都只能跳小程序了,H5的URL在2019年8月下掉了),并且报错只会报json错误,各种券类型都有独特的字段,不要设置错了

   4.2 注意跳转时,小程序的path后面自动会带有加密的code,用来支持H5的URL自动拼code的逻辑,不用担心拿不到code

   4.3 微信卡券优惠券在卡包列表的背景图不能设置,在社区问,回答是:

建议咨询BD或者weixincard(微信卡包)<[email protected]>

微信卡券之众多坑总结(Java)---优惠券

5.AccessToken、apiTicket设置

    5.1: accessToken请单独用中控服务器(单独的后端、或者node服务)去获取,只保留一个入口,各个环境、前端后端都应该走这个服务,不能直接调用微信后台获取,因为同一个公众号的appid和secret会使用同一个token,如果被刷新,则其他使用者会token失效。

    5.2:微信会限制公司调用获取token接口的次数,所以需要缓存,7200秒,注意各个环境都是一个,所以可以使用一个redis,统一存各个环境的token

    5.3:apiticket也和accessToken一样,7200秒失效,需要缓存,各个环境统一;用来计算sign(签名),给前端领取卡券(addCode接口)用

 

 

 

// todo 上面是白话各种遇到的坑,后续有空补充架构图和代码