发起批量转账

更新时间:2024.12.27

# 发起批量转账

服务商可以通过该接口,批量向用户零钱进行转账操作。请求消息中应包含特约商户号、特约商户授权的AppID、授权类型、商家批次单号、转账名称、转账总金额、转账总笔数、转账OpenID、收款用户姓名、服务商AppID、转账用途等信息 1、当特约商户授权类型为INFORMATION_AUTHORIZATION_TYPE(特约商户信息授权),需要填特约商户的公众号AppID,特约商户公众号AppID的用户的OpenID 2、当特约商户授权类型为FUND_AUTHORIZATION_TYPE(特约商户资金授权),需要填服务商的公众号AppID,服务商公众号AppID的用户的OpenID

接口限频: 单个服务商(发起批量转账接口)50QPS,如果超过频率限制,会报错FREQUENCY_LIMITED,请降低频率请求。

注意事项:

  • 因服务商自身系统设置存在问题导致的资金损失,由服务商自行承担。
  • 批量转账一旦发起后,不允许撤销。
  • 转账批次单和明细单中涉及金额的字段单位为“分”。
  • 微信支付视任何不同“发起的服务商商户号+商家批次单号(out_batch_no)”的请求为一个全新的批次。在未查询到明确的转账批次单处理结果之前,请勿修改商家批次单号重新提交!如有发生,服务商应当自行承担因此产生的所有损失和责任。
  • 当返回错误时,请不要更换商家批次单号,一定要使用原商家批次单号重试,否则可能造成重复转账等资金风险。
  • 如果遇到回包返回新的错误码,请务必不要换单重试,请联系客服确认转账情况。如果有新的错误码,会更新到此API文档中。
  • 错误码描述字段message只供人工定位问题时做参考,系统实现时请不要依赖这个字段来做自动化处理。
  • 请服务商在自身的系统中合理设置转账频次并做好并发控制,防范错付风险。

# 接口说明

支持商户:
【普通服务商】
请求方式:
【POST】/v3/payroll-card/transfer-batches
请求域名:
【主域名】
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
    【微信支付平台证书序列号】 请求参数中的敏感字段,需要使用微信支付平台证书公钥加密。请设置为该证书的证书序列号。详见敏感信息加解密
    Body 包体参数
  • sub_mchid 必填 string(32)
    【特约商户号】 特约商户号
  • sub_appid 选填 string(32)
    【特约商户AppID】 微信分配的特约商户公众账号ID,特约商户授权类型为INFORMATION_AUTHORIZATION_TYPE和INFORMATION_AND_FUND_AUTHORIZATION_TYPE时 需要填写
  • authorization_type 必填 string
    【特约商户授权类型】 特约商户授权类型
    可选取值:
    • INFORMATION_AUTHORIZATION_TYPE: 表示使用特约商户用户信息,出款方服务商
    • FUND_AUTHORIZATION_TYPE: 表示使用特约商户的资金,出款方为特约商户,用户信息为服务商AppID对应的OpenID
    • INFORMATION_AND_FUND_AUTHORIZATION_TYPE: 表示使用特约商户的用户信息且出款方为特约商户
  • out_batch_no 必填 string(32)
    【商家批次单号】 商户系统内部的商家批次单号,在商户系统内部唯一
  • batch_name 必填 string(32)
    【批次名称】 该笔批量转账的名称
  • batch_remark 必填 string(32)
    【批次备注】 转账说明,UTF8编码,最多允许32个字符
  • total_amount 必填 integer
    【转账总金额】 转账金额单位为“分”。转账总金额必须与批次内所有明细转账金额之和保持一致,否则无法发起转账操作
  • total_num 必填 integer
    【转账总笔数】 一个转账批次单最多发起三千笔转账。转账总笔数必须与批次内所有明细之和保持一致,否则无法发起转账操作
  • transfer_detail_list 必填 array[TransferDetailInput]
    【转账明细列表】 发起批量转账的明细列表,最多三千笔
    • 属性
  • sp_appid 选填 string(32)
    【服务商的AppID】 微信分配的服务商商户公众账号ID,特约商户授权类型为FUND_AUTHORIZATION_TYPE时 需要填写
  • employment_type 选填 string
    【用工类型】 微工卡服务仅支持用于与商户有用工关系的用户,需明确用工类型;参考值:长期用工:LONG_TERM_EMPLOYMENT,短期用工:SHORT_TERM_EMPLOYMENT,合作关系:COOPERATION_EMPLOYMENT
    可选取值:
    • LONG_TERM_EMPLOYMENT: 长期用工:有劳务合同关系的长期用工
    • SHORT_TERM_EMPLOYMENT: 短期用工:有劳务合同关系的短期用工
    • COOPERATION_EMPLOYMENT: 合作关系:有业务服务、合作关系的人员
  • employment_scene 选填 string
    【用工场景】 用工场景;参考值:LOGISTICS:物流;MANUFACTURING:制造业;HOTEL:酒店;CATERING:餐饮业;EVENT:活动促销;RETAIL:零售;OTHERS:其他
    可选取值:
    • LOGISTICS: 物流
    • MANUFACTURING: 制造业
    • HOTEL: 酒店
    • CATERING: 餐饮业
    • EVENT: 活动促销
    • RETAIL: 零售
    • OTHERS: 其他

请求示例

POST

# 应答参数

    200OK
  • out_batch_no 必填 string(32)
    【商家批次单号】 商户系统内部的商家批次单号,在商户系统内部唯一
  • batch_id 必填 string(64)
    【微信支付批次单号】 微信支付批次单号,微信商家转账系统返回的唯一标识
  • create_time 必填 string(32)
    【批次创建时间】 批次受理成功时返回,按照使用rfc3339所定义的格式,格式为yyyy-MM-DDThh:mm:ss+TIMEZONE

应答示例

200 OK

# 错误码

# 公共错误码

状态码 错误码 描述 解决方案
400 PARAM_ERROR 参数错误 请根据错误提示正确传入参数
400 INVALID_REQUEST HTTP 请求不符合微信支付 APIv3 接口规则 请参阅 接口规则
401 SIGN_ERROR 验证不通过 请参阅 签名常见问题
500 SYSTEM_ERROR 系统异常,请稍后重试 请稍后重试

# 业务错误码

状态码 错误码 描述 解决方案
500 SYSTEM_ERROR 系统错误 请勿更换商家转账批次单号,请使用相同参数再次调用API。否则可能造成资金损失
403 NO_AUTH 商户信息不合法 登录商户平台核对,传入正确信息
403 ACCOUNT_ERROR 商户账户付款受限 可前往商户平台-违约记录获取解除管控状态指引
400 INVALID_REQUEST 请求参数符合参数格式,但不符合业务规则 根据错误提示,传入正确参数
401 APPID_MCHID_NOT_MATCH 商户号和AppID没有绑定关系 商户号和AppID没有绑定关系
403 NOT_ENOUGH 资金不足 商户账户资金不足,请充值后原单重试,请勿更换商家转账批次单号
429 QUOTA_EXCEED 超出商户单日转账额度 超出商户单日转账额度,请核实产品设置是否准确
429 FREQUENCY_LIMITED 频率超限 该笔请求未受理,请降低频率后原单重试,请勿更换商家转账批次单号
403 NO_AUTH 未开通产品权限 请确认是否开通转账权限
反馈
咨询
目录

微信支付文档中心已升级,你当前所查看的是旧文档中心的内容,旧文档中心将于 2025年 3 月 31日 下线,请移步 [新文档中心] 查看相应的内容