Appearance
分账申请
分账申请接口使用说明:
1.分账申请接口调用之前,请先调用商户余额查询接口,确保可用余额充足才能发起分账;
2.分账模式说明:
单笔、合单、凑单模式都是基于收款订单可分账余额做分账,需要先调用待分账订单查询接口;余额分账不依赖收款订单,指定分账方及金额就可以发起分账;
单笔分账:收款订单支持部分多次分账;
合单分账:是相较单笔分账的批量操作,已经部分分账过的收款订单不再参与合单分账,但是可以参与单笔或凑单分账;
凑单分账:对于传递进来的订单列表,按照列表的索引顺序优先分掉排在前面的订单,直至凑单金额完成;
余额分账:严格把控,如要使用需线下提交开通申请,经运营部门审批通过后才能使用;
3.异步通知:
分账申请接口调用成功后,资金会从商户待分账账户划转到分账方钱包账户,到账时间通常 1-10 分钟不等,到账终态会异步通知 notifyurl 地址(会多次通知,请做好去重),异步通知返回的数据结构参考“分账申请查询”接口返回的数据结构;
4.分账申请中 holders 传入多位分账方时状态说明:
对多人发起分账,传入的分账方信息是银行做了前置银行卡四要素校验的,分账发起时系统也会做余额校验,所以通常不会出现部分成功的情况;若真出现部分成功状态,对于失败的分账方,系统不会自动做分账补发,请自行处理;
请求路径 | /share/apply |
---|---|
请求方法 | POST |
请求参数
公共参数
参数 | 名称 | 类型 | 必填 | 说明 |
---|---|---|---|---|
key | 标识 | string | 是 | 开发者唯一标识 |
time | 时间戳 | string | 是 | 当前 unix 时间戳,精确到秒 |
sign | 数据签名 | string | 是 | 数据签名,详见 签名算法 |
data | 业务参数 | JSON string | 是 | 业务参数,详见下例表格 |
业务参数 - 模式:单笔分账、合单分账、凑单分账
参数 | 名称 | 类型 | 必填 | 说明 | |||||||||||||||
mode | 模式 | enum | 是 | 分账模式 | |||||||||||||||
| |||||||||||||||||||
orders | 订单流水号列表 | [string] | 否 | 申请分账的订单流水号列表 余额分账无需此参数 | |||||||||||||||
oneself | 是否自留 | bool | 是 | 商户自留代表将订单剩余待分账金额结算到商家待提现账户,商家可以提现到公户 | |||||||||||||||
sequence | 流水号 | string | 否 | 分账申请流水号,必须唯一 | |||||||||||||||
holders | 分账方 | [json] | 是 | 分账方列表 | |||||||||||||||
| |||||||||||||||||||
notifyurl | 异步通知地址 | string | 否 | 分账完成异步通知地址 | |||||||||||||||
returnurl | 退汇通知地址 | string | 否 | 退汇异步通知地址 | |||||||||||||||
remark | 备注 | string | 否 | 备注 |
业务参数 - 模式:余额分账
参数 | 名称 | 类型 | 必填 | 说明 | ||||||||||
mode | 模式 | enum | 是 | 分账模式 | ||||||||||
| ||||||||||||||
sequence | 流水号 | string | 否 | 分账申请流水号,必须唯一 | ||||||||||
holders | 分账方 | [json] | 是 | 分账方列表 | ||||||||||
| ||||||||||||||
notifyurl | 异步通知地址 | string | 否 | 分账完成异步通知地址 | ||||||||||
remark | 备注 | string | 否 | 备注 |
请求示例
json
{
"key": "d787d45a68b48",
"data": "{\"orders\":[\"2022111791728765\",\"2022111791729812\",\"2022111791723115\"],\"holders\":[{\"amount\":1,\"code\":\"H7638527\"},{\"amount\":2,\"code\":\"H7633498\"}],\"onself\":false,\"sequence\":\"2022111767655444\"}",
"sign": "b649ef89371dbd5c47686efbabf2e65....",
"time": 1668671935
}
返回数据
公共数据
数据 | 名称 | 类型 | 必填 | 说明 |
---|---|---|---|---|
code | 状态码 | int | 是 | 结果状态码 |
text | 操作结果 | string | 否 | 操作结果,为空时不返回此字段 |
time | 时间戳 | int | 是 | 服务器当前 unix 时间戳,精确到秒 |
sign | 数据签名 | string | 是 | 数据签名 |
data | 业务数据 | JSON string | 是 | 业务数据,详见下例表格 |
业务数据
参数 | 名称 | 类型 | 必填 | 说明 | ||||||||||||||||||||||||||||||
sequence | 流水号 | string | 否 | 流水号,必须唯一 | ||||||||||||||||||||||||||||||
type | 类型 | enum | 是 | 分账类型 | ||||||||||||||||||||||||||||||
| ||||||||||||||||||||||||||||||||||
mode | 模式 | enum | 是 | 分账模式 | ||||||||||||||||||||||||||||||
| ||||||||||||||||||||||||||||||||||
rate | 总占比 | float | 是 | 申请金额占订单金额比率,1=100% | ||||||||||||||||||||||||||||||
amount | 申请总额 | float | 是 | 申请总额,精确到2位小数,如1.00 | ||||||||||||||||||||||||||||||
fee | 分账服务费 | float | 是 | 分账服务费,精确到2位小数,如1.00 | ||||||||||||||||||||||||||||||
total | 结算总额 | float | 是 | 结算总额,精确到2位小数,如1.00 | ||||||||||||||||||||||||||||||
oneself | 是否自留 | bool | 是 | 商户是否自留 | ||||||||||||||||||||||||||||||
selfamount | 自留总额 | float | 是 | 自留总额 | ||||||||||||||||||||||||||||||
selfrate | 自留占比 | float | 是 | 自留金额占订单金额比率,1=100% | ||||||||||||||||||||||||||||||
sideamount | 分账方总额 | float | 是 | 分账方总额 | ||||||||||||||||||||||||||||||
siderate | 分账方占比 | float | 是 | 分账方金额占订单金额比率,1=100% | ||||||||||||||||||||||||||||||
holders | 分账方 | [json] | 是 | 分账方列表 | ||||||||||||||||||||||||||||||
| ||||||||||||||||||||||||||||||||||
state | 状态 | string | 是 | 分账状态 | ||||||||||||||||||||||||||||||
remark | 备注 | string | 否 | 备注 |
返回状态
状态码 | 说明 |
---|---|
0 | 申请成功 |
107010 | 申请失败 |
107033 | 无效订单 |
100031 | 无效分账方 |
100049 | 无效分账比例或金额 |
100051 | 流水号已经被使用了 |
107008 | 分账比例不可超过最大可分账比例 |
返回示例
json
{
"code": 0,
"text": "申请成功",
"data": "{\"amount\":0.99,\"holders\":[{\"amount\":0.8,\"code\":\"H9848953\",\"name\":\"老羊\",\"rate\":0.8},{\"amount\":0.19,\"code\":\"0\",\"name\":\"商户自留\",\"rate\":0.19}],\"oneself\":true,\"rate\":0.99,\"remark\":null,\"selfamount\":0.19,\"selfrate\":0.19,\"sequence\":\"221103786337\",\"sideamount\":0.8,\"siderate\":0.8,\"source\":\"web\",\"state\":\"success\",\"type\":\"single\"}",
"sign": "a982f6d6cd790c76dee80503d3e22d8d39d387094a1e6dec6675343b0c07b0ae",
"time": 1668672190
}