发起结算及分账收藏我的收藏
收藏
我的收藏到达分账周期后,商户将交易成功的资金,结算给自己或分账给其他分账方。
使用限制
名词解释
名字 | 解释 |
在途账户 | 用户支付完成后,资金进入商户「在途账户」 |
可提现账户 | 商户发起结算分账/指令后,资金由「在途账户」结算或分账至商户「可提现账户」及指定的第三方分账方「可提现账户」。 |
结算/分账 | 商户通过发起结算/分账指令,将资金从商户「在途账户」结算至商户「可提现账户」;若指令中指定了其它第三方分账方,则资金也会从商户「在途账户」分账至分账方「可提现账户」。 |
核销 | 商户完成同步后,订单达到可结算的“核销状态”,才可以结算与分账。 |
分账周期 | 指一笔订单在达到对应节点(支付/核销)后D+N天才可以发起分账。到店类订单默认核销后3天才可发起分账,其他行业默认支付后7天才可发起分账。 示例:
|
部分分账 | 每一笔支付单可支持多次发起分账,当分账请求的finish字段传"false"时可实现多次分账 请求。 应用场景:支付宝渠道限制一笔订单每次分账请求只能有 2 个分账方,微信、抖音支付渠道限制一笔订单每次分账请求只能有 4 个分账方,如有多个分账方请拆分分账方并发起部分分账。 |
调用节点
订单类型 | 调用节点 | 示例 |
到店服务类订单(用户需要到店履约或到店核销) | 如果在 12.1 日上送的核销状态,那么 12.4 日零点后可随时发起结算及分账 | |
其他订单 | 支付成功 7 天后才可调用该接口发起结算及分账 | 如果在 12.1 日支付成功,那么 12.8 日零点后可随时发起结算及分账 |
接口说明
- 1.如果没有开通自动结算需要主动调用该接口才能进行在途资金的结算;
- 2.同一笔订单最多允许商户发起 50 次分账请求,第 50 次分账请求无论是否指定为完结分账,都按照完结分账处理;
- 3.微信、抖音支付渠道限制一笔订单分账方为 5 个及以内的相关方(含开发者、开放平台),支付宝渠道限制一笔订单只能有 3 个及以内的相关方(含开发者、开放平台);
- 4.2022-06-01 00:00:00 之前创建的订单不支持多次分账;
- 5.交易系统的订单目前不支持多次分账的能力;
- 6.对每一笔订单如果需要多次分账,只有在首次分账完成后才可发起后续分账(首次分账失败可更换分账单号再次发起首次分账),平台仅在首次分账时进行一次性全额计费并抽取;
- 7.沙盒环境使用说明详见担保支付-沙盒环境。
- 8.微信渠道对外分账比例(包括支付手续费,达人佣金,平台佣金,外部分账方等)不允许超过30%。
基本信息
基本信息 | |
HTTP URL | |
HTTP Method | POST |
接口频次 | 30QPS(小程序 app_id 维度) |
请求头
名称 | 类型 | 必填 | 描述 |
Content-Type | string | 是 | 固定值 "application/json" |
请求参数
名称 | 类型 | 是否必填 | 最大长度 | 描述 | 示例值 |
app_id | string | 是 | 64 | 小程序APPID | tt07e3715e982xaac0 |
out_settle_no | string | 是 | 64 | 开发者侧的结算单号,相同结算单号小程序平台会进行幂等处理。 只能使用数字、大小写字母_-*。 | ad_T220416122114165008287419707173 |
out_order_no | string | 是 | 64 | 该笔分账单关联的商户订单单号,标识进行结算的订单(即对应支付预下单接口的"开发者侧的订单号out_order_no"参数) | out7101994117563058470 |
settle_desc | string | 是 | 80 | 结算描述,长度限制 80 个字符 | 主动结算 |
settle_params | string | 否 | 2048 | 其他分账方信息,分账分配参数 SettleParameter 数组序列化后生成的 json 格式字符串 | [{\"merchant_uid\":\"M696458350318359362\",\"amount\":60}],详见settle_params字段说明 |
sign | string | 是 | 344 | d98e6af1c490b36f7b72e2037f81a511 | |
cp_extra | string | 否 | 1000 | 开发者自定义字段,回调原样回传 | 123 |
notify_url | string | 否 | 256 | 商户自定义分账回调地址(要求https) | |
thirdparty_id | string | 条件选填,服务商模式接入必传 | 64 | 第三方平台服务商 id,非服务商模式留空 | tte76091dd784a4a33 |
finish | string | 条件选填 | 8 | 特别注意:该参数类型为string而非bool。
| 'true' |
settle_params参数说明
settle_params 仅支持传入第三方分账方(非商户和平台)。
参数 | 类型 | 是否必填 | 最大长度 | 描述 | 示例值 |
merchant_uid | string | 是 | 32 | 外部分帐方商户号 | XCXP_000003089 |
amount | number | 是 | 11 | 分账金额,单位分,取值范围:[1,10000000000] | 10 |
settle_params 示例:
// 需要将该json结构序列化后作为settle_params参数 [ { merchant_uid: "分账方商户号", amount: 10, // 分账金额 }, { merchant_uid: "分账方商户号", amount: 8, // 分账金额 }, ];
请求示例
{ "out_settle_no": "out_settle_no_1", "out_order_no": "out_order_no_1", "settle_desc": "分账", "notify_url": "https://your.callback.url", "cp_extra": "2856", "app_id": "tt07e3715e98c9aac0", "sign": "d98e6af1c490b36f7b72e2037f81a511", "settle_params": "[{\"merchant_uid\":\"M696458350318359362\",\"amount\":60}]" }
响应参数
名称 | 类型 | 是否必填 | 最大长度 | 描述 | 示例值 |
err_no | number | 是 | - | 详见错误码 | 0 |
err_tips | string | 是 | - | 详见错误描述 | "" |
settle_no | string | 条件选填,err_no=0时必填 | 128 | 平台生成分账单号 | N7090899309964642560 |
响应示例
正常示例
{ "err_no": 0, "err_tips": "success", "settle_no": "N7090899309964642560" }
异常示例
{ "err_no": 2000, "err_tips": "单号记录不存在", "settle_no": "" }
错误码
HTTP 状态码 | 错误码 | 描述 | 排查建议 |
200 | 0 | success | 受理成功 |
200 | 1000 | 内部异常 | 当前请求可能成功也可能失败。 1.使用相同参数重试调用,需保证全部参数完全一致; 2.或者通过分账查询接口查询分账结果。 |
200 | 1002 | 数据异常,请检查必传参数与单号是否正确 | |
200 | 1003 | 参数异常,与原请求数据不一致 | 对同一个分账单号多次请求的入参不一致,检查请求入参后重试 |
200 | 1090 | 风控拦截 | 请先按照返回的具体风控拦截原因进行处理,或咨询小程序平台处理 |
200 | 1093 | 系统异常,请原单号重试 | 当前请求可能成功也可能失败。 1.使用相同参数重试调用,需保证全部参数完全一致; 2.或者通过分账查询接口查询分账结果。 |
200 | 2000 | 支付记录不存在 | 传入的外部支付单号out_order_no查无对应支付单,检查并调整参数后重试 |
200 | 2003 | 无有效回调配置 | 请检查参数,调整回调相关参数后,原单号重试 |
200 | 2008 | 验签异常 | |
200 | 2010 | 业务参数处理异常 | 检查请求入参,修改后重试,具体原因可能为:
|
200 | 2013 | 服务商无对应小程序分账授权 或 其他 | |
200 | 2014 | 已无可分账金额 | 订单已无可分账金额,具体原因可参考接口返回的err_tips信息, |