Appearance
分账接口
分账模块适合多方协作场景,例如平台商户、代理商、供应商、合作方之间的分润结算。
接口清单
| 接口 | 方法 | 说明 |
|---|---|---|
/api/division/receiver/bind | POST | 绑定分账接收方 |
/api/division/exec | POST | 发起订单分账 |
/api/division/query | POST | 查询分账结果 |
/api/division/finish | POST | 完结分账并解冻剩余金额 |
分账前提
- 支付订单已经成功。
- 下单时已按业务需要开启分账模式。
- 分账接收方已经在平台完成绑定。
- 建议在支付成功后稍作延迟再发起分账。
绑定分账接收方
绑定接收方时通常会涉及以下字段:
| 字段 | 说明 |
|---|---|
receiverAlias | 接收方别名或描述 |
receiverGroupId | 接收方分组,可选 |
relationType | 关系类型,如合作伙伴、品牌方、用户、供应商 |
channelExtInfo | 渠道附加信息 |
divisionProfit | 默认分账比例 |
发起订单分账
核心字段
| 字段 | 必填 | 说明 |
|---|---|---|
payOrderId / mchOrderNo | 否 | 平台支付订单号与商户支付单号二选一 |
useSysAutoDivisionReceivers | 是 | 是否使用平台预配置的自动分账组 |
receivers | 否 | 手动指定接收方列表,JSON 字符串 |
请求示例
json
{
"mchNo": "M202604230001",
"appId": "APP202604230001",
"payOrderId": "P202604230001",
"useSysAutoDivisionReceivers": 0,
"receivers": "[{\"receiverId\":\"800029\",\"divisionProfit\":\"0.3\"},{\"receiverId\":\"800028\",\"divisionProfit\":\"0.2\"}]",
"version": "1.0",
"reqTime": 1713849600000,
"signType": "MD5",
"sign": "YOUR_SIGN"
}返回重点
| 字段 | 说明 |
|---|---|
state | 分账状态 |
channelBatchOrderId | 上游分账批次号 |
errCode | 渠道错误码 |
errMsg | 渠道错误描述 |
查询与完结
/api/division/query:用于查询某笔订单某个分账批次的处理结果。/api/division/finish:用于结束当前订单的分账流程,并把剩余冻结金额解冻给商户。
接入建议
- 先在支付链路完成后再引入分账,不要与基础收款一起首版上线。
- 对接收方、分账组、分账比例建立后台配置,不建议全部写死在代码里。
- 分账失败时保留
errCode与errMsg,便于排查渠道侧限制。 - 对每次分账批次建立业务流水,便于对账和补单。