# 小程序核销组件:核销用户的团购优惠
注意:
1. 此核销方式需前往 视频号小店网页端-「订单与核销」-「核销管理」- 「管理核销方式」开通。
2. 需通过「小程序核销组件」核销成功一张券,才能完成开通。
3. 开通前,该方式只能核销店铺成员的团购优惠券,不能核销非店铺成员的团购优惠券。
# 接口名称:wx.openBusinessView
# 接口兼容:
- 小程序版本库 >= 2.6.0,低版本需提示用户升级微信版本。
- iOS兼容性:兼容IOS 8.0.30.34 及以上版本。
- Android兼容性:兼容 安卓 8.0.30 及以上版本。
# 请求参数说明
# Object object
参数名 | 变量 | 类型[长度限制] | 必填 | 描述 |
---|---|---|---|---|
跳转类型 | businessType | string[1,32] | 是 | 固定配置:shopConsumeVoucher 示例值:shopConsumeVoucher |
业务参数 | extraData | Object<ExtraData> | 是 | 需要传递给核销 SDK 的券码数据。 |
# ExtraData
参数名 | 变量 | 类型[长度限制] | 必填 | 描述 |
---|---|---|---|---|
核销加密券码数组 | encrypted_codes | Array<string> | voucher_keys和encrypted_codes,二者选其一 | 需核销的加密券code,用户订单详情页跳转商家上小程序时可以从path上获取。 如为次卡商品,传多个相同的encrypted_code,代表核销多次。 |
核销明文券码对象数组 | voucher_keys | Array<VoucherKey> | voucher_keys和encrypted_codes,二者选其一 | 用户的明文券code及sku信息,查询用户的团购优惠列表 接口可获取。 一次性传入多组不同的voucher_key,代表一次核销多个不同的券code,array_size最大为10。 如为次卡商品,传多组相同的voucher_key,代表核销多次。 |
核销券码 | consume_request_no | string | 是 | 核销券码,每次需要唯一 |
如果想获取encrypted_codes 来调用核销接口
用户从 视频号订单详情页 跳转到商家创建团购优惠时配置的小程序verify_page,系统会自动在verify_page的path后面追加encrypted_codes的参数
例如商家配置的path为
1. /path/html?abc=xxxx
则系统会改为 /path/html?abc=xxxx&encrypted_codes=xxx
2. /path/html
则系统会改为 /path/html?encrypted_codes=xxx
注意:追加encrypted_codes参数时,只会追加用户正在查看的一张券encrypted_codes,商家如需在小程序内向用户展示所有券,可通过查询用户的团购列表反查后予以展示。
# VoucherKey
参数名 | 变量 | 类型[长度限制] | 必填 | 描述 |
---|---|---|---|---|
明文券码 | voucher_code | string | 是 | 用户的券code,单个code不超过36字节;code仅支持由数字和字母组成 |
skuid | sku_id | string | 是 | 平台生成的商品SKU编码,可从查询用户的团购优惠列表 接口获取 |
# 返回值
用户在核销组件进行操作,关闭核销组件后,可以从 onShow 生命周期,或者通过 wx.getEnterOptionsSync() 获得本次核销组件操作的返回值。
参数名 | 变量 | 类型[长度限制] | 描述 |
---|---|---|---|
extraData | |||
状态 | status | string | 'success': 核销成功 'fail': 核销失败 'not to consume': 用户取消核销 |
状态内容 | result | object | { errorMessage: 'xxxxxx', 核销组件错误内容 errorDescrition: 'xxxxx', 核销组件错误具体信息 } |
# 示例代码
if (wx.openBusinessView) {
wx.openBusinessView({
businessType: 'shopConsumeVoucher',
extraData: {
voucher_keys: [
{
voucher_code: 'xxxxxxx',
sku_id: 'xxxxx',
}
],
consume_request_no: 'xxxx'
},
success() {
//dosomething
},
fail() {
//dosomething
},
complete() {
//dosomething
}
});
} else {
//引导用户升级微信版本
}