商户进件
特约商户进件
基础支付
JSAPI支付
APP支付
H5支付
Native支付
小程序支付
合单支付
付款码支付
经营能力
支付即服务
点金计划
行业方案
电商收付通(商户进件)
电商收付通(普通支付)
电商收付通(合单支付)
电商收付通(分账)
电商收付通(补差)
电商收付通(退款)
电商收付通(余额查询)
电商收付通(商户提现)
电商收付通(下载账单)
智慧商圈
微信支付分停车服务
营销工具
代金券
商家券
委托营销
支付有礼
小程序发券插件
H5发券
图片上传(营销专用)
现金红包
资金应用
分账
连锁品牌分账
风险合规
商户开户意愿确认
消费者投诉2.0
其他能力
图片上传
视频上传

请求分账API

最新更新时间:2021.05.11 版本说明


微信订单支付成功后,服务商代特约商户发起分账请求,将结算后的资金分到分账接收方

注意:

• 对同一笔订单最多能发起20次分账请求,每次请求最多分给50个接收方

• 此接口采用异步处理模式,即在接收到商户请求后,优先受理请求再异步处理,最终的分账结果可以通过查询分账接口获取

接口说明

适用对象:服务商

请求URL:https://api.mch.weixin.qq.com/v3/profitsharing/orders

请求方式:POST


path 指该参数为路径参数

query 指该参数为URL参数

body 指该参数需在请求JSON传参


请求参数

参数名 变量 类型[长度限制] 必填 描述
子商户号 sub_mchid string[1,32] body微信支付分配的子商户号,即分账的出资商户号。
示例值:1900000109
应用ID appid string[1, 32] body微信分配的服务商appid
示例值:wx8888888888888888
子商户应用ID sub_appid string[1, 32] body微信分配的子商户公众账号ID,分账接收方类型包含PERSONAL_SUB_OPENID时必填。
示例值:wx8888888888888889
微信订单号 transaction_id string[1, 32] body微信支付订单号
示例值:4208450740201411110007820472
商户分账单号 out_order_no string[1,64] body服务商系统内部的分账单号,在服务商系统内部唯一,同一分账单号多次请求等同一次。只能是数字、大小写字母_-|*@
示例值:P20150806125346
+分账接收方列表 receivers array body分账接收方列表,可以设置出资商户作为分账接受方,最多可有50个分账接收方
参数名 变量 类型[长度限制] 必填 描述
分账接收方类型 type string[1, 32] 1、MERCHANT_ID:商户号
2、PERSONAL_OPENID:个人openid(由父商户APPID转换得到)
3、PERSONAL_SUB_OPENID: 个人sub_openid(由子商户APPID转换得到)
示例值:MERCHANT_ID
分账接收方账号 account string[1, 64] 1、分账接收方类型为MERCHANT_ID时,分账接收方账号为商户号
2、分账接收方类型为PERSONAL_OPENID时,分账接收方账号为个人openid
3、分账接收方类型为
PERSONAL_SUB_OPENID时,分账接收方账号为个人sub_openid
示例值:86693852
分账个人接收方姓名 name string[1, 1024] 可选项,在接收方类型为个人的时可选填,若有值,会检查与 name 是否实名匹配,不匹配会拒绝分账请求
1、分账接收方类型是PERSONAL_OPENID或PERSONAL_SUB_OPENID时,是个人姓名的密文(选传,传则校验) 此字段的加密方法详见:敏感信息加密说明
2、使用微信支付平台证书中的公钥
3、使用RSAES-OAEP算法进行加密
4、将请求中HTTP头部的Wechatpay-Serial设置为证书序列号
示例值:hu89ohu89ohu89o
分账金额 amount int 分账金额,单位为分,只能为整数,不能超过原订单支付金额及最大分账比例金额
示例值:888
分账描述 description string[1, 80] 分账的原因描述,分账账单中需要体现
示例值:分给商户A
是否解冻剩余未分资金 unfreeze_unsplit boolean body1、如果为true,该笔订单剩余未分账的金额会解冻回分账方商户;
2、如果为false,该笔订单剩余未分账的金额不会解冻回分账方商户,可以对该笔订单再次进行分账。
示例值:true

请求示例


{
  "sub_mchid": "1900000109",
  "appid": "wx8888888888888888",
  "sub_appid": "wx8888888888888889",
  "transaction_id": "4208450740201411110007820472",
  "out_order_no": "P20150806125346",
  "receivers": [
    {
      "type": "MERCHANT_ID",
      "account": "86693852",
      "name": "hu89ohu89ohu89o",
      "amount": 888,
      "description": "分给商户A"
    }
  ],
  "unfreeze_unsplit": true
}

{
JAVA示例代码
}

返回参数

