分账业务

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

参考微信文档:

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

接口目录:

绑定分账用户

接口说明

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

请求URL:https://pay.jeepay.vip/api/division/receiver/bind

请求方式:POST

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

请求参数

字段名 变量名 必填 类型 示例值 描述
商户号 mchNo String(64) M1621873433953 商户号
应用ID appId String(64) 60cc09bce4b0f1c0b83761c9 应用ID
接口代码 ifCode String(20) wxpay wxpay-微信官方接口 ; alipay-支付宝官方接口
接收者账号别名 receiverAlias String(64) 张三 接收者账号别名
组ID receiverGroupId long 10001 需先登录商户系统查找待加入的组ID
分账接收账号类型 accType int 1 分账接收账号类型: 0-个人(对私) 1-商户(对公)
分账接收账号 accNo String(512) 1231312@qq.com 分账接收账号, 微信个人是openid, 支付宝可以是userId或登录名
分账接收账号名称 accName String(30) 张三 微信选填(当填入则验证),支付宝账号必填
分账关系类型 relationType String(30) wxpay 分账关系类型:
SERVICE_PROVIDER:服务商
STORE:门店
STAFF:员工
STORE_OWNER:店主
PARTNER:合作伙伴
HEADQUARTER:总部
BRAND:品牌方
DISTRIBUTOR:分销商
USER:用户
SUPPLIER:供应商
CUSTOM:自定义
分账关系类型名称 relationTypeName String(30) wxpay 当relationType=CUSTOM 必填
渠道特殊信息 channelExtInfo String(256) wxpay 渠道特殊信息
默认分账比例 divisionProfit String(10) wxpay 若分账30% 则填入 0.3
请求时间 reqTime long 1622016572190 请求接口时间,13位时间戳
接口版本 version String(3) 1.0 接口版本号,固定:1.0
签名 sign String(32) C380BEC2BFD727A4B6845133519F3AD6 签名值,详见签名算法
签名类型 signType String(32) MD5 签名类型,目前只支持MD5或RSA2方式

请求示例数据

{
 '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' 
}

返回参数

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

data数据格式

字段名 变量名 必填 类型 示例值 描述
绑定账号ID receiverId long 10001 绑定账号ID, 订单分账将使用该ID
接收者账号别名 receiverAlias String(64) 张三 接收者账号别名
组ID receiverGroupId long 10001 组ID
分账接收账号类型 accType int 1 分账接收账号类型: 0-个人(对私) 1-商户(对公)
分账接收账号 accNo String(10) 1231312@qq.com 分账接收账号
分账接收账号名称 accName String(30) 张三 分账接收账号名称
分账关系类型 relationType String(30) wxpay 分账关系类型
渠道特殊信息 channelExtInfo String(256) wxpay 渠道特殊信息
默认分账比例 divisionProfit String(10) wxpay 默认分账比例
绑定成功时间 bindSuccessTime Long 1622016572190 绑定成功时间
绑定状态 bindState int 1 绑定状态 1-绑定成功, 0-绑定异常
渠道错误码 errCode String ACQ.PAYMENT_AUTH_CODE_INVALID 上游渠道返回的错误码
渠道错误描述 errMsg String Business Failed 失败 上游渠道返回的错误描述

返回示例数据

