Skip to content

分账业务

业务介绍:商户分账主要用于商户将交易成功的资金,按照一定的周期,分账给其他方,可以是合作伙伴、员工、用户或者其他分润方。

参考微信文档: 分账业务流程图

微信分账:https://pay.weixin.qq.com/wiki/doc/api/allocation.php?chapter=26_1 支付宝分账: https://opendocs.alipay.com/open/20190308105425129272/intro

接口目录:

绑定分账用户

接口说明

适用对象:普通商户 特约商户

请求URL:https://pay.yunfuyitong.cn/api/division/receiver/bind

请求方式:POST

请求类型:application/jsonapplication/x-www-form-urlencoded

请求参数

字段名变量名必填类型示例值描述
商户号mchNoString(30)M1621873433953商户号
应用IDappIdString(24)60cc09bce4b0f1c0b83761c9应用ID
接口代码ifCodeString(10)wxpaywxpay-微信官方接口 ; alipay-支付宝官方接口
接收者账号别名receiverAliasString(64)张三接收者账号别名
组IDreceiverGroupIdlong10001需先登录商户系统查找待加入的组ID
分账接收账号类型accTypeint1分账接收账号类型: 0-个人(对私) 1-商户(对公)
分账接收账号accNoString(10)1231312@qq.com分账接收账号, 微信个人是openid, 支付宝可以是userId或登录名
分账接收账号名称accNameString(30)张三微信选填(当填入则验证),支付宝账号必填
分账关系类型relationTypeString(30)wxpay分账关系类型:
SERVICE_PROVIDER:服务商
STORE:门店
STAFF:员工
STORE_OWNER:店主
PARTNER:合作伙伴
HEADQUARTER:总部
BRAND:品牌方
DISTRIBUTOR:分销商
USER:用户
SUPPLIER:供应商
CUSTOM:自定义
分账关系类型名称relationTypeNameString(30)wxpay当relationType=CUSTOM 必填
渠道特殊信息channelExtInfoString(256)wxpay渠道特殊信息
默认分账比例divisionProfitString(10)wxpay若分账30% 则填入 0.3
请求时间reqTimelong1622016572190请求接口时间,13位时间戳
接口版本versionString(3)1.0接口版本号,固定:1.0
签名signString(32)C380BEC2BFD727A4B6845133519F3AD6签名值,详见签名算法
签名类型signTypeString(32)MD5签名类型,目前只支持MD5方式

请求示例数据

json
{
 'version': '1.0',
'reqTime': '1622016572190',
'signType': 'MD5',
'sign': 'MD5MD5MD5MD5MD5MD5MD5MD5MD5MD5MD5MD5',
'mchNo': 'M1623997000',
'appId': '60cc3ba74ee0e6685f57e000',
'ifCode': 'wxpay',
'receiverAlias': '我的第一个账号',
'receiverGroupId': '100001',
'accType': '0',
'accNo': 'sfsfsd@qq.com',
'accName': '张三',
'relationType': 'OTHERS',
'relationTypeName': '我的员工',
'divisionProfit': '0.3' 
}

返回参数

字段名变量名必填类型示例值描述
返回状态codeint00-处理成功,其他-处理有误,详见错误码
返回信息msgString(128)签名失败具体错误原因,例如:签名失败、参数格式校验错误
签名信息signString(32)CCD9083A6DAD9A2DA9F668C3D4517A84对data内数据签名,如data为空则不返回
返回数据dataString(512){}返回下单数据,json格式数据

data数据格式

字段名变量名必填类型示例值描述
绑定账号IDreceiverIdlong10001绑定账号ID, 订单分账将使用该ID
接收者账号别名receiverAliasString(64)张三接收者账号别名
组IDreceiverGroupIdlong10001组ID
分账接收账号类型accTypeint1分账接收账号类型: 0-个人(对私) 1-商户(对公)
分账接收账号accNoString(10)1231312@qq.com分账接收账号
分账接收账号名称accNameString(30)张三分账接收账号名称
分账关系类型relationTypeString(30)wxpay分账关系类型
渠道特殊信息channelExtInfoString(256)wxpay渠道特殊信息
默认分账比例divisionProfitString(10)wxpay默认分账比例
绑定成功时间bindSuccessTimeLong1622016572190绑定成功时间
绑定状态bindStateint1绑定状态 1-绑定成功, 0-绑定异常
渠道错误码errCodeStringACQ.PAYMENT_AUTH_CODE_INVALID上游渠道返回的错误码
渠道错误描述errMsgStringBusiness Failed 失败上游渠道返回的错误描述

