请求分账回退

更新时间:2024.09.10

如果订单已经分账,在退款时,可以先调此接口,将已分账的资金从分账接收方的账户回退给分账方,再发起退款。

  1. 分账回退以原分账单为依据,支持多次回退,申请回退总金额不能超过原分账单分给该接收方的金额

  2. 此接口采用同步处理模式,即在接收到商户请求后,会实时返回处理结果

  3. 对同一笔分账单最多能发起20次分账回退请求

  4. 退款和分账回退没有耦合,分账回退可以先于退款请求,也可以后于退款请求

  5. 此功能需要接收方在商户平台-交易中心-分账-分账接收设置下,开启同意分账回退后,才能使用

  6. 不支持针对“分账到零钱”的分账单发起分账回退。

  7. 分账回退的时限是180天。

接口说明

支持商户:【普通商户】

请求方式:【POST】/v3/profitsharing/return-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


body 包体参数

order_id  选填 string(64)

【微信分账单号】微信分账单号,微信系统返回的唯一标识。微信分账单号和商户分账单号二选一填写


out_order_no  选填 string

【商户分账单号】商户系统内部的分账单号,在商户系统内部唯一,同一分账单号多次请求等同一次。微信分账单号和商户分账单号二选一填写 取值范围:[0-9a-zA-Z_*@-]


out_return_no  必填 string

【商户回退单号】此回退单号是商户在自己后台生成的一个新的回退单号,在商户后台唯一


return_mchid  必填 string

【回退商户号】分账回退的出资商户,只能对原分账请求中成功分给商户接收方进行回退


amount  必填 integer

【回退金额】需要从分账接收方回退的金额,单位为分,只能为整数,不能超过原始分账单分出给该接收方的金额


description  必填 string(80)

【回退描述】分账回退的原因描述

请求示例

1curl -X POST \
2  https://api.mch.weixin.qq.com/v3/profitsharing/return-orders \
3  -H "Authorization: WECHATPAY2-SHA256-RSA2048 mchid=\"1900000001\",..." \
4  -H "Accept: application/json" \
5  -H "Content-Type: application/json" \
6  -d '{
7    "order_id" : "3008450740201411110007820472",
8    "out_order_no" : "P20150806125346",
9    "out_return_no" : "R20190516001",
10    "return_mchid" : "86693852",
11    "amount" : 10,
12    "description" : "用户退款"
13  }'

应答参数

200 OK

order_id  必填 string(64)

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


out_order_no  必填 string(64)

【商户分账单号】商户系统内部的分账单号,在商户系统内部唯一,同一分账单号多次请求等同一次


out_return_no  必填 string(64)

【商户回退单号】调用回退接口提供的商户系统内部的回退单号


return_id  必填 string(64)

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


return_mchid  必填 string(32)

【回退商户号】只能对原分账请求中成功分给商户接收方进行回退


amount  必填 integer

【回退金额】需要从分账接收方回退的金额,单位为分,只能为整数


description  必填 string(80)

【回退描述】分账回退的原因描述


result  必填 string

【回退结果】如果请求返回为处理中,则商户可以通过调用回退结果查询接口获取请求的最终处理结果。如果查询到回退结果在处理中,请勿变更商户回退单号,使用相同的参数再次发起分账回退,否则会出现资金风险。在处理中状态的回退单如果5天没有成功,会因为超时被设置为已失败

可选取值:

  • PROCESSING: 处理中

  • SUCCESS: 已成功

  • FAILED: 已失败


fail_reason  选填 string

【失败原因】失败原因

可选取值:

  • ACCOUNT_ABNORMAL: 原分账接收方账户异常

  • BALANCE_NOT_ENOUGH: 余额不足

  • TIME_OUT_CLOSED: 超时关单

  • PAYER_ACCOUNT_ABNORMAL: 原分账分出方账户异常

  • INVALID_REQUEST: 描述参数设置失败


create_time  必填 string

【创建时间】分账回退创建时间,遵循RFC3339标准格式


finish_time  必填 string

【完成时间】分账回退完成时间,遵循RFC3339标准格式

应答示例

200 OK

1{
2  "order_id" : "3008450740201411110007820472",
3  "out_order_no" : "P20150806125346",
4  "out_return_no" : "R20190516001",
5  "return_id" : "3008450740201411110007820472",
6  "return_mchid" : "86693852",
7  "amount" : 10,
8  "description" : "用户退款",
9  "result" : "PROCESSING",
10  "fail_reason" : "ACCOUNT_ABNORMAL",
11  "create_time" : "2015-05-20T13:29:35.120+08:00",
12  "finish_time" : "2015-05-20T13:29:35.120+08:00"
13}

 

错误码

公共错误码

状态码

错误码

描述

解决方案

400

PARAM_ERROR

参数错误

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

400

INVALID_REQUEST

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

请参阅 接口规则

401

SIGN_ERROR

验证不通过

请参阅 签名常见问题

500

SYSTEM_ERROR

系统异常,请稍后重试

请稍后重试

业务错误码

状态码

错误码

描述

解决方案

400

INVALID_REQUEST

回退方不存在

请根据返回的错误信息确认违反的业务规则

400

PARAM_ERROR

订单号格式不正确

请使用正确的参数重新调用

403

NO_AUTH

回退方未开通分账回退功能

请先让回退方开通分账回退功能

429

FREQUENCY_LIMITED

商户发起分账回退的频率过高

请降低频率后重试

500

SYSTEM_ERROR

系统错误

系统异常,请使用相同参数稍后重新调用

 

 

反馈
咨询
目录
置顶