---
url: "https://pay.weixin.qq.com/doc/v3/merchant/4012716434.md"
title: "发起转账"
doc_id: 4012716434
---

>更新时间：2025.03.21

商家转账用户确认模式下，商户可通过此接口申请创建转账单

- 接口返回的HTTP状态码及错误码，仅代表本次请求的结果。当HTTP状态码是200时，可通过返回参数中的“单据状态”字段来判断当前转账单据状态。

- 接口返回的HTTP状态码为200，且状态为WAIT\_USER\_CONFIRM时，可认为创建转账单成功，可引导用户确认收款。其余状态请参考[商家转账开发指引](https://pay.weixin.qq.com/doc/v3/merchant/4012715211.md#2.3%E3%80%81%E8%AE%A2%E5%8D%95%E7%8A%B6%E6%80%81%E6%B5%81%E8%BD%AC%E5%9B%BE)中的订单状态流转图进行处理。

- 接口返回的HTTP状态码不为200时，请务必不要立即更换商户订单单号重试。可根据错误码列表中的描述和接口返回的信息进行处理，并通过[商户单号查询转账单](https://pay.weixin.qq.com/doc/v3/merchant/4012716437.md)或[微信单号查询转账单](https://pay.weixin.qq.com/doc/v3/merchant/4012716457.md)API接口查询订单结果。当查询原订单结果明确为“失败”时，再更换商户订单号进行重试。否则会有重复转账的资金风险。

- 如果发起转账接口遇到新的错误码，请务必不要换单重试，需通过[商户单号查询转账单](https://pay.weixin.qq.com/doc/v3/merchant/4012716437.md)API接口或[微信单号查询转账单](https://pay.weixin.qq.com/doc/v3/merchant/4012716457.md)API接口查询订单结果，当查询原订单结果明确为"失败"时，再更换商户订单号进行重试。否则会有重复转账的资金风险。


注：单个商户的接口频率限制为100次/s




## 接口说明

支持商户：【普通商户】

请求方式：【POST】 `/v3/fund-app/mch-transfer/transfer-bills`

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

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

## 请求参数

### Header 参数
| 参数名 | 类型 | 必填 | 描述 |
| --- |  --- | --- | --- |
| Authorization | string | true | 请参考 [签名认证](https://pay.weixin.qq.com/doc/v3/merchant/4012365342.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` |
| Content-Type | string | true | 请设置为 `application/json` |
| Wechatpay-Serial | string | false | 【微信支付公钥ID】或【微信支付平台证书序列号】  请求参数中的敏感字段，需要使用微信支付公钥加密（推荐），请参考 [获取微信支付公钥ID说明](https://pay.weixin.qq.com/doc/v3/merchant/4013038816.md#Q:-%E5%A6%82%E4%BD%95%E8%8E%B7%E5%8F%96%E5%BE%AE%E4%BF%A1%E6%94%AF%E4%BB%98%E5%85%AC%E9%92%A5ID?) 以及 [微信支付公钥加密敏感信息指引](https://pay.weixin.qq.com/doc/v3/merchant/4013053257.md)；也可以使用微信支付平台证书公钥加密，参考 [获取平台证书序列号](https://pay.weixin.qq.com/doc/v3/merchant/4013053294.md)、 [平台证书加密敏感信息指引](https://pay.weixin.qq.com/doc/v3/merchant/4013053264.md) |
### Body 参数
| 参数名 | 类型 | 必填 | 描述 |
| --- |  --- | --- | --- |
| appid | string(32) | true | 【商户AppID】 是微信开放平台和微信公众平台为开发者的应用程序(APP、小程序、公众号、企业号corpid即为此AppID)提供的一个唯一标识。此处，可以填写这四种类型中的任意一种APPID，但请确保该appid与商户号有绑定关系。参考 [微信支付普通商户与AppID账号关联管理](https://kf.qq.com/faq/1801116VJfua1801113QVNVz.html) |
| out_bill_no | string(32) | true | 【商户单号】 商户系统内部的商家单号，要求此参数只能由数字、大小写字母组成，在商户系统内部唯一 |
| transfer_scene_id | string(36) | true | 【转账场景ID】 该笔转账使用的转账场景，可前往“商户平台-产品中心-商家转账”中申请。如：1000（现金营销），1006（企业报销）等 |
| openid | string(64) | true | 【收款用户OpenID】 用户在商户appid下的唯一标识。发起转账前需获取到用户的OpenID，参考 [接口参数说明](https://pay.weixin.qq.com/doc/v3/merchant/4012068676.md) |
| user_name | string | false | 【收款用户姓名】 收款方真实姓名。若传入收款用户姓名，微信支付会校验收款用户与输入姓名是否一致。转账金额>=2,000元时，必须传入该值。<br>该字段需要加密传入，参考 [微信支付公钥加密敏感信息指引](https://pay.weixin.qq.com/doc/v3/merchant/4013053257.md)(推荐)、 [平台证书加密敏感信息指引](https://pay.weixin.qq.com/doc/v3/merchant/4013053264.md) |
| transfer_amount | integer | true | 【转账金额】 转账金额，单位为“分”。参考 [转账额度说明](https://pay.weixin.qq.com/doc/v3/merchant/4013747667.md) |
| transfer_remark | string(32) | true | 【转账备注】 转账备注，用户收款时可见该备注信息，UTF8编码，最多允许32个字符 |
| notify_url | string(256) | false | 【通知地址】 异步接收商家转账结果的回调地址，通知url必须为公网可访问的URL，必须为HTTPS，不能携带参数。 |
| user_recv_perception | string | false | 【用户收款感知】 用户收款时感知的收款原因。不填或填空，将展示转账场景的默认内容。如有其他展示需求，参考 [商家转账产品介绍](https://pay.weixin.qq.com/doc/v3/merchant/4012711988.md#%EF%BC%882%EF%BC%89%E6%8C%89%E8%BD%AC%E8%B4%A6%E5%9C%BA%E6%99%AF%E5%8F%91%E8%B5%B7%E8%BD%AC%E8%B4%A6) |
| transfer_scene_report_infos | array[object] | true | 【转账场景报备信息】 需按转账场景准确填写报备信息，参考 [转账场景报备信息字段说明](https://pay.weixin.qq.com/doc/v3/merchant/4013774588.md) |
| transfer_scene_report_infos.info_type | string(15) | true | 【信息类型】 不能超过15个字符，商户所属转账场景下的信息类型，此字段内容为固定值，需严格按照 [转账场景报备信息字段说明](https://pay.weixin.qq.com/doc/v3/merchant/4013774588.md) 传参。 |
| transfer_scene_report_infos.info_content | string(32) | true | 【信息内容】 不能超过32个字符，商户所属转账场景下的信息内容，商户可按实际业务场景自定义传参，需严格按照 [转账场景报备信息字段说明](https://pay.weixin.qq.com/doc/v3/merchant/4013774588.md) 传参。 |
| user_recv_style | object | false | 【用户收款样式】 用户收款样式，支持收款确认页、红包。不填，按收款确认页样式展示 |
| user_recv_style.type | string | true | 【用户收款样式类型】 用户收款样式类型，可选取值可能新增，请兼容新增值并关注接口文档更新<br>可选取值<br><ul><li>`CONFIRM_PAGE`:  收款确认页样式，用户收款时以标准收款确认页的形式展示</li><li>`RED_PACKET`:  红包样式，用户收款时以红包形式展示，单笔金额需小于等于200元，仅支持部分转账场景使用，参考 [商家转账产品介绍](https://pay.weixin.qq.com/doc/v3/merchant/4012711988.md#%EF%BC%882%EF%BC%89%E6%8C%89%E8%BD%AC%E8%B4%A6%E5%9C%BA%E6%99%AF%E5%8F%91%E8%B5%B7%E8%BD%AC%E8%B4%A6)</li></ul> |
## 应答参数

200 OK

| 参数名 | 类型 | 必填 | 描述 |
| --- |  --- | --- | --- |
| out_bill_no | string(32) | true | 【商户单号】 商户系统内部的商家单号，要求此参数只能由数字、大小写字母组成，在商户系统内部唯一 |
| transfer_bill_no | string(64) | true | 【微信转账单号】 微信转账单号，微信商家转账系统返回的唯一标识 |
| create_time | string | true | 【单据创建时间】 单据受理成功时返回，按照使用rfc3339所定义的格式，格式为yyyy-MM-DDThh:mm:ss+TIMEZONE |
| state | string | true | 【单据状态】 商家转账订单状态<br>可选取值<br><ul><li>`ACCEPTED`:  转账已受理，可原单重试（非终态）。</li><li>`PROCESSING`:  转账锁定资金中。如果一直停留在该状态，建议检查账户余额是否足够，如余额不足，可充值后再原单重试（非终态）。</li><li>`WAIT_USER_CONFIRM`:  待收款用户确认，当前转账单据资金已锁定，可拉起微信收款确认页面进行收款确认（非终态）。</li><li>`TRANSFERING`:  转账中，可拉起微信收款确认页面再次重试确认收款（非终态）。</li><li>`SUCCESS`:  转账成功，表示转账单据已成功（终态）。</li><li>`FAIL`:  转账失败，表示该笔转账单据已失败。若需重新向用户转账，请重新生成单据并再次发起（终态）。</li><li>`CANCELING`:  转账撤销中，商户撤销请求受理成功，该笔转账正在撤销中，需查单确认撤销的转账单据状态（非终态）。</li><li>`CANCELLED`:  转账撤销完成，代表转账单据已撤销成功（终态）。</li></ul> |
| package_info | string | false | 【跳转领取页面的package信息】 跳转微信支付收款页的package信息， [APP调起用户确认收款](https://pay.weixin.qq.com/doc/v3/merchant/4012719576.md) 或者 [JSAPI调起用户确认收款](https://pay.weixin.qq.com/doc/v3/merchant/4012716430.md) 时需要使用的参数。仅当转账单据状态为WAIT\_USER\_CONFIRM时返回。<br>单据创建后，用户24小时内不领取将过期关闭，建议拉起用户确认收款页面前，先查单据状态：如单据状态为WAIT\_USER\_CONFIRM，可用之前的package信息拉起；单据到终态时需更换单号重新发起转账。 |
## 错误码

### 公共错误码

| 状态码 | 错误码 | 描述 | 解决方案 |
| --- | --- | --- | --- |
| 400 | PARAM\_ERROR | 参数错误 | 请根据错误提示正确传入参数 |
| 400 | INVALID\_REQUEST | 请求不符合业务规则 | 请参阅 [产品介绍](https://pay.weixin.qq.com/doc/v3/merchant/4012711988.md)、[开发指引](https://pay.weixin.qq.com/doc/v3/merchant/4012715211.md) 和 [接口规则](https://pay.weixin.qq.com/doc/v3/merchant/4012081709.md) |
| 403 | NO\_AUTH | 没有相关权限 | 请参阅 [产品介绍](https://pay.weixin.qq.com/doc/v3/merchant/4012711988.md)、[开发指引](https://pay.weixin.qq.com/doc/v3/merchant/4012715211.md) |
| 401 | SIGN\_ERROR | 签名验证不通过 | 请参阅 [签名常见问题](https://pay.weixin.qq.com/doc/v3/merchant/4012072670.md) |
| 500 | SYSTEM\_ERROR | 系统异常，请稍后重试 | 请稍后重试 |

### 业务错误码

| 状态码 | 错误码 | 描述 | 解决方案 |
| --- | --- | --- | --- |
| 403 | NOT\_ENOUGH | 资金不足 | 确认出资商户余额充足 |
| 429 | FREQUENCY\_LIMIT\_EXCEED | 频率超限 | 接口请求频率超限，当前请求结果不明确，请降低请求接口频率后，使用相同参数重试 |
| 429 | RATELIMIT\_EXCEEDED | 频率超限 | 接口或同一单号请求频率超限，当前请求结果不明确，请降低请求接口频率，使用相同参数重试 |
| 429 | FREQUENCY\_LIMIT | 频率超限 | 接口或同一单号请求频率超限，当前请求结果不明确，请降低请求接口频率，使用相同参数重试 |
| 400 | ALREADY\_EXISTS | 订单已存在 | 单据状态已经到终态，无法发起转账，请通过查单接口确认转账结果 |

请求示例

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


应答示例

> 200 OK

```
{
  "out_bill_no" : "plfk2020042013",
  "transfer_bill_no" : "1330000071100999991182020050700019480001",
  "create_time" : "2015-05-20T13:29:35.120+08:00",
  "state" : "ACCEPTED",
  "package_info" : "affffddafdfafddffda=="
}

```
