consume-card 抖音码核销
收藏
我的收藏

基础库 2.51.0 开始支持本方法,低版本需做兼容处理,这是一个异步方法。
前端模板提供了一个组件consume-card,开发者通过使用该组件展现抖音码,用户通过抖音码可到店核销。

属性说明

属性名
类型
默认值
必填
说明
最低支持版本
order-id
string
开发者系统订单号 outOrderNo
2.50.0.0
bind:consume
EventHandle
event
核销订单后触发
2.50.0.0
bind:refund
EventHandle
event
申请退款时触发的方法
2.50.0.0
bind:applyrefund
EventHandle
event
点击申请退款时触发的方法
2.50.0.0
bind:error
EventHandle
event
错误发生时的回调(errNo,errMsg,errLogId),参见 bind:error 报错信息
2.50.0.0

bind:refund 说明

开发者可以在该方法中,根据提交退款申请的状态返回值,实现开发者自定义的逻辑。
事件对象的 detail 为 object 类型,属性如下:
属性名
类型
说明
最低支持版本
status
string
发起申请退款结果:
    success:发起成功
    fail:发起失败
2.43.0.0
result
object
根据 status 属性返回支付结果
2.43.0.0

result 属性说明

object 类型,属性如下:
    status 为 success 时:
属性名
类型
说明
最低支持版本
refundId
string
抖音交易系统内部退款单号
2.43.0.0
outRefundNo
string
开发者系统退款单号
2.43.0.0
orderId
string
抖音交易系统内部交易订单号
2.43.0.0
    status 为 fail 时:
属性名
类型
说明
最低支持版本
errMsg
string
失败错误信息
2.43.0.0

bind:applyrefund 说明

    开发者可以在该方法中,通过返回一个对象,定义一些透传信息。前端模板会将返回的对象通过 JSON.stringify进行序列化,序列化的字符串会作为申请退款时的 cp_extra 参数,透传给开发者服务端。
    需要返回 promise,开发者可以在 promise 中做退款参数的设置,并将需要透传的退款参数作为返回值传入 resolve 函数。
    若无需传入 extra 参数,该方法可不填。
    事件对象的 detail 为 object 类型,属性如下:
属性名
类型
说明
最低支持版本
orderId
string
开发者传入的开发者系统交易订单号
2.43.0.0

bind:error 报错信息

errNo(错误码)
含义
21522
order-id 非法
21528
申请退款获取订单信息失败,服务端内部错误
21529
申请退款获取订单信息失败,服务端参数校验不通过
21530
申请退款获取订单信息失败,服务端返回数据缺少商品信息
21531
申请退款获取订单信息失败,订单无可退款订单,订单可退份数等于 0
21532
查看退款详情获取退款详情失败
21533
bind:applyrefund 调用失败
21534
bind:applyrefund 返回类型错误
21535
申请退款失败,服务端错误
21537
查询退款详情失败,服务端错误
21540
查询券码接口服务端错误

效果示例

    多份可用:
    单份可用(已退款失败,还可以核销):
    系统错误刷新:
    多份(查看券码):
    弹窗最大/最小:

代码示例

// ttml <consume-card order-id="xxxx" bind:consume="orderChangeHandler" bind:refund="handleRefund" bind:applyrefund="applyRefund" ></consume-card>
// js // bind:consume 使用示例 orderChangeHandler(event){ const { orderId } = event.detail //do something }, // bind:applyrefund 使用示例 applyRefund(event){ const { orderId } = event.detail return new Promise((resolve)=>{ resolve( {name: 'test' } ) }) }, // bind:refund 使用示例 handleRefund(event) { const { status, result } = event.detail; if (status === 'success') { const { refundId, outRefundNo } = result; } else { const { errMsg } = result; } }, // 错误信息含义见下文 bind:error报错信息 handleError(event) { const { errMsg ,errNo} = event.detail; // do something // errNo(错误码,对应某种具体报错原因) // errMsg(报错信息) }

Bug & Tip

    Tip:接入抖音码核销需要获取用户信息时,可参考 tt.getUserInfo