---
url: "https://pay.weixin.qq.com/doc/v3/merchant/4013071031.md"
title: "开发指引"
doc_id: 4013071031
---

>更新时间：2026.06.09

## 1、整体业务开发流程概览

若存在退款需求，商户需先调用[查询订单状态](https://pay.weixin.qq.com/doc/v3/merchant/4013070356.md)接口以确认订单支付状态为已支付成功，随后调用[申请退款API](https://pay.weixin.qq.com/doc/v3/merchant/4013071036.md)创建退款单后，可通过[查询单笔退款信息](https://pay.weixin.qq.com/doc/v3/merchant/4013071041.md)或[退款回调通知](https://pay.weixin.qq.com/doc/v3/merchant/4013071196.md)以确认最终的退款结果。若退款状态为退款异常，则需调用[发起异常退款API](https://pay.weixin.qq.com/doc/v3/merchant/4013071193.md)进行退款操作。

![](https://gtimg.wechatpay.cn/resource/xres/mmpaydoc/static/img/31cc8e49c144a0d4f111260aa4c4e86d.png)

## 2、详细步骤说明

### 2.1、查询订单状态

商户在退款之前调用[微信支付订单号查询订单API](https://pay.weixin.qq.com/doc/v3/merchant/4013070354.md)或[商户订单号查询订单API](https://pay.weixin.qq.com/doc/v3/merchant/4013070356.md)，确认订单支付状态，支付成功才可进行退款。

```mermaid
sequenceDiagram
    rect rgb(255,255,255)
        autonumber
        actor User as 用户
        participant Mch as 商户系统
        participant WxPay as 微信支付系统

        User->>Mch: 用户申请退款
        Mch->>WxPay: 查询订单信息
        WxPay-->>Mch: 获取订单信息
    end
```

### 2.2、申请退款

商户调用[申请退款API](https://pay.weixin.qq.com/doc/v3/merchant/4013071036.md)创建退款单，退款单受理成功后，微信会从交易商户的基本账户内扣除需退款的资金，退款资金会进入到微信侧退款的中间账户，然后再退回给用户。

注意：

- 对于合单支付的订单，无法通过合单支付总单号 `combine_out_trade_no` 退款，只能根据单个子单进行退款。

- 若支付订单为分账订单，存在分账给其他商户号成功情况，退款不会自动回退分账金额，退款出资为商户基本账户可用余额。


```mermaid
sequenceDiagram
    rect rgb(255,255,255)
        autonumber
        actor User as 用户
        participant Mch as 商户系统
        participant WxPay as 微信支付系统

        User->>Mch: 用户申请退款
        Mch->>Mch: 生成商户退款单号
        Mch->>WxPay: 申请退款
        WxPay->>WxPay: 生成微信支付退款单号
        WxPay-->>Mch: 返回退款受理信息
    end
```

申请退款接口需要注意的参数：

普通支付订单退款或合单支付订单退款时，需选择填写 `transaction_id` 或 `out_trade_no` 中的一个，普通支付订单退款按照API接口参数填写；合单支付订单退款需要特别注意以下参数字段：

`transaction_id`：填写原合单支付订单的 `sub_orders.transaction_id`【子单微信支付订单号】

`out_trade_no`：填写原合单支付订单的 `sub_orders.out_trade_no`【子单商户订单号】

### 2.3、确认退款结果

退款处理完成后，微信支付会将[退款结果通知](https://pay.weixin.qq.com/doc/v3/merchant/4013071196.md)发送到[申请退款](https://pay.weixin.qq.com/doc/v3/merchant/4013071036.md)时传递的【notify\_url】地址，通知内容需要使用APIV3密钥进行加密解密，所以需要提前设置APIV3密钥，设置指引：[APIv3密钥设置方法](https://pay.weixin.qq.com/doc/v3/merchant/4013053267.md)。

若未收到退款回调通知或商户希望主动获取退款状态时，可调用 [查询单笔退款（按商户退款单号）](https://pay.weixin.qq.com/doc/v3/merchant/4013071041.md)查询退款单信息，推荐申请退款后间隔1分钟调用该接口轮询一次退款状态，若超过5分钟仍是退款处理中状态，建议开始逐步衰减轮询频率(比如之后间隔5分钟、10分钟、20分钟、30分钟……轮询一次)。

```mermaid
sequenceDiagram
    rect rgb(255,255,255)
        autonumber
        actor User as 用户
        participant P2 as 微信客户端
        participant Mch as 商户系统
        participant WxPay as 微信支付系统

        alt 退款回调通知
            WxPay->>Mch: 异步通知商户退款结果
            Mch->>Mch: 保存退款通知
            Mch-->>WxPay: 返回告知接收成功处理
            WxPay-->>P2: 返回退款结果，并微信消息提醒
        end

        alt 查询退款单状态（未收到退款回调通知）
            Mch->>WxPay: 调用查询单笔退款API接口，查询退款结果
            WxPay-->>Mch: 返回退款结果
        end

        Mch-->>User: 展示退款结果
    end
```

退款状态：

SUCCESS—退款成功

CLOSED—退款关闭：此状态表明您的退款请求已经关闭。原因是退款单已经处于“退款处理中”的状态超过7天，并且在这段时间内，出资账户的余额不足以完成退款操作。可充值后生成新的商户退款单号，重新调用[退款申请API](https://pay.weixin.qq.com/doc/v3/merchant/4013071036.md)。

PROCESSING—退款处理中：可稍后再次调用[查询单笔退款（按商户退款单号）](https://pay.weixin.qq.com/doc/v3/merchant/4013071041.md)，确认最终退款结果。

ABNORMAL—退款异常：退款到银行发现用户的卡作废或者冻结了，导致原路退款银行卡失败，可前往[商户平台](https://pay.weixin.qq.com/)-交易中心，手动处理此笔退款。或调用[发起异常退款API](https://pay.weixin.qq.com/doc/v3/merchant/4013071193.md)接口处理异常退款。

注意：

退款有一定延时，零钱支付的订单退款一般5分钟内到账，银行卡支付的订单退款一般1-3个工作日到账，具体以[查询退款](https://pay.weixin.qq.com/doc/v3/merchant/4013071041.md)接口返回状态为准。

### 2.4、发起异常退款

提交退款申请后，若查询退款确认状态为退款异常，退款资金会停留在退款的中间账户内，商户可调用此接口发起异常退款，使退款资金从退款中间账户退到用户的银行卡，或退回交易商户基本账户的结算银行账户。

注意：

退款至用户时，仅支持以下银行的借记卡：招行、交通银行、农行、建行、工商、中行、平安、浦发、中信、光大、民生、兴业、广发、邮储、宁波银行。

```mermaid
sequenceDiagram
    rect rgb(255,255,255)
        autonumber
        actor User as 用户
        participant Mch as 商户系统
        participant WxPay as 微信支付系统

        alt 若需退款至用户其他银行卡
            Mch->>User: 向用户收集接收退款的银行卡信息
            User-->>Mch: 向商户提供接收退款的银行卡信息
        end

        Mch->>WxPay: 请求发起异常退款
        WxPay-->>Mch: 返回受理退款信息
    end
```

发起异常退款关键参数：

`type`：可选择退款到用户银行卡，或退回到交易商户银行账户内。

若选择退款给用户银行卡，需在对收款银行卡号 `bank_account` 和收款用户姓名 `real_name` 进行[敏感信息加密](https://pay.weixin.qq.com/doc/v3/merchant/4013053257.md)。

## 3、退款单状态流转图

```mermaid
%%{init: {'themeVariables':{'edgeLabelBackground':'#ffffff'}}}%%
stateDiagram-v2
    direction LR
    state "status:PROCESSING (退款处理中)" as S2
    state "status:CLOSED(退款关闭)" as S3
    state "status:SUCCESS(退款成功)" as S4
    state "status:ABNORMAL (退款异常)" as S5

    [*] --> S2: 支付成功，调用申请退款API
    S2 --> S4: 退款成功
    S2 --> S5: 支付账户异常导致无法正常退回
    S2 --> S3: 退款受理超7天账户资金不足
    S4 --> [*]
    S5 --> S4: 调用发起异常退款API成功后或在商户平台手动处理退款成功后
    S3 --> [*]
```

退款单状态流转说明

1、商户调用[退款申请](https://pay.weixin.qq.com/doc/v3/merchant/4013071036.md)接口受理成功后，可以调用[查询单笔退款（按商户退款单号）](https://pay.weixin.qq.com/doc/v3/merchant/4013071041.md)接口来确认退款单状态。

2、当退款单状态为退款处理中(status：PROCESSING)时，退款受理超过7天且账户资金不足时，退款单状态将流转为退款关闭(status：CLOSED)。

3、当退款单状态为退款处理中(status：PROCESSING)时，若因用户账户异常（例如银行卡作废或冻结）导致资金无法按原路退回，微信支付会优先尝试将退款金额转入用户的微信零钱。仅当用户的微信零钱账户也已注销时，退款单状态才会流转为退款异常(status：ABNORMAL)。

4、当退款成功时，退款单状态将从退款处理中(status：PROCESSING)流转为退款成功(status：SUCCESS)。

5、当退款单状态为退款异常(status：ABNORMAL)时，此时商户可以到【[商户平台](https://pay.weixin.qq.com/) —>交易中心】[手动处理退款](https://kf.qq.com/faq/140225MveaUz150107mAVz6F.html)或调用[发起异常退款](https://pay.weixin.qq.com/doc/v3/merchant/4013071193.md)接口处理异常退款，当退款成功后，退款单状态将流转为退款成功(status：SUCCESS)。

6、以下两个状态为终态

- status：SUCCESS

- status：CLOSED