# 开发流程
# 1. 整体流程图
# 2. 测试上线流程
将小店和小程序绑定到同一个微信开放平台账号,可用unionid识别小店和小程序中的同一个用户,详见基本概念介绍 | 微信开放文档,小程序获取unionid的方式可参考UnionID 机制说明 | 微信开放文档
通过微信小店后台,开通会员功能,绑定唯一的会员小程序APPID。当前仅微信小店热招品牌商家可申请开通。操作路径:营销中心-小程序会员服务。开通会员功能后,功能处于「测试状态」,仅白名单用户可在店铺首页看到功能入口,跳转体验版小程序。
通过小店后台设置测试白名单,配置入会路径、会员下单权益路径,并开发所有必须接口。部分接口需要商家侧上线,并回调小店,详见微信开放平台CallBack回调机制说明:消息推送 | 微信开放文档
体验ok后,提交会员功能上线,上线需要小店管理员审批。
# 3. 前端模块划分
# 1. 会员绑定模块
- 首页展示小店会员入口
- 品牌小程序会员注册
- 拉取微信后台会员状态同步
- 首页会员信息展示更新
# 2. 下单模块
- 订单会员优惠选择
- 订单金额重新计算
- 生成订单时优惠信息同步
# 4. 详细实现步骤
# 1. 会员绑定流程
# 微信小店
- 在首页添加会员入口按钮。相关接口「1.设置关联小程序信息」
- 获取用户基础信息
- 携带用户信息跳转品牌小程序
- 监听小程序返回,拉去后台数据刷新会员状态
注意:小店跳转品牌小程序时不会携带unionid,用户打开小程序后,开发者可自行获取到当前用户的小程序 openid 和开发平台unionid。
# 品牌小程序
- 接收小店传递的用户信息
- 展示会员注册页面
- 处理会员注册逻辑
- 调用微信后台API设置会员信息,详见“会员服务-小程序API 部分”
# 2. 下单优惠流程
# 微信小店
- 在订单页面提供会员优惠选择入口
- 携带当前订单优惠信息和用户信息跳转品牌小程序
商家从 wx.getEnterOptionsSync中获取extraData,其中的gen_order_info字段如下图:(参考后台文档中“用户进入下单页获取默认会员权益”中的结构体说明)
- 接收返回的已选择会员优惠信息
- 重新计算订单金额
# 品牌小程序
- 接收订单相关的店铺优惠信息
- 展示可用的会员优惠列表
- 处理优惠选择逻辑
- 锁定优惠券额度
- 返回小店并传递选择的会员优惠信息
(参考后台文档中“用户进入下单页获取默认会员权益”中的结构体说明)
# 后台服务
- 提供订单优惠查询接口
- 记录优惠券使用情况
- 处理订单优惠计算
- 通过小店订单及售后API可查询用户是否使用了会员权益,根据订单状态对会员权益回退等,详见订单取消 | 微信开放文档,售后单更新通知 | 微信开放文档。
# 3. 小程序用接口发送数据给小店
使用postMessageToReferrerPage发送选择的会员优惠数据给小店,信息放在vip_discounted_info中。
wx.postMessageToReferrerPage({
extraData:{
vip_discounted_info: {
vip_discounted_price: 100, // 单位 分
product_infos:[], // 每一个商品的会员优惠信息
unuse_shop_discount:number // 是否叠加优惠
}
}
})
# 4. 小程序用接口退出自己,返回小店
安卓在postMessageToReferrerPage的success回调中调用exitMiniProgram退出小程序,ios如果无法退出提示can only be invoked by user TAP gesture." 可以在postMessageToReferrerPage同级调用exitMiniprogram
# 5. 会员优惠-订单API相关
- 用户使用会员下单后,订单会增加会员优惠相关信息 获取订单详情 | 微信开放文档
- 改动点:
- 订单维度会员权益优惠金额:
order_detail.price_info.vip_discounted_price
- 订单内商品维度会员权益优惠金额:
order_detail.product_infos.vip_discounted_price
- 订单维度会员权益优惠金额:
- 会员权益session_id:
order_detail.ext_info.vip_order_session_id
# 6. 会员优惠-售后API相关
- 通知商家用户退款事件,方便计算会员权益退还 获取售后单 | 微信开放文档
- 获取售后单接口
AfterSaleDetails
,增加wxa_vip_discounted_price
,表示小程序会员已经优惠金额(分) - 售后单更新通知接口,增加
wxa_vip_discounted_price
,表示小程序会员已经优惠金额(分)