通知分账结果
收藏
我的收藏分账处理完成后,抖音开平交易系统会给向开发者的服务发起请求,将分账结果通知到开发者服务端。
使用限制
无
注意事项
- •由于网络波动等原因,可能会产生重复的通知消息,接入方需要做好幂等,正确处理。
- •回调可能存在延时,开发者可以通过主动请求查询分账,确认分账结果。
- •在开发者服务端收到回调且处理成功后,需要按下文正常响应示例返回并且 HTTP 响应状态码设为 200,否则会认为通知失败进行重试。
- •结果通知失败的重试的时间间隔为 15s、30s、1min、2min、4min、8min、16min、32min、64min、128min,总共重试 20 次。
- •对于旧订单(担保支付订单)在交易 2.0 发起的退款和分账产生的回调通知,采用的回调签名算法和旧系统(担保支付)保证一致,仅当回调请求中有 version 字段且为 2.0 时,采用签名算法,否则采用的就是旧系统的回调签名算法。
基本信息
基本信息 | ||||
HTTP URL |
| |||
HTTP Method | POST |
请求头
请求参数
名称 | 类型 | 是否必填 | 描述 | 示例值 |
msg | string | 是 | 订单相关信息的 JSON 字符串 | 见下文示例 |
type | string | 是 | 枚举值(分账结果回调为 settle):
| settle |
version | string | 是 | 固定值:"2.0"。 回调版本,用于开发者识别回调参数的变更 | 2.0 |
msg 字段
名称 | 类型 | 是否必填 | 描述 | 示例值 |
app_id | string | 是 | 小程序 id | ttcfdbb96650e33350 |
status | string | 是 | 分账状态枚举值
| SUCCESS |
order_id | string | 是 | 抖音开平侧订单 id | ot7057435515980663048 |
settle_id | string | 是 | 抖音开平侧分账单 id | ot7057416814925531429 |
out_settle_no | string | 是 | 开发者侧分账单 id | 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 |
event_time | int64 | 是 | 分账成功/失败时间戳,单位毫秒 | 1643189272388 |
message | string | 否 | 结果描述信息,如失败原因 | SUCCESS |
item_order_id | string | 否 | item单id,按券分账时不为空 | 7163166266042108164 |
is_auto_settle | bool | 是 | 是否自动分账 | false |
请求示例
curl --location --request POST 'https://xxxxxxx.net/api/v2/result_callback?timestamp=1345678901234&nonce=iuy987q4htafreqw' \ --header 'Content-Type: application/json' --data-raw='{ "version": "2.0", //固定为2.0, 通过版本信息识别,用不同的结构体去解析上述关键参数 "msg":"{\"app_id\":\"ttcfdbb96650e33350\",\"status\":\"SUCCESS\",\"order_id\":\"ot7057435515980663048\",\"cp_extra\":\"test\",\"message\":\"SUCCESS\",\"event_time\":1643189272388,\"settle_id\":\"ot7057416814925531429\",\"out_settle_no\":\"ext_order_no_1643188675912_settle——1\",\"rake\":0,\"commission\":0,\"settle_detail\":\"商户号68882720803499563550-分成金额(分)2\",\"settle_amount\":2,\"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", "event_time": 1643189272388, "settle_id": "ot7057416814925531429", "out_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 } //分账失败回调示例 { "app_id": "ttcfdbb9XXXXXX50", "status": "FAIL", "order_id": "ot7057435515980663048", "cp_extra": " esse dolore", "message": "FAIL", "event_time": 1643189272388, "settle_id": "ot7057416814925531429", "out_settle_no": "ext_order_no_1643188675912_settle——1", "rake": 0, "commission": 0, "settle_detail": "", "settle_amount": 2, "item_order_id":"ot78318372940872837161", "is_auto_settle":false }
响应参数
名称 | 类型 | 描述 | 示例值 |
err_no | int64 | 错误码 | 0 |
err_tips | string | 错误提示 | success |
响应示例
正常示例
//正常返回响应且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 }
错误码