发起转账(转账到用户,需用户确认收款)

更新时间:2025.03.11

商户可通过此接口申请创建商家转账订单

接口说明

支持商户:【平台商户】

请求方式:【POST】/v3/ecommerce/mch-transfer/transfer-bills

请求域名:【主域名】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】 微信分配的公众账号ID,请填写收款用户OpenID对应的AppID


out_bill_no  必填 string(32)

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


transfer_scene_id  必填 string(16)

【转账场景ID】 该笔转账使用的转账场景,可在「平台商家转账 - 产品设置」中查看已获得场景和申请新场景


openid  必填 string(64)

【收款用户OpenID】 服务商AppID下,收款用户的OpenID。
若传入,微信支付会校验OpenID与确认收款用户的微信是否一致,若不一致无法转账成功


user_name  选填 string(1024)

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


transfer_amount  必填 integer

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


transfer_remark  必填 string(32)

【转账备注】 该笔转账的备注信息,微信用户收款时将可见该备注,最多允许32个字符


notify_url  选填 string(256)

【商户回调地址】 异步接收用户确认收款及转账结果的回调通知地址,通知URL必须为公网可访问的URL,必须为HTTPS,不能携带参数。

请求示例

POST

1curl -X POST \
2  https://api.mch.weixin.qq.com/v3/ecommerce/mch-transfer/transfer-bills \
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" : "1900001109",
9    "appid" : "wxf636efh567hg4356",
10    "out_bill_no" : "plfk2020042013",
11    "transfer_scene_id" : "1000",
12    "openid" : "o-MYE42l80oelYMDE34nYD456Xoy",
13    "user_name" : "757b340b45ebef5467rter35gf464344v3542sdf4t6re4tb4f54ty45t4yyry45",
14    "transfer_amount" : 400000,
15    "transfer_remark" : "2020年4月报销",
16    "notify_url" : "https://www.weixin.qq.com/wxpay/pay.php"
17  }'
18

应答参数

200 OK

sub_mchid  必填 string(32)

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


out_bill_no  必填 string(32)

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


transfer_bill_no  必填 string(64)

【微信转账单号】 微信商家转账系统返回的唯一标识


create_time  必填 string(32)

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


state  必填 string

【单据状态】 单据状态

可选取值

  • ACCEPTED: 转账已受理

  • PROCESSING: 转账处理中,转账结果尚未明确,如一直处于此状态,建议检查账户余额是否足够

  • WAIT_USER_CONFIRM: 待收款用户确认,可拉起微信收款确认页面进行收款确认

  • TRANSFERING: 转账结果尚未明确,可拉起微信收款确认页面再次重试确认收款

  • SUCCESS: 转账成功

  • FAIL: 转账失败

  • CANCELING: 商户撤销请求受理成功,该笔转账正在撤销中

  • CANCELLED: 转账撤销完成


fail_reason  选填 string(64)

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


package_info  选填 string(1024)

【跳转领取页面的package信息】 商家转账付款单跳转微信支付收款页的package信息,该数据在24小时内有效。

应答示例

200 OK

1{
2  "sub_mchid" : "1900001109",
3  "out_bill_no" : "plfk2020042013",
4  "transfer_bill_no" : "1330000071100999991182020050700019480001",
5  "create_time" : "2015-05-20T13:29:35.120+08:00",
6  "state" : "SUCCESS",
7  "fail_reason" : "PAYEE_ACCOUNT_ABNORMAL",
8  "package_info" : "affffddafdfafddffda=="
9}
10

 

错误码

公共错误码

状态码

错误码

描述

解决方案

400

PARAM_ERROR

参数错误

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

400

INVALID_REQUEST

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

请参阅 接口规则

401

SIGN_ERROR

验证不通过

请参阅 签名常见问题

500

SYSTEM_ERROR

系统异常,请稍后重试

请稍后重试

 

 

更多技术问题
技术咨询
反馈
咨询
目录
置顶