请求分账回退
更新时间:2025.08.21如果订单已经分账,在退款时,可以先调此接口,将已分账的资金从商户类型的分账接收方的账户回退给分账方,再发起退款。
注意:
分账回退以原分账单为依据,支持多次回退,申请回退总金额不能超过原分账单分给该接收方的金额。
此接口采用同步处理模式,即在接收到商户请求后,会实时返回处理结果。
退款和分账回退没有耦合,分账回退可以先于退款请求,也可以后于退款请求。
对同一笔分账单最多能发起50次分账回退请求。
不支持针对“分账到零钱”的分账单发起分账回退。
分账回退的时限是180天。
接口说明
支持商户:【普通服务商】
请求方式:【POST】/v3/brand/profitsharing/returnorders
请求域名:【主域名】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
body 包体参数
sub_mchid 必填 string(32)
【子商户号】 分账回退的接收商户,对应原分账出资的分账方商户,填写微信支付分配的商户号
order_id 选填 string(64)
【微信分账单号】 微信分账单号,微信系统返回的唯一标识。微信分账单号和商户分账单号二选一填写
out_order_no 选填 string(64)
【商户分账单号】 商户系统内部的分账单号,在商户系统内部唯一(单次分账、多次分账、完结分账应使用不同的商户分账单号),同一分账单号多次请求等同一次。微信分账单号和商户分账单号二选一填写 取值范围:[0-9a-zA-Z_*@-]
out_return_no 必填 string(64)
【商户回退单号】 此回退单号是商户在自己后台生成的一个新的回退单号,在商户后台唯一
return_mchid 必填 string(32)
【回退商户号】 分账回退的出资商户,只能对原分账请求中成功分给商户接收方进行回退
amount 必填 integer
【回退金额】 需要从分账接收方回退的金额,单位为分,只能为整数,不能超过原始分账单分出给该接收方的金额
description 必填 string(80)
【回退描述】 分账回退的原因描述
请求示例
需配合微信支付工具库 WXPayUtility 使用,请参考 Java
应答参数
200 OK
sub_mchid 必填 string
【子商户号】 分账回退的接收商户,对应原分账出资的分账方商户,填写微信支付分配的商户号。
order_id 必填 string
【微信分账单号】 参考请求参数
out_order_no 必填 string
【商户分账单号】 参考请求参数
out_return_no 必填 string
【商户回退单号】 此回退单号是商户在自己后台生成的一个新的回退单号,在商户后台唯一 只能是数字、大小写字母_-*@ ,同一回退单号多次请求等同一次。
return_mchid 必填 string
【回退商户号】 回退商户号只能填写原分账请求中接收分账的商户号。
amount 必填 integer
【回退金额】 需要从分账接收方回退的金额,单位为分,只能为整数,不能超过原始分账单分出给该接收方的金额
return_no 必填 string
【微信回退单号】 微信分账回退单号,微信系统返回的唯一标识
result 必填 string
【回退结果】 如果请求返回为处理中,则商户可以通过调用回退结果查询接口获取请求的最终处理结果。如果返回为处理中,请勿变更商户回退单号,使用相同的参数再次发起分账回退,否则会出现资金风险。在处理中状态的回退单如果5天没有成功,会因为超时被设置为已失败
枚举值:
PROCESSING:处理中
SUCCESS:已成功
FAIL:已失败
fail_reason 选填 string
【失败原因】 回退失败的原因,此字段仅回退结果为FAIL时存在,枚举值:
ACCOUNT_ABNORMAL:原分账接收方账户异常
TIME_OUT_CLOSED:超时关单
PAYER_ACCOUNT_ABNORMAL: 原分账分出方账户异常
finish_time 必填 string
【完成时间】 分账回退完成时间,遵循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年05月20日13点29分35秒。
应答示例
200 OK
错误码
公共错误码
状态码 | 错误码 | 描述 | 解决方案 |
---|---|---|---|
400 | PARAM_ERROR | 参数错误 | 请根据错误提示正确传入参数 |
400 | INVALID_REQUEST | HTTP 请求不符合微信支付 APIv3 接口规则 | 请参阅 接口规则 |
401 | SIGN_ERROR | 验证不通过 | 请参阅 签名常见问题 |
500 | SYSTEM_ERROR | 系统异常,请稍后重试 | 请稍后重试 |