{
    "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.jeepay.vip/api/division/exec

请求方式:POST

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

请求参数

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

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

请求示例数据

{
 '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"}]' 
}
字段名 变量名 必填 类型 示例值 描述
返回状态 code int 0 0-处理成功,其他-处理有误,详见错误码
返回信息 msg String(128) 签名失败 具体错误原因,例如:签名失败、参数格式校验错误
签名信息 sign String(32) CCD9083A6DAD9A2DA9F668C3D4517A84 对data内数据签名,如data为空则不返回
返回数据 data String(512) {} 返回下单数据,json格式数据

data数据格式

字段名 变量名 必填 类型 示例值 描述
分账状态 state int 2 分账状态 1-分账成功, 2-分账失败, 3-分账处理中,4-分账已受理
上游分账批次号 channelBatchOrderId String(30) T20160427210604000490 上游分账批次号
系统分账批次号 batchOrderId String(30) D1792435159956271105 系统分账批次号 v3.7.0新增
渠道错误码 errCode String 1002 渠道返回错误码
渠道错误描述 errMsg String ERROR 渠道返回错误描述

返回示例数据

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

订单分账查询

订单分账结果的查询。

接口说明

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

请求URL:https://pay.jeepay.vip/api/division/query

请求方式:POST

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

请求参数

字段名 变量名 必填 类型 示例值 描述
商户号 mchNo String(64) M1621873433953 商户号
应用ID appId String(64) 60cc09bce4b0f1c0b83761c9 应用ID
支付订单号 payOrderId String(30) P20160427210604000490 支付中心生成的支付订单号,与mchOrderNo二者传一即可
商户单号 mchOrderNo String(64) 20160427210604000490 商户生成的支付单号,与payOrderId二者传一即可
系统分账批次号 batchOrderId String(30) D1622016572190 分账接口返回的系统分账批次号
分账接收者ID receiverId long 80000021 非必填,若传入则仅查询该ID的分账结果
请求时间 reqTime long 1622016572190 请求接口时间,13位时间戳
接口版本 version String(3) 1.0 接口版本号,固定:1.0
签名 sign String(32) C380BEC2BFD727A4B6845133519F3AD6 签名值,详见签名算法
签名类型 signType String(32) MD5 签名类型,目前只支持MD5或RSA2方式

请求示例数据

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

data数据格式

字段名 变量名 必填 类型 示例值 描述
支付系统订单号 payOrderId Stirng P92332433423442 支付系统订单号
系统分账批次号 batchOrderId String(30) D20160427210604000490 系统分账批次号
上游分账批次号 channelBatchOrderId String(30) TGES202106040 上游分账批次号,可能为空
详细信息 records String JSON数组,String类型 详细信息

records数据格式

字段名 变量名 必填 类型 示例值 描述
分账记录ID recordId Stirng 1007 分账记录ID
状态 state int 1 状态: 0-待分账 1-分账成功, 2-分账失败, 3-分账处理中,4-分账已受理
分账接收者ID receiverId Long 800001 分账接收者ID
组ID receiverGroupId Long 9801 组ID
分账接收者别名 receiverAlias String 张三 分账接收者别名
分账接收账号 accNo String 628480039999330009 分账接收账号
分账接收账号名称 accName String 张三 分账接收账号名称
分账接收账号类型 accType int 1 0-个人 1-商户
系统分账批次号 batchOrderId String D1000001 系统分账批次号
上游分账批次号 channelBatchOrderId String(30) TGES202106040 上游分账批次号,可能为空
计算该接收方的分账金额 calDivisionAmount String 1908 计算该接收方的分账金额,单位分
实际分账比例 divisionProfit Decimal 0.200000 实际分账比例

返回示例数据

{
"code":0,
"data":{
"batchOrderId":"D1792435159956271105",
"records":"[{\"accName\":\"A\",\"accNo\":\"A\",\"accType\":0,\"batchOrderId\":\"D1792435159956271105\",\"calDivisionAmount\":1980,\"divisionProfit\":0.200000,\"receiverAlias\":\"A\",\"receiverGroupId\":100001,\"receiverId\":800001,\"recordId\":1007,\"state\":1},{\"accName\":\"B\",\"accNo\":\"B\",\"accType\":0,\"batchOrderId\":\"D1792435159956271105\",\"calDivisionAmount\":990,\"divisionProfit\":0.100000,\"receiverAlias\":\"B\",\"receiverGroupId\":100001,\"receiverId\":800002,\"recordId\":1008,\"state\":1}]"
},
"msg":"SUCCESS",
"sign":"ABA5F4300D536E10CCB1FC677847773D"
}

查询分账用户的可用余额

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

接口说明

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

请求URL:https://pay.jeepay.vip/api/division/receiver/channelBalanceQuery

请求方式:POST

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

请求参数

字段名 变量名 必填 类型 示例值 描述
商户号 mchNo String(64) M1621873433953 商户号
应用ID appId String(64) 60cc09bce4b0f1c0b83761c9 应用ID
分账用户ID receiverId Long 800021 分账用户ID(创建成功后返回)
请求时间 reqTime long 1622016572190 请求接口时间,13位时间戳
接口版本 version String(3) 1.0 接口版本号,固定:1.0
签名 sign String(32) C380BEC2BFD727A4B6845133519F3AD6 签名值,详见签名算法
签名类型 signType String(32) MD5 签名类型,目前只支持MD5或RSA2方式

请求示例数据

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

data数据格式

字段名 变量名 必填 类型 示例值 描述
分账用户ID receiverId int 800021 分账用户ID
余额 balanceAmount Long 20 余额, 单位:分

返回示例数据

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

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

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

接口说明

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

请求URL:https://pay.jeepay.vip/api/division/receiver/channelBalanceCashout

请求方式:POST

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

请求参数

字段名 变量名 必填 类型 示例值 描述
商户号 mchNo String(64) M1621873433953 商户号
应用ID appId String(64) 60cc09bce4b0f1c0b83761c9 应用ID
分账用户ID receiverId Long 800021 分账用户ID(创建成功后返回)
提现金额 cashoutAmount Long 100 提现金额,单位分
请求时间 reqTime long 1622016572190 请求接口时间,13位时间戳
接口版本 version String(3) 1.0 接口版本号,固定:1.0
签名 sign String(32) C380BEC2BFD727A4B6845133519F3AD6 签名值,详见签名算法
签名类型 signType String(32) MD5 签名类型,目前只支持MD5或RSA2方式

请求示例数据

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

data数据格式

字段名 变量名 必填 类型 示例值 描述
分账用户ID receiverId int 800021 分账用户ID
状态 state byte 1 提现状态: 1-成功, 0-失败
渠道错误码 errCode String 1002 渠道返回错误码
渠道错误描述 errMsg String ERROR 渠道返回错误描述

返回示例数据

{
    "code": 0,
    "data": {
        "receiverId": 801
        "state": 1,
    },
    "msg": "SUCCESS",
    "sign": "5F16138F18AC367165B60CD97BA8CA27"
}
文档更新时间: 2024-09-03 14:52   作者:大森林