通知分账结果
分账处理完成后,抖音开平交易系统会给向开发者的服务发起请求,将分账结果通知到开发者服务端。
使用限制
无
注意事项
- •由于网络波动等原因,可能会产生重复的通知消息,接入方需要做好幂等,正确处理。
- •回调可能存在延时,开发者可以通过主动请求查询分账,确认分账结果。
- •在开发者服务端收到回调且处理成功后,需要按下文正常响应示例返回并且 HTTP 响应状态码设为 200,否则会认为通知失败进行重试。
- •结果通知失败的重试的时间间隔为 10s、10s、30s、1m、2m、3m、4m、5m、6m、7m、8m,总共重试 10 次。
基本信息
基本信息 | ||||
HTTP URL | 在解决方案配置-消息通知中指定的回调地址,配置方式参考解决方案配置文档 | |||
HTTP Method | POST | |||
权限要求 | 无 | |||
请求头
参考通用参数
请求参数
名称 | 类型 | 是否必填 | 描述 | 示例值 |
msg | string | 是 | 订单相关信息的 JSON 字符串 | 见下文示例 |
type | string | 是 | 枚举值(分账结果回调为 settle):
| settle |
version | string | 是 | 固定值:"3.0"。 回调版本,用于开发者识别回调参数的变更 | 3.0 |
msg 字段
名称 | 类型 | 是否必填 | 描述 | 示例值 |
app_id | string | 是 | 小程序 id | ttcfdbb96650e33350 |
status | string | 是 | 分账状态枚举值
| SUCCESS |
order_id | string | 是 | 抖音开平侧订单 id | ot7057435515980663048 |
settle_no | string | 是 | 抖音开平侧分账单单号 | ot7057416814925531429 |
out_order_no | string | 是 | 开发者侧订单单号 | ext_order_no_1643188675912_order1 |
cp_settle_no | string | 是 | 开发者侧分账单单号 | ext_order_no_1643188675912_settle1 |
cp_extra | string | 是 | 请求分账接口时开发者指定的透传字段 | test |
settle_amount | int64 | 是 | 分账金额,单位分 | 1000 |
rake | int64 | 是 | 手续费,单位分 | 60 |
commission | int64 | 是 | 交易参与 CPS 投放等任务产生的佣金,单位分 | 100 |
settle_detail | string | 是 | 分账细节 | 商户号 68882720803499563550- 分成金额(分)840 |
settle_at | int64 | 是 | 分账成功/失败时间戳,单位毫秒 | 1643189272388 |
message | string | 否 | 结果描述信息,如失败原因 | SUCCESS |
item_order_id | string | 否 | item单id,按券分账时不为空 | 7163166266042108164 |
is_auto_settle | bool | 是 | 是否自动分账 | false |
pay_settle_amount | int64 | 否 | 在有平台营销补贴的情况下,实付金额 的 已分账金额,单位分 举例:订单金额100分,平台补贴20分,实付80分,那全部分账的情况下实付金额已分账金额为80分 | 80 |
promotion_settle_amount | int64 | 否 | 在有平台营销补贴的情况下,补贴金额 的 已分账金额,单位分 举例:订单金额100分,平台补贴20分,实付80分,那全部分账的情况下补贴金额已分账金额为20分 | 20 |
请求示例
curl --location --request POST 'https://xxxxxxx.net/api/v2/result_callback?timestamp=1345678901234&nonce=iuy987q4htafreqw' \ --header 'Content-Type: application/json' --data-raw='{ "version": "3.0", //固定为3.0, 通过版本信息识别,用不同的结构体去解析上述关键参数 "msg":"{\"app_id\":\"ttcfdbb96650e33350\",\"status\":\"SUCCESS\",\"order_id\":\"ot7057435515980663048\",\"settle_no\":\"ot7057416814925531429\",\"out_order_no\":\"ot24123455421\",\"cp_settle_no\":\"ext_order_no_1643188675912_settle1\",\"cp_extra\":\"test\",\"settle_amount\":2,\"rake\":0,\"commission\":0,\"settle_detail\":\"商户号68882720803499563550-分成金额(分)2\",\"settle_at\":1643189272388,\"message\":\"SUCCESS\",\"item_order_id\":\"ot78318372940872837161\",\"is_auto_settle\":false}", "type": "settle" }'
msg 字段内容示例
- •按券分账时item_order_id不为空
//分账成功回调示例 { "app_id": "ttcfdbbxxx650exxx0", "status": "SUCCESS", "order_id": "ot7057435515980663048", "cp_extra": "test", "message": "SUCCESS", "settle_at": 1643189272388, "settle_no": "ot7057416814925531429", "out_order_no":"ot24123455421", "cp_settle_no": "ext_order_no_1643188675912_settle1", "rake": 60, "commission": 100, "settle_detail": "商户号68882720803499563550-分成金额(分)840", "settle_amount": 1000, "item_order_id":"ot78318372940872837161", "is_auto_settle":false, "pay_settle_amount":80, "promotion_settle_amount":20 } //分账失败回调示例 { "app_id": "ttcfdbb9XXXXXX50", "status": "FAIL", "order_id": "ot7057435515980663048", "cp_extra": " esse dolore", "message": "FAIL", "settle_at": 1643189272388, "settle_no": "ot7057416814925531429", "cp_settle_no": "ext_order_no_1643188675912_settle1", "out_order_no":"ot24123455421", "rake": 0, "commission": 0, "settle_detail": "", "settle_amount": 2, "item_order_id":"ot78318372940872837161", "is_auto_settle":false, "pay_settle_amount":0, "promotion_settle_amount":0 }
响应参数
名称 | 类型 | 描述 | 示例值 | 示例值 |
err_no | int64 | 错误码 | 0 | out_order_example |
err_tips | string | 错误提示 | success | out_settle_example |
响应示例
正常示例
//正常返回响应且http状态码为200 //注意: //正常返回时一定要保证err_no和err_tips为下面标准返回方式,不然都认为失败,将会重试 { "err_no": 0, "err_tips": "success" }
异常示例
//err_no不为0或http状态码为非200,字节服务端会不断重试 { "err_no": 1, //非0 "err_tips": "system error" //非success }
