发起分账

收藏
我的收藏

一笔订单到达结算周期后,开发者可以通过分账接口将这笔订单产生的资金结算给各个分账方。

使用限制

注意事项

分账规则

  • 按小程序维度进行配置,一般有两类:
    • 核销 D+N。例如核销 D+3,如果按整单分账,则要求整单到达“终态”3 个自然日后可以分账;如果按券分账,则要求券到达终态3个自然日后可以分账。“终态”表示所有的券/商品已核销或已退款。
    • 支付D+N。例如支付D+7,表示订单支付成功7个自然日后可以分账。
  • CPS 订单比较特殊,统一结算规则是核销 D+3。
  • 如对上述结算规则有特殊需求,请联系对应行业技术支持人员。
  • 如果是次卡订单,则每次发起请求会将已经履约的金额进行分账。

举个例子

小程序 A 是核销 D+3 分账,用户的一笔订单 X 买了 5 张团购券

按整单分账时,对于订单 X,其中 3 张先核销,剩余 2 张再退款,最终退款完成的时间就是订单到达终态的时间。订单到达终态 3 天后,则可以发起分账

按券分账时,对于订单 X,其中 1 张券先核销,核销 3 天后可以发起这张券的分账

如果是次卡订单,对于订单 X,履约了第 1、2 次发起分账,则本次分账会将第 1、2 次对应的金额进行结算

分账类型

  • 整单分账
  • 按券分账
    • 分账规则和整单一致,如果整单是按核销D+3,按券结算也需要满足券核销D+3。
    • 整单分账和券分账互斥,即一笔订单如果有1张券已经分账了,则不再允许发起整单分账,其他券都要按券发起结算。
    • 支付D+N结算的小程序不允许发起券分账,只能整单分账

分账发起方

  • 开发者,即主动分账
  • 平台,即自动分账
    • 配置了自动分账后,不允许开发者再发起主动分账

基本信息

基本信息


HTTP URL

https://open.douyin.com/api/apps/trade/v2/settle/create_settle

HTTP Method

POST

Scope

industry_open.trade.settle

权限要求

  • 需要Scope权限
  • 不需要用户授权

请求头

参考通用参数

请求参数

名称

类型

是否必填

描述

示例值

out_order_no

string

开发者侧订单 id,长度 <= 64 字节,与唯一 order_id 关联

out_order_example_1

out_settle_no

string

开发者侧分账单 id,分账请求的唯一标识,长度 <= 64 字节

out_settle_example_1

item_order_id

string

开平侧item_order_id, 按券分账时必填,长度 <= 64 字节

注意:2023.03.31号后下单的订单才可以使用该字段进行按券分账

ot78318372940872837161

settle_desc

string

分账描述,长度 <= 512 字节

分账描述

settle_params

string

其他分账方(除卖家之外的),长度 <= 512 字节

