---
url: "https://pay.weixin.qq.com/doc/v3/partner/4012476908.md"
title: "查询单笔退款（按微信支付退款单号）"
doc_id: 4012476908
---

>更新时间：2024.11.04

提交退款申请后，通过调用该接口查询退款状态。

1. 退款有一定延时，用零钱支付的退款20分钟内到账，银行卡支付的退款3个工作日后重新查询退款状态。





## 接口说明

支持商户：【平台商户】

请求方式：【GET】 `/v3/ecommerce/refunds/id/{refund_id}`

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

　　　　　【备域名】https://api2.mch.weixin.qq.com 使用该域名将访问异地的接入点，指引[点击查看](https://pay.weixin.qq.com/doc/v3/partner/4012082567.md)

## 请求参数

### Header 参数
| 参数名 | 类型 | 必填 | 描述 |
| --- |  --- | --- | --- |
| Authorization | string | true | 请参考 [签名认证](https://pay.weixin.qq.com/doc/v3/partner/4012365870.md#%E8%AF%B7%E6%B1%82%E6%8E%A5%E5%8F%A3%E5%90%8E%E7%AB%AF%E7%AD%BE%E5%90%8D) 生成认证信息 |
| Accept | string | true | 请设置为 `application/json` |
### Path 参数
| 参数名 | 类型 | 必填 | 描述 |
| --- |  --- | --- | --- |
| refund_id | string(32) | true | **【微信退款单号】** 退款单的主键，唯一定义此资源的标识 |
### Query 参数
| 参数名 | 类型 | 必填 | 描述 |
| --- |  --- | --- | --- |
| sub_mchid | string(32) | true | **【二级商户号】** 微信支付分配给二级商户的商户号 |
## 应答参数

200 OK

| 参数名 | 类型 | 必填 | 描述 |
| --- |  --- | --- | --- |
| refund_id | string(32) | true | **【微信支付退款订单号】** 微信支付退款订单订单号 |
| out_refund_no | string(64) | true | **【商户退款单号】** 商户系统内部的退款单号，商户系统内部唯一，只能是数字、大小写字母\_-&#124;\*@ ，同一退款单号多次请求只退一笔。 |
| transaction_id | string(32) | true | **【微信支付交易订单号】** 微信支付交易订单号 |
| out_trade_no | string(32) | true | **【商户原交易订单号】** 返回的原交易订单号 |
| channel | string(16) | false | **【退款渠道】** ORIGINAL—原路退款<br>BALANCE—退回到余额<br>OTHER\_BALANCE—原账户异常退到其他余额账户<br>OTHER\_BANKCARD—原银行卡异常退到其他银行卡 |
| user_received_account | string(64) | false | **【退款入账账户】** 取当前退款单的退款入账方<br>1）退回银行卡：{银行名称}{卡类型}<br>2）退回支付用户零钱:支付用户零钱<br>3）退还商户:商户基本账户商户结算银行账户<br>4）退回支付用户零钱通:支付用户零钱通<br>5）退回支付用户银行电子账户:支付用户银行电子账户<br>6）退回支付用户零花钱:支付用户零花钱<br>7）退回用户经营账户:用户经营账户<br>8）退回支付用户来华零钱包:支付用户来华零钱包<br>9）退回企业支付商户:企业支付商户<br>10）退回支付用户小金罐:支付用户小金罐<br>11）退回支付用户分付:支付用户分付<br>12）退回微银通:{银行名称}微银通 |
| success_time | string(64) | false | **【退款成功时间】** 退款成功时间，退款状态status为SUCCESS（退款成功）时，返回该字段。遵循rfc3339标准格式，格式为YYYY-MM-DDTHH:mm:ss+TIMEZONE，YYYY-MM-DD表示年月日，T出现在字符串中，表示time元素的开头，HH:mm:ss表示时分秒，TIMEZONE表示时区（+08:00表示东八区时间，领先UTC 8小时，即北京时间）。例如：2015-05-20T13:29:35+08:00表示，北京时间2015年5月20日13点29分35秒。 |
| create_time | string(64) | true | **【退款创建时间】** 退款受理时间，遵循rfc3339标准格式，格式为YYYY-MM-DDTHH:mm:ss+TIMEZONE，YYYY-MM-DD表示年月日，T出现在字符串中，表示time元素的开头，HH:mm:ss表示时分秒，TIMEZONE表示时区（+08:00表示东八区时间，领先UTC 8小时，即北京时间）。例如：2015-05-20T13:29:35+08:00表示，北京时间2015年5月20日13点29分35秒。 |
| status | string(16) | true | **【退款状态】** 退款状态：<br>SUCCESS—退款成功<br>CLOSED—退款关闭。<br>PROCESSING—退款处理中<br>ABNORMAL—退款异常，退款到银行发现用户的卡作废或者冻结了，导致原路退款银行卡失败，可前往商户平台（pay.weixin.qq.com）-交易中心，手动处理此笔退款。 |
| amount | object | true | **【退款金额】** 退款金额信息 |
| amount.refund | integer | true | **【退款金额】** 退款金额，单位为分，只能为整数，不能超 过原订单支付金额 |
| amount.from | array[object] | false | **【退款出资账户及金额】** 退款出资的账户类型及金额信息 |
| amount.from.account | string(32) | true | **【出资账户类型】** 下面枚举值多选一。<br>枚举值：<br>AVAILABLE : 可用余额<br>UNAVAILABLE : 不可用余额 |
| amount.from.amount | integer | true | **【出资金额】** 对应账户出资金额 |
| amount.payer_refund | integer | true | **【用户退款金额】** 退款给用户的金额，不包含所有优惠券金额 |
| amount.discount_refund | integer | false | **【优惠退款金额】** 优惠券的退款金额，原支付单的优惠按比例退款 |
| amount.currency | string(16) | false | **【货币类型】** 符合ISO4217标准的三位字母代码，目前只支持人民币：CNY |
| amount.advance | integer | false | **【垫付金额】** 电商平台垫付的金额 |
| promotion_detail | array[object] | false | **【营销详情】** 优惠退款信息 |
| promotion_detail.promotion_id | string(32) | true | **【券ID】** 券或者立减优惠id |
| promotion_detail.scope | string(32) | true | **【优惠范围】** GLOBAL- 全场代金券<br>SINGLE- 单品优惠 |
| promotion_detail.type | string(32) | true | **【优惠类型】** COUPON- 代金券，需要走结算资金的充值型代金券<br>DISCOUNT- 优惠券，不走结算资金的免充值型优惠券 |
| promotion_detail.amount | integer | true | **【优惠券面额】** 用户享受优惠的金额（优惠券面额=微信出资金额+商家出资金额+其他出资方金额 ） |
| promotion_detail.refund_amount | integer | true | **【优惠退款金额】** 代金券退款金额<=退款金额，退款金额-代金券或立减优惠退款金额为现金，说明详见代金券或立减优惠 |
| refund_account | string(32) | false | **【退款出资商户】** REFUND\_SOURCE\_PARTNER\_ADVANCE : 电商平台垫付<br>REFUND\_SOURCE\_SUB\_MERCHANT : 二级商户，默认值<br>注意：申请退款时可能会出现暂未扣除退款资金的情况，此时不返回本字段，需继续查单确认。 |
| funds_account | string(32) | false | **【资金账户】** UNSETTLED : 未结算资金<br>AVAILABLE : 可用余额<br>UNAVAILABLE : 不可用余额<br>OPERATION : 运营户<br>BASIC : 基本账户（含可用余额和不可用余额）<br>ECNY\_BASIC : 数字人民币基本账户 |
## 错误码

### 公共错误码

| 状态码 | 错误码 | 描述 | 解决方案 |
| --- | --- | --- | --- |
| 400 | PARAM\_ERROR | 参数错误 | 请根据错误提示正确传入参数 |
| 400 | INVALID\_REQUEST | HTTP 请求不符合微信支付 APIv3 接口规则 | 请参阅 [接口规则](https://pay.weixin.qq.com/doc/v3/partner/4012081726.md) |
| 401 | SIGN\_ERROR | 验证不通过 | 请参阅 [签名常见问题](https://pay.weixin.qq.com/doc/v3/partner/4012082324.md) |
| 500 | SYSTEM\_ERROR | 系统异常，请稍后重试 | 请稍后重试 |

### 业务错误码

| 状态码 | 错误码 | 描述 | 解决方案 |
| --- | --- | --- | --- |
| 400 | INVALID\_REQUEST | 请求参数符合参数格式，但不符合业务规则 | 此状态代表退款申请失败，商户可根据具体的错误提示做相应的处理 |
| 400 | MCH\_NOT\_EXISTS | 商户号不存在 | 请检查商户号是否正确 |
| 401 | SIGN\_ERROR | 签名错误 | 请检查签名参数和方法是否都符合签名算法要求 |
| 403 | NO\_AUTH | 没有退款权限 | 此状态代表退款申请失败，请检查是否有退这笔订单的权限 |
| 403 | REQUEST\_BLOCKED | 请求受阻 | 此状态代表退款申请失败，商户可根据具体的错误提示做相应的处理 |
| 404 | RESOURCE\_NOT\_EXISTS | 订单不存在 | 请检查订单号是否正确且是否已支付，未支付的订单不能发起退款 |
| 429 | FREQUENCY\_LIMITED | 频率限制 | 接口请求频率过高，请降低频率后重试。若要确认退款受理结果可以延迟一段时间后查询。 |
| 500 | SYSTEM\_ERROR | 接口返回错误 | 请不要更换商户退款单号，请使用相同参数再次调用API |

请求示例

- [curl 示例](https://pay.weixin.qq.com/doc/v3/partner/4012476908-curl.md)
- [Java 示例](https://pay.weixin.qq.com/doc/v3/partner/4012476908-java.md)
- [Go 示例](https://pay.weixin.qq.com/doc/v3/partner/4012476908-go.md)


应答示例

> 200 OK

```
{
  "refund_id" : "1217752501201407033233368018",
  "out_refund_no" : "1217752501201407033233368018",
  "transaction_id" : "1217752501201407033233368018",
  "out_trade_no" : "1217752501201407033233368018",
  "channel" : "ORIGINAL",
  "user_received_account" : "招商银行信用卡",
  "success_time" : "2018-06-08T10:34:56+08:00",
  "create_time" : "2018-06-08T10:34:56+08:00",
  "status" : "SUCCESS",
  "amount" : {
    "refund" : 888,
    "from" : [
      {
        "account" : "AVAILABLE",
        "amount" : 444
      }
    ],
    "payer_refund" : 888,
    "discount_refund" : 888,
    "currency" : "CNY",
    "advance" : 888
  },
  "promotion_detail" : [
    {
      "promotion_id" : "109519",
      "scope" : "SINGLE",
      "type" : "DISCOUNT",
      "amount" : 5,
      "refund_amount" : 100
    }
  ],
  "refund_account" : "REFUND_SOURCE_SUB_MERCHANT",
  "funds_account" : "UNSETTLED"
}
```
