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 。​