转账(用户免确认收款)

更新时间:2025.12.09

服务商商户可调用该接口转账给免确认收款授权对应的用户。

  • 接口返回的HTTP状态码及错误码,仅代表本次请求的结果,不能代表订单状态。

  • 接口返回的HTTP状态码为200,且转账订单状态为已成功时,可认为转账成功。

  • 接口返回的HTTP状态码为200,但转账订单状态不为成功为非预期结果,请联系微信支付客服确认后再做后续处理。

  • 接口返回的HTTP状态码不为200时,请商户务必不要立即更换商户订单单号重试。可根据错误码列表中的描述和接口返回的信息进行处理,并在查询原订单结果为失败或者联系客服确认情况后,再更换商户订单号进行重试。否则会有重复转账的资金风险。

注:接口频率限制为100次/s

接口说明

支持商户:【普通服务商】

请求方式:【POST】/v3/fund-app/mch-transfer/partner/transfer-bills/transfer

请求域名:【主域名】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


 Wechatpay-Serial  必填 string

【微信支付公钥ID】或【微信支付平台证书序列号】  请求参数中的敏感字段,需要使用微信支付公钥加密(推荐),请参考获取微信支付公钥ID说明以及微信支付公钥加密敏感信息指引;也可以使用微信支付平台证书公钥加密,参考获取平台证书序列号平台证书加密敏感信息指引


body  包体参数

 sub_mchid  必填   string(32)

【子商户号】 微信支付分配的商户号,出资商户号


 appid  必填   string(32)

【商户AppID】 申请商户号的AppID或商户号绑定的AppID(企业号corpid即为此AppID)


 out_bill_no  必填   string(32)

【商户单号】 商户系统内部的商家单号,要求此参数只能由数字、大小写字母组成,在商户系统内部唯一


 transfer_scene_id  必填   string(36)

【转账场景ID】 该笔转账使用的转账场景,可前往“商户平台-产品中心-商家转账”中申请。如:1001-现金营销


 user_name  选填   string

【收款用户姓名】 收款方真实姓名。若传入收款用户姓名,微信支付会校验收款用户与输入姓名是否一致。转账金额>=2,000元时,必须传入该值。
该字段需要加密传入,参考微信支付公钥加密敏感信息指引(推荐)、平台证书加密敏感信息指引


 transfer_amount  必填   integer

【转账金额】 转账金额单位为“分”。


 transfer_remark  必填   string(32)

【转账备注】 转账备注,用户收款时可见该备注信息,UTF8编码,最多允许32个字符


 notify_url  选填   string(256)

【通知地址】 异步接收微信支付结果通知的回调地址,通知url必须为公网可访问的URL,必须为HTTPS,不能携带参数。


 user_recv_perception  选填   string(10)

【用户收款感知】 用户收款时感知到的收款原因将根据转账场景自动展示默认内容。如有其他展示需求,可在本字段传入。各场景展示的默认内容和支持传入的内容,可查看产品文档了解。


 transfer_scene_report_infos  选填   array[object]

【转账场景报备信息】 各转账场景下需报备的内容,可通过产品文档了解。

属性

 info_type  必填   string(15)

【信息类型】 请根据产品文档确认当前转账场景下需传入的信息类型,需按要求填入,有多个字段时需填写完整
如:转账场景为1000-现金营销,需填入活动名称、奖励说明


 info_content  必填   string(32)

【信息内容】 请根据信息类型,描述当前这笔转账单的转账背景
如:
信息类型为活动名称,请在信息内容描述用户参与活动的名称,如新会员有礼
信息类型为奖励说明,请在信息内容描述用户因为什么奖励获取这笔资金,如注册会员抽奖一等奖


 authorization_id  必填   string(32)

【微信免确认收款授权单号】 用户确认授权后微信支付返回的授权单号。系统将转账到该授权对应的用户账户

请求示例

curl
Java
Go

POST

1curl -X POST \
2  https://api.mch.weixin.qq.com/v3/fund-app/mch-transfer/partner/transfer-bills/transfer \
3  -H "Authorization: WECHATPAY2-SHA256-RSA2048 mchid=\"1900000001\",..." \
4  -H "Accept: application/json" \
5  -H "Wechatpay-Serial: 5157F09EFDC096DE15EBE81A47057A7232F1B8E1"  \
6  -H "Content-Type: application/json" \
7  -d '{
8    "sub_mchid" : "1900001121",
9    "appid" : "wxf636efh567hg4356",
10    "out_bill_no" : "plfk2020042013",
11    "transfer_scene_id" : "1000",
12    "user_name" : "757b340b45ebef5467rter35gf464344v3542sdf4t6re4tb4f54ty45t4yyry45",
13    "transfer_amount" : 400000,
14    "transfer_remark" : "2020年4月报销",
15    "notify_url" : "https://www.weixin.qq.com/wxpay/pay.php",
16    "user_recv_perception" : "现金奖励",
17    "transfer_scene_report_infos" : [
18      {
19        "info_type" : "活动名称",
20        "info_content" : "新会员有礼"
21      }
22    ],
23    "authorization_id" : "201202504101000123456789012"
24  }'
25