返回示例数据

json
{
    "code": 0,
    "data": {
        "accName": "张三",
        "accNo": "sfsfsd@qq.com",
        "accType": 0,
        "appId": "60cc3ba74ee0e6685f57eb1e",
        "bindState": 0,
        "divisionProfit": 0.3,
        "errCode": "NOAUTH",
        "errMsg": "无分账权限",
        "ifCode": "wxpay",
        "mchNo": "M1623997351",
        "receiverAlias": "我的第一个账号",
        "receiverGroupId": 100001,
        "relationType": "OTHERS",
        "relationTypeName": "我的员工"
    },
    "msg": "SUCCESS",
    "sign": "552CB91FA1E1DB378A534B377E4E9403"
}

发起订单分账

当订单下单时传入的分账模式 divisionMode = 2商户手动分账(解冻商户金额),支持商户手动发起订单分账。
注意:需要在订单支付完成后(建议1分钟后)调用分账接口。

接口说明

适用对象:普通商户 特约商户

请求URL:https://pay.yunfuyitong.cn/api/division/exec

请求方式:POST

请求类型:application/jsonapplication/x-www-form-urlencoded

请求参数

字段名变量名必填类型示例值描述
商户号mchNoString(30)M1621873433953商户号
应用IDappIdString(24)60cc09bce4b0f1c0b83761c9应用ID
支付订单号payOrderIdString(30)P20160427210604000490支付中心生成的支付订单号,与mchOrderNo二者传一即可
商户单号mchOrderNoString(30)20160427210604000490商户生成的支付单号,与payOrderId二者传一即可
是否使用系统配置的自动分账组useSysAutoDivisionReceiversint1是否使用系统配置的自动分账组: 0-否 1-是
分账接收者账号列表receiversString(512)[]接收者账号列表(JSONArray 转换为字符串类型)
仅当useSysAutoDivisionReceivers=0 时该字段值有效。
参考:
方式1: 按账号维度
[{
receiverId: 800001,
divisionProfit: 0.1, //(实际分账比例 如分账10%传入0.1, 若不填入则使用系统默认配置值)
divisionAmount: 100, //(实际分账金额,单位:分,与分账比例二选一, 若比例和金额两个都填写,以分账金额为准。)
}]
方式2: 按组维度
[{
receiverGroupId: 100001, //(该组所有 当前订单的渠道账号并且可用状态的全部参与分账)
divisionProfit: 0.1 (每个账号的分账比例, 若不填入则使用系统默认配置值, 建议不填写)
}]

注意: 分账的比例和金额不支持共传,若同时存在将会导致分账计算金额错误,接口调用时请先确定一种计算方式
请求时间reqTimelong1622016572190请求接口时间,13位时间戳
接口版本versionString(3)1.0接口版本号,固定:1.0
签名signString(32)C380BEC2BFD727A4B6845133519F3AD6签名值,详见签名算法
签名类型signTypeString(32)MD5签名类型,目前只支持MD5方式

请求示例数据

json
{
 'version': '1.0',
'reqTime': '1622016572190',
'signType': 'MD5',
'sign': '1',
'mchNo': 'M1623997351',
'appId': '60cc3ba74ee0e6685f57eb1e',
'payOrderId': 'P202108271011463510002',
'useSysAutoDivisionReceivers': '0',
'receivers': '[{"receiverGroupId":"","receiverId":"800029","divisionProfit":"0.0001"},{"receiverGroupId":"","receiverId":"800028","divisionProfit":"0.0002"}]' 
}
字段名变量名必填类型示例值描述
返回状态codeint00-处理成功,其他-处理有误,详见错误码
返回信息msgString(128)签名失败具体错误原因,例如:签名失败、参数格式校验错误
签名信息signString(32)CCD9083A6DAD9A2DA9F668C3D4517A84对data内数据签名,如data为空则不返回
返回数据dataString(512){}返回下单数据,json格式数据

data数据格式

字段名变量名必填类型示例值描述
分账状态stateint2分账状态 1-分账成功, 2-分账失败
上游分账批次号channelBatchOrderIdString(30)T20160427210604000490上游分账批次号
渠道错误码errCodeString1002渠道返回错误码
渠道错误描述errMsgStringERROR渠道返回错误描述

返回示例数据

