请求分账

更新时间:2025.09.29

微信订单支付成功后,由服务商发起分账请求,将结算后的资金分给分账接收方。
注意:

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

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

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

  4. 服务商需确保向微信支付传输用户身份信息和账号标识信息做一致性校验已合法征得用户授权

接口说明

支持商户:【普通服务商】

请求方式:【POST】/v3/brand/profitsharing/orders

请求域名:【主域名】https://api.mch.weixin.qq.com 使用该域名将访问就近的接入点

     【备域名】https://api2.mch.weixin.qq.com 使用该域名将访问异地的接入点 ,指引点击查看

请求参数
折叠全部参数

Header  HTTP头参数

 Authorization  必填 string

请参考签名认证生成认证信息


 Accept  必填 string

请设置为application/json


 Content-Type  必填 string

请设置为application/json


 Wechatpay-Serial  必填 string

【微信支付公钥ID】或【微信支付平台证书序列号】  请求参数中的敏感字段,需要使用微信支付公钥加密(推荐),请参考获取微信支付公钥ID说明以及微信支付公钥加密敏感信息指引;也可以使用微信支付平台证书公钥加密,参考获取平台证书序列号平台证书加密敏感信息指引


body  包体参数

 brand_mchid  必填   string(32)

【品牌主商户号】 品牌主商户号,填写微信支付分配的商户号。详情见:品牌-门店关系管理


 sub_mchid  必填   string(32)

【特约商户号】 订单收款方商户号,填写微信支付分配的商户号,可以是品牌主商户号,也可以是门店商户号


 appid  选填   string(32)

【公众账号ID】 APPID是微信开放平台(移动应用)或微信公众平台(小程序、公众号)为开发者的应用程序提供的唯一标识。此处,可以填写这三种类型中的任意一种APPID,但请确保该appid与mchid有绑定关系。详见:开发必要参数说明。分账接收方类型包含PERSONAL_OPENID时必填


 sub_appid  选填   string(32)

【品牌主公众账号ID】 APPID是微信开放平台(移动应用)或微信公众平台(小程序、公众号)为开发者的应用程序提供的唯一标识。此处,可以填写这三种类型中的任意一种APPID,但请确保该sub_appid与sub_mchid有绑定关系。详见:开发必要参数说明。分账接收方类型包含PERSONAL_SUB_OPENID时必填


 transaction_id  必填   string(32)

【微信订单号】 微信支付订单号


 out_order_no  必填   string(64)

【商户分账单号】 商户系统内部的分账单号,在商户系统内部唯一(单次分账、多次分账、完结分账应使用不同的商户分账单号),同一分账单号多次请求等同一次。只能是数字、大小写字母_-|*@


 receivers  必填   array[object]

【分账接收方列表】 分账接收方列表,可以设置出资商户作为分账接受方,最多可有50个分账接收方

属性

 type  必填   string(32)