应答参数

200 OK

 sub_mchid  必填   string(32)

【子商户】 微信支付分配的商户号,出资商户号


 mchid  必填   string(32)

【商户号】 微信支付分配的商户号


 out_bill_no  必填   string(32)

【商户单号】 商户系统内部的商家单号,要求此参数只能由数字、大小写字母组成,在商户系统内部唯一


 transfer_bill_no  必填   string(64)

【商家转账订单号】 商家转账订单的主键,唯一定义此资源的标识


 appid  必填   string(32)

【商户AppID】 申请商户号的AppID或商户号绑定的AppID(企业号corpid即为此AppID)


 state  必填   string

【单据状态】 

可选取值

  • ACCEPTED:  转账已受理

  • SUCCESS:  转账成功


 transfer_amount  必填   integer

【转账金额】 转账金额单位为“分”。


 transfer_remark  必填   string(32)

【转账备注】 单条转账备注(微信用户会收到该备注),UTF8编码,最多允许32个字符


 fail_reason  选填   string(64)

【失败原因】 订单已失败或者已退资金时,返回 订单失败原因


 openid  选填   string(64)

【收款用户OpenID】 商户AppID下,某用户的OpenID


 user_name  选填   string

【收款用户姓名】 收款方真实姓名。支持标准RSA算法和国密算法,公钥由微信侧提供转账金额 >= 2,000元时,该笔明细必须填写若商户传入收款用户姓名,微信支付会校验用户OpenID与姓名是否一致,并提供电子回单


 create_time  必填   string(32)

【单据创建时间】 单据受理成功时返回,按照使用rfc3339所定义的格式,格式为yyyy-MM-DDThh:mm:ss+TIMEZONE


 update_time  必填   string(32)

【最后一次状态变更时间】 单据最后更新时间,按照使用rfc3339所定义的格式,格式为yyyy-MM-DDThh:mm:ss+TIMEZONE

应答示例

200 OK

1{
2  "sub_mchid" : "1900001109",
3  "mchid" : "1900001109",
4  "out_bill_no" : "plfk2020042013",
5  "transfer_bill_no" : "1330000071100999991182020050700019480001",
6  "appid" : "wxf636efh567hg4356",
7  "state" : "SUCCESS",
8  "transfer_amount" : 400000,
9  "transfer_remark" : "2020年4月报销",
10  "fail_reason" : "PAYEE_ACCOUNT_ABNORMAL",
11  "openid" : "o-MYE42l80oelYMDE34nYD456Xoy",
12  "user_name" : "757b340b45ebef5467rter35gf464344v3542sdf4t6re4tb4f54ty45t4yyry45",
13  "create_time" : "2025-11-30T10:20:58+08:00",
14  "update_time" : "2015-04-21T13:31:35+08:00"
15}
16

 

错误码

以下是本接口返回的错误码列表。详细错误码规则,请参考微信支付接口规则-错误码和错误提示

状态码

错误码

描述

解决方案

400

PARAM_ERROR

参数错误

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

400

INVALID_REQUEST

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

请参阅 接口规则

401

SIGN_ERROR

验证不通过

请参阅 签名常见问题

500

SYSTEM_ERROR

系统异常,请稍后重试

请稍后重试

403

NOT_ENOUGH

资金不足

确认出资商户余额充足

400

INVALID_REQUEST

请求不符合业务规则

请根据返回的错误信息,参阅 产品介绍、开发指引 和 接口规则处理

429

RATELIMIT_EXCEEDED

频率超限

接口或同一单号请求频率超限,当前请求结果不明确,请降低请求接口频率,使用相同参数重试

429

FREQUENCY_LIMIT

频率超限

接口或同一单号请求频率超限,当前请求结果不明确,请降低请求接口频率,使用相同参数重试

400

ALREADY_EXISTS

订单已存在

单据状态已经到终态,无法发起转账,请通过查单接口确认转账结果

403

USER_ERROR

当前用户存在风险

请联系用户,明确微信号是否有违规操作,如有疑问可联系微信客服接触风险控制

 

元宝AI
反馈
目录
置顶