json
{
    "code": 0,
    "data": {
        "errCode": "unknown-sub-code",
        "errMsg": "Business Failed【未知的错误码ACQ.ROYALTY_ACCOUNT_NOT_EXIST】",
        "state": 2
    },
    "msg": "SUCCESS",
    "sign": "56836E18015DD7E4FAFE45380C0AD098"
}

查询分账用户的可用余额

调用该接口实时查询渠道侧的分账用户的可用余额。

接口说明

适用对象:普通商户 特约商户

请求URL:https://pay.yunfuyitong.cn/api/division/receiver/channelBalanceQuery

请求方式:POST

请求类型:application/jsonapplication/x-www-form-urlencoded

请求参数

字段名变量名必填类型示例值描述
商户号mchNoString(30)M1621873433953商户号
应用IDappIdString(24)60cc09bce4b0f1c0b83761c9应用ID
分账用户IDreceiverIdLong800021分账用户ID(创建成功后返回)
请求时间reqTimelong1622016572190请求接口时间,13位时间戳
接口版本versionString(3)1.0接口版本号,固定:1.0
签名signString(32)C380BEC2BFD727A4B6845133519F3AD6签名值,详见签名算法
签名类型signTypeString(32)MD5签名类型,目前只支持MD5方式

请求示例数据

json
{
 'version': '1.0',
'reqTime': '1622016572190',
'signType': 'MD5',
'sign': '1',
'receiverId': '800021',
'appId': '60cc3ba74ee0e6685f57eb1e'
}
字段名变量名必填类型示例值描述
返回状态codeint00-处理成功,其他-处理有误,详见错误码
返回信息msgString(128)签名失败具体错误原因,例如:签名失败、参数格式校验错误
签名信息signString(32)CCD9083A6DAD9A2DA9F668C3D4517A84对data内数据签名,如data为空则不返回
返回数据dataString(512){}返回下单数据,json格式数据

data数据格式

字段名变量名必填类型示例值描述
分账用户IDreceiverIdint800021分账用户ID
余额balanceAmountLong20余额, 单位:分

返回示例数据

json
{
    "code": 0,
    "data": {
        "balanceAmount": 0,
        "receiverId": 800021
    },
    "msg": "SUCCESS",
    "sign": "5F16138F18AC367165B60CD97BA8CA27"
}

对分账用户的渠道余额发起提现

调用该接口实时调起三方的提现接口, 将实时到结算银行卡。 建议调用前先调用余额查询接口。

接口说明

适用对象:普通商户 特约商户

请求URL:https://pay.yunfuyitong.cn/api/division/receiver/channelBalanceCashout

请求方式:POST

请求类型:application/jsonapplication/x-www-form-urlencoded

请求参数

字段名变量名必填类型示例值描述
商户号mchNoString(30)M1621873433953商户号
应用IDappIdString(24)60cc09bce4b0f1c0b83761c9应用ID
分账用户IDreceiverIdLong800021分账用户ID(创建成功后返回)
提现金额cashoutAmountLong100提现金额,单位分
请求时间reqTimelong1622016572190请求接口时间,13位时间戳
接口版本versionString(3)1.0接口版本号,固定:1.0
签名signString(32)C380BEC2BFD727A4B6845133519F3AD6签名值,详见签名算法
签名类型signTypeString(32)MD5签名类型,目前只支持MD5方式

请求示例数据

json
{
 'version': '1.0',
'reqTime': '1622016572190',
'signType': 'MD5',
'sign': '1',
'receiverId': 800021,
'cashoutAmount': 10,
'appId': '60cc3ba74ee0e6685f57eb1e'
}
字段名变量名必填类型示例值描述
返回状态codeint00-处理成功,其他-处理有误,详见错误码
返回信息msgString(128)签名失败具体错误原因,例如:签名失败、参数格式校验错误
签名信息signString(32)CCD9083A6DAD9A2DA9F668C3D4517A84对data内数据签名,如data为空则不返回
返回数据dataString(512){}返回下单数据,json格式数据

data数据格式

字段名变量名必填类型示例值描述
分账用户IDreceiverIdint800021分账用户ID
状态statebyte1提现状态: 1-成功, 0-失败
渠道错误码errCodeString1002渠道返回错误码
渠道错误描述errMsgStringERROR渠道返回错误描述

返回示例数据

json
{
    "code": 0,
    "data": {
	    "receiverId": 801
        "state": 1,
    },
    "msg": "SUCCESS",
    "sign": "5F16138F18AC367165B60CD97BA8CA27"
}