最新更新时间:2022.04.24 版本说明
商户可以通过该接口同时向多个用户微信零钱进行转账操作。
• 商户上送敏感信息时使用微信支付平台公钥加密,证书序列号包含在请求HTTP头部的Wechatpay-Serial,详见接口规则。
• 批量转账一旦发起后,不允许撤销,批次受理成功后开始执行转账。
• 转账批次单中涉及金额的字段单位为“分”。
• 当返回错误码为“SYSTEM_ERROR”时,请不要更换商家批次单号,一定要使用原商家批次单号重试,否则可能造成重复转账等资金风险。
• 微信支付视任何不同“商家批次单号(out_batch_no)”的请求为一个全新的批次。在未查询到明确的转账批次单处理结果之前,请勿修改商家批次单号重新提交!如有发生,商户应当自行承担因此产生的所有损失和责任。
• 请商户在自身的系统中合理设置转账频次并做好并发控制,防范错付风险。
• 因商户自身系统设置存在问题导致的资金损失,由商户自行承担。
适用对象:直连商户
请求URL:https://api.mch.weixin.qq.com/v3/transfer/batches
请求方式:POST
接口限频: 单个商户 50QPS,如果超过频率限制,会报错FREQUENCY_LIMITED,请降低频率请求。
是否需要证书:是
path指该参数为路径参数
query指该参数需在请求URL传参
body指该参数需在请求JSON传参
参数名 | 变量 | 类型[长度限制] | 必填 | 描述 |
---|---|---|---|---|
直连商户的appid | appid | string[1,32] | 是 | body申请商户号的appid或商户号绑定的appid(企业号corpid即为此appid) 示例值:wxf636efh567hg4356 |
商家批次单号 | out_batch_no | string[1,32] | 是 | body商户系统内部的商家批次单号,要求此参数只能由数字、大小写字母组成,在商户系统内部唯一 示例值:plfk2020042013 |
批次名称 | batch_name | string[1,32] | 是 | body该笔批量转账的名称 示例值:2019年1月深圳分部报销单 |
批次备注 | batch_remark | string[1,32] | 是 | body转账说明,UTF8编码,最多允许32个字符 示例值:2019年1月深圳分部报销单 |
转账总金额 | total_amount | int | 是 | body转账金额单位为“分”。转账总金额必须与批次内所有明细转账金额之和保持一致,否则无法发起转账操作 示例值:4000000 |
转账总笔数 | total_num | int | 是 | body一个转账批次单最多发起三千笔转账。转账总笔数必须与批次内所有明细之和保持一致,否则无法发起转账操作 示例值:200 |
+转账明细列表 | transfer_detail_list | array | 是 | body发起批量转账的明细列表,最多三千笔 |
转账场景ID | transfer_scene_id | string[4, 10] | 否 | 该批次转账使用的转账场景,可在「商家转账到零钱 - 产品设置」中查看详情,如不填写则使用商家的默认转账场景 如:1001 - 现金营销 示例值:1001 |
{
"appid": "wxf636efh567hg4356",
"out_batch_no": "plfk2020042013",
"batch_name": "2019年1月深圳分部报销单",
"batch_remark": "2019年1月深圳分部报销单",
"total_amount": 4000000,
"total_num": 200,
"transfer_detail_list": [
{
"out_detail_no": "x23zy545Bd5436",
"transfer_amount": 200000,
"transfer_remark": "2020年4月报销",
"openid": "o-MYE42l80oelYMDE34nYD456Xoy",
"user_name": "757b340b45ebef5467rter35gf464344v3542sdf4t6re4tb4f54ty45t4yyry45"
}
]
}
参数名 | 变量 | 类型[长度限制] | 必填 | 描述 |
---|---|---|---|---|
商家批次单号 | out_batch_no | string[1,32] | 是 | 商户系统内部的商家批次单号 示例值:plfk2020042013 |
微信批次单号 | batch_id | string[1,64] | 是 | 微信批次单号,微信商家转账系统返回的唯一标识 示例值:1030000071100999991182020050700019480001 |
批次创建时间 | create_time | string[1,32] | 是 | 批次受理成功时返回,遵循rfc3339标准格式,格式为yyyy-MM-DDTHH:mm:ss.sss+TIMEZONE,yyyy-MM-DD表示年月日,T出现在字符串中,表示time元素的开头,HH:mm:ss.sss表示时分秒毫秒,TIMEZONE表示时区(+08:00表示东八区时间,领先UTC 8小时,即北京时间)。例如:2015-05-20T13:29:35.120+08:00表示北京时间2015年05月20日13点29分35秒 示例值:2015-05-20T13:29:35.120+08:00 |
{
"out_batch_no": "plfk2020042013",
"batch_id": "1030000071100999991182020050700019480001",
"create_time": "2015-05-20T13:29:35.120+08:00"
}
状态码 | 错误码 | 描述 | 解决方案 |
---|---|---|---|
500 | SYSTEM_ERROR | 系统错误 | 请勿更换商家转账批次单号,请使用相同参数再次调用API。否则可能造成资金损失 |
401 | APPID_MCHID_NOT_MATCH | 商户号和appid没有绑定关系 | 商户号和appid没有绑定关系 |
400 | PARAM_ERROR | 参数错误 | 根据错误提示,传入正确参数 |
INVALID_REQUEST | 请求参数符合参数格式,但不符合业务规则 | 根据错误提示,传入正确参数 | |
403 | NO_AUTH | 商户信息不合法 | 登录商户平台核对,传入正确信息 |
NOT_ENOUGH | 资金不足 | 商户账户资金不足,请充值后原单重试,请勿更换商家转账批次单号 | |
ACCOUNTERROR | 商户账户付款受限 | 可前往商户平台-违约记录获取解除功能限制指引 | |
429 | QUOTA_EXCEED | 超出商户单日转账额度 | 超出商户单日转账额度,请核实产品设置是否准确 |
FREQUENCY_LIMITED | 频率超限 | 该笔请求未受理,请降低频率后原单重试,请勿更换商家转账批次单号 |