分账接口
<h2>分账业务</h2>
<blockquote>
<p>业务介绍:商户分账主要用于商户将交易成功的资金,按照一定的周期,分账给其他方,可以是合作伙伴、员工、用户或者其他分润方。</p>
</blockquote>
<p>参考微信文档:</p>
<p><img src="https://www.showdoc.com.cn/server/api/attachment/visitfile/sign/df2c30fdcb0e7aa1f5878097f2f78471" alt="" /></p>
<p>微信分账:<a href="https://pay.weixin.qq.com/wiki/doc/api/allocation.php?chapter=26_1">https://pay.weixin.qq.com/wiki/doc/api/allocation.php?chapter=26_1</a>
支付宝分账: <a href="https://opendocs.alipay.com/open/20190308105425129272/intro">https://opendocs.alipay.com/open/20190308105425129272/intro</a></p>
<p>接口目录:</p>
<h2>绑定分账用户</h2>
<blockquote>
<p>接口说明</p>
</blockquote>
<p>适用对象:<code>普通商户 特约商户</code></p>
<p>请求URL:<code>https://j.mirpays.com/api/division/receiver/bind</code></p>
<p>请求方式:<code>POST</code></p>
<p>请求类型:<code>application/json</code> 或 <code>application/x-www-form-urlencoded</code></p>
<p>请求参数</p>
<table>
<thead>
<tr>
<th>字段名</th>
<th>变量名</th>
<th>必填</th>
<th>类型</th>
<th>示例值</th>
<th>描述</th>
</tr>
</thead>
<tbody>
<tr>
<td>商户号</td>
<td>mchNo</td>
<td>是</td>
<td>String(30)</td>
<td>M1621873433953</td>
<td>商户号</td>
</tr>
<tr>
<td>应用ID</td>
<td>appId</td>
<td>是</td>
<td>String(24)</td>
<td>60cc09bce4b0f1c0b83761c9</td>
<td>应用ID</td>
</tr>
<tr>
<td>接口代码</td>
<td>ifCode</td>
<td>是</td>
<td>String(10)</td>
<td>wxpay</td>
<td>wxpay-微信官方接口 ; alipay-支付宝官方接口</td>
</tr>
<tr>
<td>接收者账号别名</td>
<td>receiverAlias</td>
<td>是</td>
<td>String(64)</td>
<td>张三</td>
<td>接收者账号别名</td>
</tr>
<tr>
<td>组ID</td>
<td>receiverGroupId</td>
<td>是</td>
<td>long</td>
<td>10001</td>
<td>需先登录商户系统查找待加入的组ID</td>
</tr>
<tr>
<td>分账接收账号类型</td>
<td>accType</td>
<td>是</td>
<td>int</td>
<td>1</td>
<td>分账接收账号类型: 0-个人(对私) 1-商户(对公)</td>
</tr>
<tr>
<td>分账接收账号</td>
<td>accNo</td>
<td>是</td>
<td>String(10)</td>
<td>1231312@qq.com</td>
<td>分账接收账号, 微信个人是openid, 支付宝可以是userId或登录名</td>
</tr>
<tr>
<td>分账接收账号名称</td>
<td>accName</td>
<td>否</td>
<td>String(30)</td>
<td>张三</td>
<td>微信选填(当填入则验证),支付宝账号必填</td>
</tr>
<tr>
<td>分账关系类型</td>
<td>relationType</td>
<td>是</td>
<td>String(30)</td>
<td>wxpay</td>
<td>分账关系类型:</br>SERVICE_PROVIDER:服务商</br>STORE:门店</br>STAFF:员工</br>STORE_OWNER:店主</br>PARTNER:合作伙伴</br>HEADQUARTER:总部</br>BRAND:品牌方</br>DISTRIBUTOR:分销商</br>USER:用户</br>SUPPLIER:供应商</br>CUSTOM:自定义</br></td>
</tr>
<tr>
<td>分账关系类型名称</td>
<td>relationTypeName</td>
<td>否</td>
<td>String(30)</td>
<td>wxpay</td>
<td>当relationType=CUSTOM 必填</td>
</tr>
<tr>
<td>渠道特殊信息</td>
<td>channelExtInfo</td>
<td>否</td>
<td>String(256)</td>
<td>wxpay</td>
<td>渠道特殊信息</td>
</tr>
<tr>
<td>默认分账比例</td>
<td>divisionProfit</td>
<td>是</td>
<td>String(10)</td>
<td>wxpay</td>
<td>若分账30% 则填入 0.03</td>
</tr>
<tr>
<td>请求时间</td>
<td>reqTime</td>
<td>是</td>
<td>long</td>
<td>1622016572190</td>
<td>请求接口时间,13位时间戳</td>
</tr>
<tr>
<td>接口版本</td>
<td>version</td>
<td>是</td>
<td>String(3)</td>
<td>1.0</td>
<td>接口版本号,固定:1.0</td>
</tr>
<tr>
<td>签名</td>
<td>sign</td>
<td>是</td>
<td>String(32)</td>
<td>C380BEC2BFD727A4B6845133519F3AD6</td>
<td>签名值,详见签名算法</td>
</tr>
<tr>
<td>签名类型</td>
<td>signType</td>
<td>是</td>
<td>String(32)</td>
<td>MD5</td>
<td>签名类型,目前只支持MD5方式</td>
</tr>
</tbody>
</table>
<p><code>请求示例数据</code></p>
<pre><code>{
'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></pre>
<p><code>返回参数</code></p>
<table>
<thead>
<tr>
<th>字段名</th>
<th>变量名</th>
<th>必填</th>
<th>类型</th>
<th>示例值</th>
<th>描述</th>
</tr>
</thead>
<tbody>
<tr>
<td>返回状态</td>
<td>code</td>
<td>是</td>
<td>int</td>
<td>0</td>
<td>0-处理成功,其他-处理有误,详见错误码</td>
</tr>
<tr>
<td>返回信息</td>
<td>msg</td>
<td>否</td>
<td>String(128)</td>
<td>签名失败</td>
<td>具体错误原因,例如:签名失败、参数格式校验错误</td>
</tr>
<tr>
<td>签名信息</td>
<td>sign</td>
<td>否</td>
<td>String(32)</td>
<td>CCD9083A6DAD9A2DA9F668C3D4517A84</td>
<td>对data内数据签名,如data为空则不返回</td>
</tr>
<tr>
<td>返回数据</td>
<td>data</td>
<td>否</td>
<td>String(512)</td>
<td>{}</td>
<td>返回下单数据,json格式数据</td>
</tr>
</tbody>
</table>
<p><code>data数据格式</code></p>
<table>
<thead>
<tr>
<th>字段名</th>
<th>变量名</th>
<th>必填</th>
<th>类型</th>
<th>示例值</th>
<th>描述</th>
</tr>
</thead>
<tbody>
<tr>
<td>绑定账号ID</td>
<td>receiverId</td>
<td>是</td>
<td>long</td>
<td>10001</td>
<td>绑定账号ID, 订单分账将使用该ID</td>
</tr>
<tr>
<td>接收者账号别名</td>
<td>receiverAlias</td>
<td>是</td>
<td>String(64)</td>
<td>张三</td>
<td>接收者账号别名</td>
</tr>
<tr>
<td>组ID</td>
<td>receiverGroupId</td>
<td>是</td>
<td>long</td>
<td>10001</td>
<td>组ID</td>
</tr>
<tr>
<td>分账接收账号类型</td>
<td>accType</td>
<td>是</td>
<td>int</td>
<td>1</td>
<td>分账接收账号类型: 0-个人(对私) 1-商户(对公)</td>
</tr>
<tr>
<td>分账接收账号</td>
<td>accNo</td>
<td>是</td>
<td>String(10)</td>
<td>1231312@qq.com</td>
<td>分账接收账号</td>
</tr>
<tr>
<td>分账接收账号名称</td>
<td>accName</td>
<td>否</td>
<td>String(30)</td>
<td>张三</td>
<td>分账接收账号名称</td>
</tr>
<tr>
<td>分账关系类型</td>
<td>relationType</td>
<td>是</td>
<td>String(30)</td>
<td>wxpay</td>
<td>分账关系类型</td>
</tr>
<tr>
<td>渠道特殊信息</td>
<td>channelExtInfo</td>
<td>否</td>
<td>String(256)</td>
<td>wxpay</td>
<td>渠道特殊信息</td>
</tr>
<tr>
<td>默认分账比例</td>
<td>divisionProfit</td>
<td>是</td>
<td>String(10)</td>
<td>wxpay</td>
<td>默认分账比例</td>
</tr>
<tr>
<td>绑定成功时间</td>
<td>bindSuccessTime</td>
<td>是</td>
<td>Long</td>
<td>1622016572190</td>
<td>绑定成功时间</td>
</tr>
<tr>
<td>绑定状态</td>
<td>bindState</td>
<td>是</td>
<td>int</td>
<td>1</td>
<td>绑定状态 1-绑定成功, 0-绑定异常</td>
</tr>
<tr>
<td>渠道错误码</td>
<td>errCode</td>
<td>否</td>
<td>String</td>
<td>ACQ.PAYMENT_AUTH_CODE_INVALID</td>
<td>上游渠道返回的错误码</td>
</tr>
<tr>
<td>渠道错误描述</td>
<td>errMsg</td>
<td>否</td>
<td>String</td>
<td>Business Failed 失败</td>
<td>上游渠道返回的错误描述</td>
</tr>
</tbody>
</table>
<p><code>返回示例数据</code></p>
<p>```{
"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"
}</p>
<pre><code>
## 发起订单分账
当订单下单时传入的分账模式 divisionMode = 2商户手动分账(解冻商户金额),支持商户手动发起订单分账。
注意:需要在订单支付完成后(建议1分钟后)调用分账接口。
接口说明
适用对象:`普通商户 特约商户`
请求URL:https://j.mirpays.com/api/division/exec
请求方式:`POST`
请求类型:`application/json` 或 `application/x-www-form-urlencoded`
请求参数
|字段名 | 变量名 | 必填 | 类型 | 示例值 | 描述|
| ------------ | ------------ | ------------ | ------------ | ------------ |
|商户号|mchNo|是|String(30)|M1621873433953|商户号|
|应用ID|appId|是|String(24)|60cc09bce4b0f1c0b83761c9|应用ID|
|支付订单号|payOrderId|否|String(30)|P20160427210604000490|支付中心生成的支付订单号,与mchOrderNo二者传一即可|
|商户单号|mchOrderNo|否|String(30)|20160427210604000490|商户生成的支付单号,与payOrderId二者传一即可|
|是否使用系统配置的自动分账组|useSysAutoDivisionReceivers|是|int|1|是否使用系统配置的自动分账组: 0-否 1-是|
|分账接收者账号列表|receivers|否|String(512)|[]|接收者账号列表(JSONArray 转换为字符串类型)仅当useSysAutoDivisionReceivers=0 时该字段值有效。</br>参考:</br>方式1: 按账号纬度</br>[{</br>receiverId: 800001,</br>divisionProfit: 0.1</br> (若不填入则使用系统默认配置值)</br>}]</br>方式2: 按组纬度</br>[{</br>receiverGroupId: 100001, (该组所有</br>当前订单的渠道账号并且可用状态的全部参与分账)</br> divisionProfit: 0.1 (每个账号的分账比例,</br>若不填入则使用系统默认配置值, 建议不填写)</br>}]</br>
|
|请求时间|reqTime|是|long|1622016572190|请求接口时间,13位时间戳|
|接口版本|version|是|String(3)|1.0|接口版本号,固定:1.0|
|签名|sign|是|String(32)|C380BEC2BFD727A4B6845133519F3AD6|签名值,详见签名算法|
|签名类型|signType|是|String(32)|MD5|签名类型,目前只支持MD5方式|
请求示例数据
</code></pre>
<p>{
'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"}]'
}</p>
<pre><code>
|字段名 | 变量名 | 必填 | 类型 | 示例值 | 描述|
| ------------ | ------------ | ------------ | ------------ | ------------ |
|返回状态|code|是|int|0|0-处理成功,其他-处理有误,详见错误码|
|返回信息|msg|否|String(128)|签名失败|具体错误原因,例如:签名失败、参数格式校验错误|
|签名信息|sign|否|String(32)|CCD9083A6DAD9A2DA9F668C3D4517A84|对data内数据签名,如data为空则不返回|
|返回数据|data|否|String(512)|{}|返回下单数据,json格式数据|
`data数据格式`
|字段名 | 变量名 | 必填 | 类型 | 示例值 | 描述|
| ------------ | ------------ | ------------ | ------------ | ------------ |
| 转账状态|state|是|int|2|分账状态 1-分账成功, 2-分账失败|
| 上游分账批次号|channelBatchOrderId|否|String(30)|T20160427210604000490|上游分账批次号|
| 渠道错误码|errCode|否|String|1002|渠道返回错误码|
| 渠道错误描述|errMsg|否|String|ERROR|渠道返回错误描述|
`返回示例数据`
</code></pre>
<p>{
"code": 0,
"data": {
"errCode": "unknown-sub-code",
"errMsg": "Business Failed【未知的错误码ACQ.ROYALTY_ACCOUNT_NOT_EXIST】",
"state": 2
},
"msg": "SUCCESS",
"sign": "56836E18015DD7E4FAFE45380C0AD098"
}</p>
<pre><code></code></pre>