微信会员卡自定义code模式--从创建到激活

一.背景介绍

1.在原来的会员系统基础上,打通微信会员生态体系。

2.为了方便管理和使用,微信会员信息要与先前会员系统的会员信息(重点是会员号,之后会介绍)保持一致。

3.同时,根据业务的需要,将采用接口的形式来激活微信会员卡(区别于领取即激活,接口激活具有更好的应用场景)。

4.微信参考流程链接(选择里面的“开卡组件”栏)

二.其他重要说明

1.必须是认证完成的公众号才能进行微信会员卡的开发。服务号和测试公众号均不能正常开发(具体权限应该可以在公众号网页管理web中,查询到对应的开发权限)

2.须成功接收微信的领取事件推送。即须先完成微信服务器的验证和回传信息处理。

3.ip白名单。如有不对的ip,接口会返回相应的错误提示,可在公众号管理web中添加。

三.梳理一下项目整体逻辑

关于“手机号+机构号”(因为一个手机可能在多个机构中注册)和“会员号”的一一对应解决办法,以及用openId验证开卡和激活是否为同一会员。
微信会员卡自定义code模式--从创建到激活_第1张图片

四.整体微信开卡实现流程

1.创建会员卡,获取微信会员卡的card_id(一类卡的id标识,如铂金卡)
特别注意:因为本人使用的是跳转型、自定义code的开卡。故:
i.wx_activate_after_submit_url(跳转型一键激活跳转的地址链接)必填
ii.use_custom_code(商家是否自定义Code码)填true
iii.get_custom_code_mode(自定义code的模式)填“GET_CUSTOM_CODE_MODE_DEPOSIT”
iv.sku的quantity(卡券库存的数量)设置0

2.设置填写开卡信息的界面(6.2.1步骤二)

3.由于使用自定义code。故在此须向微信后台导入会员code(4.1 导入自定义code(仅对自定义code商户)),然后更新卡券的库存(6 修改库存接口)

4.获取开卡组件链接(“开卡组件”栏->4.3获取开卡组件链接接口)
特别说明:本地会员系统每同步一次会员信息到微信,请求一次改开卡组件连接。并且将本地会员系统的会员号放入到接口的“outer_str”字段中。那么在微信领卡事件通知时,可以得到openId与会员号的唯一对应。

5.微信用户使用3中获取到的url进行开卡操作。

6.在用户点击开卡的url时,微信后台会立刻发送用户领券事件:xml报文,对应的微信事件类型为“user_get_card”。
特别注意:需要在此步骤中解析xml获取“UserCardCode”。用于激活接口的code参数

7.在微信界面进入的开卡的url后,会按照2中设置的格式进行开卡信息的填写。填写完并提交后,微信会使用GET请求将信息发送到步骤 1.i 中的地址。(4.4 跳转外链参数说明)

8.获取用户开卡回传的GET请求后,将调用会员信息获取接口(6.2.1 步骤五:拉取会员信息接口)解析后可获得用户开卡填入信息。
特别注意:这里使用“机构+手机号”来进行获取到的信息更新到本地会员系统中

9.调用激活接口会员卡(6.1 接口激活)。接口中的“code”参数即是6中的“UserCardCode”。

实施建议:
1.面向前端只开出一个接口-----获取开卡链接。其中包含:
i.检测会员卡创建、开卡界面设置
ii.code导入、库存修改
iii.创建开卡链接
2.本地系统接收到微信领卡回传后,先判断是否领卡事件,在分别存储UserCardCode和OuterStr
3.用户填写完开卡信息后,微信以GET请求的方式通知到本地系统时,确认信息无误后再进行微信会员的激活。此时完成开卡到激活券码流程

你可能感兴趣的:(微信开发的一些东东)