请求分账回退API

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

接口说明

适用对象: 电商平台
请求 URL: https://api.mch.weixin.qq.com/v3/ecommerce/profitsharing/returnorders
请求方式: POST
接口规则: https://wechatpay-api.gitbook.io/wechatpay-api-v3

path 指该参数需在请求 URL 传参
query 指该参数需在请求 JSON 传参

请求参数

变量类型必填参数名/描述/示例值
sub_mchidstring(32)二级商户号 query 分账出资的电商平台二级商户, 填写微信支付分配的商户号。
1900000109
order_idstring(64)微信分账单号 query 微信系统返回的唯一标识。微信分账单号和商户分账单号二选一填写。
3008450740201411110007820472
out_order_nostring(64)商户分账单号 query 商户系统内部的分账单号, 在商户系统内部唯一(单次分账、多次分账、完结分账应使用不同的商户分账单号), 同一分账单号多次请求等同一次。
P20150806125346
out_return_nostring(64)商户回退单号 query 此回退单号是商户在自己后台生成的一个新的回退单号, 在商户后台唯一。
R20190516001
return_mchidstring(32)回退商户号 query 只能对原分账请求中成功分给商户接收方进行回退。
86693852
amountint回退金额 query 需要从分账接收方回退的金额, 单位为分, 只能为整数, 不能超过原始分账单分出给该接收方的金额。
10
descriptionstring(80)回退描述 query 分账回退的原因描述
分账回退

请求示例

{
  "sub_mchid": "1900000109",
  "order_id": "3008450740201411110007820472",
  "out_order_no": "P20150806125346",
  "out_return_no": "R20190516001",
  "return_mchid": "86693852",
  "amount": 10,
  "description": "分账回退"
}

返回参数

变量类型必填参数名/描述/示例值
sub_mchidstring(32)二级商户号 分账出资的电商平台二级商户, 填写微信支付分配的商户号。
1900000109
order_idstring(64)微信分账单号 原发起分账请求时, 微信返回的微信分账单号, 与商户分账单号一一对应。 微信分账单号与商户分账单号二选一填写。
3008450740201411110007820472
out_order_nostring(64)商户分账单号 商户系统内部的分账单号, 在商户系统内部唯一(单次分账、多次分账、完结分账应使用不同的商户分账单号), 同一分账单号多次请求等同一次。
P20150806125346
out_return_nostring(64)商户回退单号 此回退单号是商户在自己后台生成的一个新的回退单号, 在商户后台唯一 只能是数字、大小写字母*-*@ , 同一回退单号多次请求等同一次。
R20190516001
return_mchidstring(32)回退商户号 只能对原分账请求中成功分给商户接收方进行回退。
86693852
amountint回退金额 需要从分账接收方回退的金额, 单位为分, 只能为整数, 不能超过原始分账单分出给该接收方的金额。
10
return_nostring(64)微信回退单号 微信分账回退单号, 微信系统返回的唯一标识。
3008450740201411110007820472
resultstring(32)回退结果 如果请求返回为处理中, 则商户可以通过调用回退结果查询接口获取请求的最终处理结果, 枚举值:
PROCESSING: 处理中
SUCCESS: 已成功
FAIL: 已失败
注意: 如果返回为处理中, 请勿变更商户回退单号, 使用相同的参数再次发起分账回退, 否则会出现资金风险 在处理中状态的回退单如果 5 天没有成功, 会因为超时被设置为已失败
SUCCESS
fail_reasonstring(32)失败原因 回退失败的原因, 此字段仅回退结果为 FAIL 时存在, 枚举值:
ACCOUNT_ABNORMAL: 分账接收方账户异常
TIME_OUT_CLOSED:: 超时关单
TIME_OUT_CLOSED
finish_timestring(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",
  "order_id": "3008450740201411110007820472",
  "out_order_no": "P20150806125346",
  "out_return_no": "R20190516001",
  "return_mchid": "86693852",
  "amount": 10,
  "return_no": "3008450740201411110007820472",
  "result": "SUCCESS",
  "fail_reason": "TIME_OUT_CLOSED",
  "finish_time": "2015-05-20T13:29:35.120+08:00"
}

错误码公共错误码

状态码错误码描述解决方案
500SYSTEM_ERROR系统错误系统异常, 请使用相同参数稍后重新调用
403NOT_ENOUGH剩余可回退的金额不足调整回退金额
400PARAM_ERROR订单号格式不正确请使用正确的参数重新调用
400INVALID_REQUEST回退方不存在请根据返回的错误信息确认违反的业务规则
429FREQUENCY_LIMITED商户发起分账回退的频率过高请降低频率后重试
403NO_AUTH回退方未开通分账回退功能请先让回退方开通分账回退功能

最后修改 April 12, 2020: 整理文档 (f36b91e)