一.背景介绍

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

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

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

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

二.其他重要说明

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

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

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

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

关于“手机号+机构号”(因为一个手机可能在多个机构中注册)和“会员号”的一一对应解决办法,以及用openId验证开卡和激活是否为同一会员。

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

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请求的方式通知到本地系统时,确认信息无误后再进行微信会员的激活。此时完成开卡到激活券码流程

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

  1. suunto android 跑步软件,SUUNTO APP | 自定义运动模式教程

    原标题:SUUNTO APP | 自定义运动模式教程 SUUNTO腕表本身搭载了大量预设的运动模式, 使您的腕表在运动时,实时显示最相关的数据. 现在除了腕表本身预设的运动模式之外, 您可利用 SUU ...

  2. 记录一次最坑的微信会员卡 跳转型开发时的bug errcode72011

    微信会员卡 卡券开发 php 72011 我做微信开发也好几年了,各种各样的功能都做了个遍.有时候遇到问题,多处理几次也就解决了.但是这一次,在开发微信会员卡功能的时候,遇到了一个几天都没解决的问题, ...

  3. Springboot+oauth2.0实现微信登录(oauth2.0自定义授权模式)

    1.前置准备参考 https://blog.csdn.net/qq_34190023/article/details/81133619 2.微信登录实现流程图 3.oauth自定义授权模式 上图大概描 ...

  4. 【微信小程序-原生开发】实用教程05-首页(含自定义调试模式、插入图片、图文排版、底部留白、添加本地图片)

    开始前,请先完成启动/欢迎/首屏广告页的开发,详见 [微信小程序-原生开发]实用教程04-启动/欢迎/首屏广告页(含倒计时.添加文字.rpx.定义变量和函数.读取变量.修改变量.wx.reLaunch ...

  5. 【笔记】微信开发者工具自定义编译模式(编译时,携带 指定参数 直接跳转 指定页面)

    文章目录 问题 解决 问题 发现这个神奇功能之前,一般都是在 app.json 下 pages 里将当前页面置顶,参数写死... 或是,什么都不做,繁琐的一级一级的点,直到从首页进入需要调试页面... ...

  6. C# 微信开发-----微信会员卡(一)

    这是微信的官方文档:https://mp.weixin.qq.com/wiki?t=resource/res_main&id=mp1451025283,能看懂的朋友就请不要往下看了,我是看不懂 ...

  7. C# 微信开发-----微信会员卡(三)激活会员卡

    在会员领取了会员卡之后需要做 一个跳转性激活,模式请看下图: 在创建会员卡的时候需要配置下这个参数的值: memberActivate.aspx页面代码如下: <%@ Page Language ...

  8. 微信 扫码支付模式二 开发

    概要 主要记录自己的开发流程,使用的springMVC 支付流程 引入相关依赖 <!-- 微信支付 --> <dependency><groupId>com.git ...

  9. 微信企业号第三方应用开发[二]——创建应用

    在应用套件里添加应用 当你创建完应用套件后,需要在套件配置应用,应用的信息填写如下. 基本信息: 信息项 要求及说明 应用Logo 应用的Logo,小于2M,640*640,在授权页会被用于展示. 应 ...

  10. 微信企业号第三方应用开发[一]——创建套件

    注:文中绿色部分为摘自微信官方文档 第三方应用提供给企业的是一个应用,但是应用必须在套件下创建,所以第一步是要创建套件. 注册成为应用提供商,必须输入以下信息: 信息项 要求及说明 企业Logo 应用 ...

最新文章

  1. 闲鱼亿级商品结构化背后的思考和演进
  2. ASP.NET CORE系列【一】搭建ASP.NET CORE项目
  3. python中long类型的取值范围_java基本数据类型取值范围
  4. css 垂直居中_CSS垂直居中的另类实现
  5. 修改web.conf不重启服务的方法
  6. SpringMVC的拦截器Inceptor
  7. There is no more space for virtual disk. db_ sqlserver , vmdk.You might be able to continue this ses
  8. gephi java教程_Gephi教程汇总
  9. 斐波那契数列(java)
  10. 各种开源数据库同步工具汇总
  11. latex插图\begin{minipage}强制左移\hspace命令
  12. 分享学JavaScript的第九天
  13. larval 进程管理
  14. 【svn】svn的Replacing来历及解决办法
  15. 一寸照像素和厘米的关系及换算
  16. html 条纹背景,CSS3 一组条纹背景图案
  17. Windows7系统速度慢 或是颜色校正惹祸
  18. 简单工厂、工厂方法、抽象工厂
  19. python通信达数据_Python读取通达信数据
  20. win7计算机服务启动不了,win7 32位旗舰版提示依赖服务无法启动怎么修复

热门文章

  1. 千峰JAVA逆战班Day32
  2. SFUD | 一款串行 Flash 通用驱动库
  3. 深入学习区块链的隐私保护(四)秘密共享
  4. 北大元培学院数学与计算机,通识教育试验的尴尬 北京大学元培学院近距离观察...
  5. deeplinux 热点_在deepin linux系统中连接无线的同时开启热点(即网络共享)的步骤
  6. Tensorflow 版本切换与 slim 问题
  7. 测试知识总结1 —— 测试的分类
  8. [附源码]PHP计算机毕业设计小斌美食网站(程序+LW)
  9. java excel 打不开_Java使用POI生成Excel文件后打不开的问题
  10. 【深度学习6】对比学习(Contrastive Learning)入门