【接收方类型】 

  • MERCHANT_ID:商户号

  • PERSONAL_OPENID:个人OpenID(用户在商户appid下的唯一标识,详见 OpenID获取

  • PERSONAL_SUB_OPENID:个人OpenID(用户在品牌主appid下的唯一标识,详见 OpenID获取


 account  必填   string(64)

【接收方账号】 

  • 分账接收方类型为MERCHANT_ID时,分账接收方账号为商户号(mch_id或者sub_mch_id)

  • 分账接收方类型为PERSONAL_OPENID时,分账接收方账号为个人OpenID(由服务商的AppID转换得到)

  • 分账接收方类型为PERSONAL_SUB_OPENID时,分账接收方账号为个人OpenID(由品牌主的AppID转换得到)


 amount  必填   integer

【分账金额】 分账金额,单位为分,只能为整数,不能超过原订单支付金额及最大分账比例金额。调整最大分账比例:品牌主登录商户平台,进入以下页面:品牌专区-品牌交易-品牌供应链分账-供应链分账管理


 description  必填   string(80)

【分账描述】 分账的原因描述,会在查询分账结果接口和分账账单中原样返回


 name  选填   string(10240)

【分账个人接收方姓名】 * 分账接收方类型是MERCHANT_ID时,是商户全称(必传),当商户是小微商户或个体户时,是开户人姓名

  • 分账接收方类型是PERSONAL_OPENID时,是个人姓名(选传,传则会检查与 name 是否实名匹配,不匹配会拒绝分账请求)

  • 分账接收方类型是PERSONAL_SUB_OPENID时,是个人姓名(选传,传则会检查与 name 是否实名匹配,不匹配会拒绝分账请求)

  1. 此字段需要使用微信支付公钥加密(推荐),请参考获取微信支付公钥ID说明以及微信支付公钥加密敏感信息指引,也可以使用微信支付平台证书公钥加密,参考获取平台证书序列号平台证书加密敏感信息指引

  2. 使用微信支付平台证书中的公钥

  3. 使用RSAES-OAEP算法进行加密

  4. 将请求中HTTP头部的Wechatpay-Serial设置为微信支付公钥ID或微信支付平台证书序列号


 finish  必填   boolean

【是否分账完成】 

  • 如果为true,则该笔订单剩余未分账的金额会解冻回分账方商户

  • 如果为false,则该笔订单剩余未分账的金额不会解冻回分账方商户,可以对该笔订单再次进行分账

请求示例

curl
Java
Go

POST

1curl -X POST \
2  https://api.mch.weixin.qq.com/v3/brand/profitsharing/orders \
3  -H "Authorization: WECHATPAY2-SHA256-RSA2048 mchid=\"1900000001\",..." \
4  -H "Accept: application/json" \
5  -H "Wechatpay-Serial: 5157F09EFDC096DE15EBE81A47057A7232F1B8E1"  \
6  -H "Content-Type: application/json" \
7  -d '{
8    "brand_mchid" : "1900000108",
9    "sub_mchid" : "1900000109",
10    "appid" : "wx8888888888888888",
11    "sub_appid" : "wx8888888888888889",
12    "transaction_id" : "4208450740201411110007820472",
13    "out_order_no" : "P20150806125346",
14    "receivers" : [
15      {
16        "type" : "MERCHANT_ID",
17        "account" : "1900000109",
18        "amount" : 190,
19        "description" : "分给商户1900000110",
20        "name" : "hu89ohu89ohu89o"
21      }
22    ],
23    "finish" : true
24  }'
25

应答参数
折叠全部参数

200 OK

 brand_mchid  必填   string(32)

【品牌主商户号】 品牌主商户号,微信支付分配的商户号。


 sub_mchid  必填   string(32)

【特约商户号】 订单收款方商户号,填写微信支付分配的商户号,可以是品牌主商户号,也可以是门店商户号


 transaction_id  必填   string(32)

【微信订单号】 微信支付订单号


 out_order_no  必填   string(64)

【商户分账单号】 商户系统内部的分账单号,在商户系统内部唯一(单次分账、多次分账、完结分账应使用不同的商户分账单号),同一分账单号多次请求等同一次,只能是数字、大小写字母_-|*@。


 order_id  必填   string(64)

【微信分账单号】 微信分账单号,微信系统返回的唯一标识


 receivers  必填   array[object]

【分账接收方列表】 分账接收方列表

属性

 type  必填   string(32)

【接收方类型】 

  • MERCHANT_ID:商户号

  • PERSONAL_OPENID:个人OpenID(用户在商户appid下的唯一标识,详见 OpenID获取

  • PERSONAL_SUB_OPENID:个人OpenID(用户在品牌主appid下的唯一标识,详见 OpenID获取


 account  必填   string(64)

【接收方账号】 

  • 分账接收方类型为MERCHANT_ID时,分账接收方账号为商户号(mch_id或者sub_mch_id)

  • 分账接收方类型为PERSONAL_OPENID时,分账接收方账号为个人OpenID(由服务商的AppID转换得到)

  • 分账接收方类型为PERSONAL_SUB_OPENID时,分账接收方账号为个人OpenID(由品牌主的AppID转换得到)


 amount  必填   integer

【分账金额】 分账金额,单位为分,只能为整数


 description  必填   string(80)

【分账描述】 分账的原因描述,会在查询分账结果接口和分账账单中原样返回


 result  必填   string(32)

【分账结果】 

  • PENDING: 待分账,非终态

  • SUCCESS: 分账成功,终态

  • CLOSED: 已关闭,终态


 finish_time  必填   string

【分账完成时间】 分账完成时间,需遵循 RFC3339标准格式:yyyy-MM-DDTHH:mm:ss+TIMEZONE。yyyy-MM-DD 表示年月日;T 字符用于分隔日期和时间部分;HH:mm:ss 表示具体的时分秒;TIMEZONE 表示时区(例如,+08:00 对应东八区时间,即北京时间)。示例:2015-05-20T13:29:35+08:00 表示北京时间2015年5月20日13点29分35秒。


 fail_reason  选填   string(64)

【分账失败原因】 分账失败原因,当分账结果result为CLOSED(已关闭)时,返回该字段,具体处理方案请参考分账失败处理指引
可选取值:

  • ACCOUNT_ABNORMAL: 分账接收账户异常

  • NO_RELATION: 分账关系已解除

  • RECEIVER_HIGH_RISK: 高风险接收方

  • RECEIVER_REAL_NAME_NOT_VERIFIED: 接收方未实名

  • NO_AUTH: 分账权限已解除

  • RECEIVER_RECEIPT_LIMIT: 超出用户月收款限额

  • PAYER_ACCOUNT_ABNORMAL: 分出方账户异常

  • INVALID_REQUEST: 描述参数设置失败


 detail_id  必填   string(64)

【分账明细单号】 微信分账明细单号,每笔分账业务执行的明细单号,可与资金账单对账使用,对应资金账单中的“业务凭证号”


 status  选填   string

【分账单状态】 分账单状态(每个接收方的分账结果请查看receivers中的result字段)

可选取值

  • PROCESSING:  非终态,分账结果存在非终态,可稍后再次查询,直到状态为FINISHED。

  • FINISHED:  终态,仅代表分账动账执行完毕,每个接收方的分账结果请查看receivers中的result字段

应答示例

200 OK

1{
2  "brand_mchid" : "1900000108",
3  "sub_mchid" : "1900000109",
4  "transaction_id" : "4208450740201411110007820472",
5  "out_order_no" : "P20150806125346",
6  "order_id" : "6754760740201411110007865434",
7  "receivers" : [
8    {
9      "type" : "MERCHANT_ID",
10      "account" : "1900000109",
11      "amount" : 10,
12      "description" : "分帐1900000110",
13      "result" : "SUCCESS",
14      "finish_time" : "2015-05-20T13:29:35.120+08:00",
15      "fail_reason" : "NO_RELATION",
16      "detail_id" : "36011111111111111111111"
17    }
18  ],
19  "status" : "PROCESSING"
20}
21

 

错误码

以下是本接口返回的错误码列表。详细错误码规则,请参考微信支付接口规则-错误码和错误提示

状态码

错误码

描述

解决方案

400

PARAM_ERROR

参数错误

请根据错误提示正确传入参数

400

INVALID_REQUEST

HTTP 请求不符合微信支付 APIv3 接口规则

请参阅 接口规则

401

SIGN_ERROR

验证不通过

请参阅 签名常见问题

500

SYSTEM_ERROR

系统异常,请稍后重试

请稍后重试

403

NO_AUTH

商户无权限

请开通商户号分账权限

403

RULE_LIMIT

分账金额超出最大分账比例

确认分账金额

403

NOT_ENOUGH

分账金额不足

调整分账金额

429

FREQUENCY_LIMITED

对同笔订单分账频率过高

请降低频率后重试

 

元宝AI
反馈
目录
置顶