通知分账结果

更新时间 2024-07-24 02:58:49
收藏
我的收藏
分账处理完成后,抖音开平交易系统会给向开发者的服务发起请求,将分账结果通知到开发者服务端。​

使用限制​

无​

注意事项​

    由于网络波动等原因,可能会产生重复的通知消息,接入方需要做好幂等,正确处理。
    回调可能存在延时,开发者可以通过主动请求查询分账,确认分账结果。​
    在开发者服务端收到回调且处理成功后,需要按下文正常响应示例返回并且 HTTP 响应状态码设为 200,否则会认为通知失败进行重试。​
    结果通知失败的重试的时间间隔为 15s、30s、1min、2min、4min、8min、16min、32min、64min、128min,总共重试 20 次。​
    对于旧订单(担保支付订单)在交易 2.0 发起的退款和分账产生的回调通知,采用的回调签名算法和旧系统(担保支付)保证一致,仅当回调请求中有 version 字段且为 2.0 时,采用签名算法,否则采用的就是旧系统的回调签名算法。​

基本信息​

基本信息
HTTP URL
    在分账请求中指定 notify_url​
HTTP Method
POST​

请求头​

参见通用参数。​

请求参数​

名称
类型
是否必填
描述
示例值​
msg​
string​
是​
订单相关信息的 JSON 字符串​
见下文示例​
type​
string​
是​
枚举值(分账结果回调为 settle):​
    payment:支付成功/支付取消​
    refund:退款成功/退款失败​
    settle:分账成功/分账失败​
settle​
version​
string​
是​
固定值:"2.0"。​
回调版本,用于开发者识别回调参数的变更​
2.0​

msg 字段​

名称
类型
是否必填
描述
示例值
app_id​
string​
是​
小程序 id​
ttcfdbb96650e33350​
status​
string​
是​
分账状态枚举值​
    1:“"SUCCESS"成功​
    2:"FAIL"失败​
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​

请求示例​

Shell
复制
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不为空​
JSON
复制
//分账成功回调示例
{
"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​

响应示例

正常示例​

JSON
复制
//正常返回响应且http状态码为200
//注意:
//正常返回时一定要保证err_no和err_tips为下面标准返回方式,不然都认为失败,将会重试
{
"err_no": 0,
"err_tips": "success"
}

异常示例​

JSON
复制
//err_no不为0或http状态码为非200,字节服务端会不断重试
{
"err_no": 1, //非0
"err_tips": "system error" //非success
}

错误码​

详情参见错误码/返回码 。​