[{\"merchant_uid\":\"分账方商户号1\",\"amount\":100}]

cp_extra

string

开发者自定义透传字段,长度 <= 2048 字节,不支持二进制

test

notify_url


string

分账结果通知地址,若不填,默认使用在行业模板配置-消息通知中指定的回调地址

  • 必须是 HTTPS 类型
  • 长度 <= 512 字节

https://www.xxxx.com

settle_params 字段说明示例:"[{\"merchant_uid\":\"分账方商户号 1\",\"amount\":100}]"

名称

类型

是否必填

描述

示例值

merchant_uid

string

进件商户 id(除了卖家以外的其他分账方)

分账方商户号 1

amount

int64

分账金额,单位[分],amount>0

100

请求示例

  • 整单分账

curl -X POST ' -H 'Content-Type:application/json' --data-raw '{ "out_order_no":"out_order_example_1", "out_settle_no":"out_settle_example_1", "settle_desc":"分账描述", "settle_params":"[{\"merchant_uid\":\"分账方商户号1\",\"amount\":100}]", "cp_extra":"test", "notify_url":"https://www.xxxx.com" }'

  • 按券分账

curl -X POST ' -H 'Content-Type:application/json' --data-raw '{ "out_order_no":"out_order_example_1", "out_settle_no":"out_settle_example_1", "item_order_id":"ot78318372940872837161", "settle_desc":"分账描述", "settle_params":"[{\"merchant_uid\":\"分账方商户号1\",\"amount\":100}]", "cp_extra":"test", "notify_url":"https://www.xxxx.com" }'

响应参数

名称

类型

描述

示例值

data

object

分账受理相关信息

见下文示例

extra

object

额外信息


data 字段

名称

类型

描述

示例值

settle_id

string

抖音开平侧分账 id,长度 <= 64 个字节

ot7053723547314981164

inner_settle_id

string

用于退分账场景,对应退分账接口文档中settle_no,长度<= 64字节

7115250727504854611

extra 字段

名称

类型

描述

示例值

error_code

int64

父错误码,标识错误域

0

description

string

父错误码描述


sub_error_code

int64

子错误码,标识具体错误信息,详见下面错误码说明

0

sub_description

string

子错误码描述

success

settle_id

string

抖音开平侧分账 id,长度 <= 64 个字节

ot7053723547314981164

inner_settle_id

string

用于退分账场景,对应退分账接口文档中settle_no,长度<= 64字节

7115250727504854611

响应示例

正常示例

{ "data": { "settle_id": "ot7053723547314981164", // 抖音开平侧分账单id "inner_settle_id": "7115250727504854611" // 用于退分账场景 }, "extra": { "sub_error_code": 0, "sub_description": "success", "logid": "2022092115392201020812109511046", "now": 1663745962686, "error_code": 0, "description": "success" } }

异常示例

{ "extra": { "sub_error_code": 23002, "sub_description": "订单id,分账单id至少指定一个", "logid": "2022092115392201020812109511046", "now": 1663745962686, "error_code": 2190004, "description": "应用未获得该能力, 请去https://open.douyin.com/申请" } }

错误码

子错误码

错误提示

建议解决方案

23000

抱歉,出错了!请稍后重试 

原单号发起重试

23001

bad app_id 

检查请求参数

23002

订单id,分账单id至少指定一个 


23003

out_order_no不能为空 


23004

out_settle_no不能为空 


23005

settle_desc不能为空 


23006

cp_extra too long 


23007

settle_param too long 


23008

分账方商户号不能为空 


23009

分账方金额不能小于1 


23010

settle_desc too long 


23101

订单不存在,无法分账 

检查订单号是否正确,或者订单号与appid是否匹配

23102

订单未支付,无法分账 

检查订单是否支付

23103

小程序在禁止分账名单中,无法分账 


23104

服务商在禁止分账名单中,无法分账 


23105

支付后不满N天,无法分账 


23106

核销后不满N天,无法分账 


23107

订单未完成,无法分账 

查询券状态,检查是否每张券都已核销/退款

23108

单笔订单分账次数过多 


23109

分账金额超过授权比例 


23110

服务商无对应小程序分账授权 


23111

out_settle_no已存在,请用查询接口查询分账结果 

建议用分账查询接口查询分账结果,有以下场景:

  1. 分账已成功,则无需处理
  2. 分账处理中,说明分账在受理中,等待处理结果即可
  3. 分账失败,尝试用原out_settle_id重新发起分账,如果依旧失败则换一个新out_settle_id发起分账,如果依旧失败就发起oncall

23112

已无可分账金额 

检查订单是否已退款或已分账

23113

该订单不允许分账 


23117

该订单属于自动结算订单, 无需请求分账

属于自动分账的小程序,可以按订单维度查询分账

23118

不允许整单结算,请按券发起结算

一笔订单中已有券结算,其他券也只能按券结算

23119

不允许发起券结算

支付D+N结算的小程序不允许发起券结算

23120

券未核销,无法分账

查询券状态,检查券是否核销

23121

券结算功能灰度中,请联系运营开通


该文档是否有帮助?