参数名 变量 类型[长度限制] 必填 描述
子商户号 sub_mchid string[1, 32] 微信支付分配的子商户号,即分账的出资商户号。
示例值:1900000109
微信订单号 transaction_id string[1, 32] 微信支付订单号
示例值:4208450740201411110007820472
商户分账单号 out_order_no string[1, 64] 商户系统内部的分账单号,在商户系统内部唯一,同一分账单号多次请求等同一次。只能是数字、大小写字母_-|*@
示例值:P20150806125346
微信分账单号 order_id string[1, 64] 微信分账单号,微信系统返回的唯一标识
示例值:3008450740201411110007820472
分账单状态 state string[1, 32] 分账单状态(每个接收方的分账结果请查看receivers中的result字段),枚举值:
1、PROCESSING:处理中
2、FINISHED:分账完成
示例值:FINISHED
+分账接收方列表 receivers array 分账接收方列表
参数名 变量 类型[长度限制] 必填 描述
分账金额 amount int 分账金额,单位为分,只能为整数,不能超过原订单支付金额及最大分账比例金额
示例值:100
分账描述 description string[1, 80] 分账的原因描述,分账账单中需要体现
示例值:分给商户1900000110
分账接收方类型 type string[1, 32] 1、MERCHANT_ID:商户号
2、PERSONAL_OPENID:个人openid(由父商户APPID转换得到)
3、PERSONAL_SUB_OPENID: 个人sub_openid(由子商户APPID转换得到)
示例值:MERCHANT_ID
分账接收方账号 account string[1, 64] 1、分账接收方类型为MERCHANT_ID时,分账接收方账号为商户号
2、分账接收方类型为PERSONAL_OPENID时,分账接收方账号为个人openid
3、分账接收方类型为
PERSONAL_SUB_OPENID时,分账接收方账号为个人sub_openid
示例值:1900000109
分账结果 result string[1, 32] 枚举值:
1、PENDING:待分账
2、SUCCESS:分账成功
3、CLOSED:已关闭
示例值:SUCCESS
分账失败原因 fail_reason string[1, 64] 分账失败原因。包含以下枚举值:
1、ACCOUNT_ABNORMAL : 分账接收账户异常
2、NO_RELATION : 分账关系已解除
3、RECEIVER_HIGH_RISK : 高风险接收方
4、RECEIVER_REAL_NAME_NOT_VERIFIED : 接收方未实名
5、NO_AUTH : 分账权限已解除
示例值:ACCOUNT_ABNORMAL
分账明细单号 detail_id string[1,64] 微信分账明细单号,每笔分账业务执行的明细单号,可与资金账单对账使用
示例值:36011111111111111111111
分账创建时间 create_time string[1, 64] 分账创建时间,遵循rfc3339标准格式,格式为YYYY-MM-DDTHH:mm:ss.sss+TIMEZONE,YYYY-MM-DD表示年月日,T出现在字符串中,表示time元素的开头,HH:mm:ss.sss表示时分秒毫秒,TIMEZONE表示时区(+08:00表示东八区时间,领先UTC 8小时,即北京时间)。例如:2015-05-20T13:29:35.120+08:00表示,北京时间2015年5月20日 13点29分35秒。
示例值:2015-05-20T13:29:35.120+08:00
分账完成时间 finish_time string[1, 64] 分账完成时间,遵循rfc3339标准格式,格式为YYYY-MM-DDTHH:mm:ss.sss+TIMEZONE,YYYY-MM-DD表示年月日,T出现在字符串中,表示time元素的开头,HH:mm:ss.sss表示时分秒毫秒,TIMEZONE表示时区(+08:00表示东八区时间,领先UTC 8小时,即北京时间)。例如:2015-05-20T13:29:35.120+08:00表示,北京时间2015年5月20日 13点29分35秒。
示例值:2015-05-20T13:29:35.120+08:00

返回示例


{
  "sub_mchid": "1900000109",
  "transaction_id": "4208450740201411110007820472",
  "out_order_no": "P20150806125346",
  "order_id": "3008450740201411110007820472",
  "state": "FINISHED",
  "receivers": [
    {
      "amount": 100,
      "description": "分给商户1900000110",
      "type": "MERCHANT_ID",
      "account": "1900000109",
      "result": "SUCCESS",
      "detail_id": "36011111111111111111111",
      "fail_reason": "ACCOUNT_ABNORMAL",
      "create_time": "2015-05-20T13:29:35.120+08:00",
      "finish_time": "2015-05-20T13:29:35.120+08:00"
    }
  ]
}
                    

http://2323weixin.qq.com
                    

错误码公共错误码

状态码 错误码 描述 解决方案
500 SYSTEM_ERROR 系统错误 系统异常,请使用相同参数稍后重新调用
400 PARAM_ERROR 订单号格式不正确 请使用正确的参数重新调用
400 INVALID_REQUEST 请求参数符合参数格式,但不符合业务规则 请根据返回的错误信息确认违反的业务规则
429 FREQUENCY_LIMITED 对同笔订单分账频率过高 请降低频率后重试
403 NO_AUTH 商户无权限 请开通商户号分账权限
403 NOT_ENOUGH 分账金额不足 调整分账金额


技术咨询

文档反馈