企业付款到银行卡API

简介

企业付款业务是基于微信支付商户平台的资金管理能力,为了协助商户方便地实现企业向银行卡付款,针对部分有开发能力的商户,提供通过API完成企业付款到银行卡的功能。

注意事项

◆ XML具有可扩展性,因此返回参数可能会有新增,而且顺序可能不完全遵循此文档规范,如果在解析回包的时候发生错误,请商户务必不要换单重试,请商户联系客服确认付款情况。如果有新回包字段,会更新到此API文档中。

◆ 因为错误代码字段err_code的值后续可能会增加,所以商户如果遇到回包返回新的错误码,请商户务必不要换单重试,请商户联系客服确认付款情况。如果有新的错误码,会更新到此API文档中。

◆ 错误代码描述字段err_code_des和失败原因字段reason只供人工定位问题时做参考,系统实现时不要依赖这个字段来做自动化处理。

◆ 请商户在自身的系统中合理设置付款频次并做好并发控制,防范错付风险。

◆ 因商户自身系统设置存在问题导致的资金损失,由商户自行承担。

接口介绍

业务流程 接口 简介
付款 企业付款到银行卡 用于企业向用户银行卡付款
请确保用户的卡号、户名等银行信息正确

    接口调用规则:

    ◆ 单商户日限额——单日10万元

    ◆ 单次限额——单次2万元

    ◆ 单商户给同一银行卡单日限额——单日2万元

接口调用请求说明

请求Url https://api.mch.weixin.qq.com/mmpaysptrans/pay_bank
是否需要证书 是(证书及使用说明详见商户证书
请求方式 POST
接口调用频率限制 30/s

请求参数

字段名 变量名 必填 示例值 类型 描述
商户号 mch_id 1900000109 string(32) 微信支付分配的商户号
商户企业付款单号 partner_trade_no 1212121221227 string(32) 商户订单号,需保持唯一只允许数字[0~9]或字母[A~Z]和[a~z],最短8位,最长32位
随机字符串 nonce_str 5K8264ILTKCH16CQ2502SI8ZNMTM67Vs string(32) 随机字符串,不长于32位
签名 sign C380BEC2BFD727A4B6845133519F3AD6 string(32) 通过MD5签名算法计算得出的签名值,详见MD5签名生成算法
收款方银行卡号 enc_bank_no 8609cb22e1774a50a930e414cc71eca06121bcd266335cda230d24a7886a8d9f string(64) 收款方银行卡号(采用标准RSA算法,公钥由微信侧提供),详见获取RSA加密公钥API
收款方用户名 enc_true_name ca775af5f841bdf424b2e6eb86a6e21e string(64) 收款方用户名(采用标准RSA算法,公钥由微信侧提供)详见获取RSA加密公钥API
收款方开户行 bank_code 1001 string(64) 银行卡所在开户行编号,详见银行编号列表
付款金额 amount 100000 int 付款金额:RMB分(支付总额,不含手续费
注:大于0的整数
付款说明 desc 理财 string(512) 企业付款到银行卡付款说明,即订单备注(UTF8编码,允许100个字符以内

数据示例:

<xml>
<amount>500</amount>
<bank_code>1002</bank_code>
<desc>test</desc>
<enc_bank_no>so40iz98I8P5DRdMpOqYK/SOWdDhW8fQhlCQEuxV//LLvRZs51B4z8yeIe3X7aYyRdJGdYy18RLpJAZEYrZ9y981pB55aU9ZqT1So7Ypc1URahkLAOggUk/nKur750Lei6D0QQ1Q/B1aiYHA+IPwZH1YEjsIra9tvY7LjYgBjUsEnWx51piaL/Bv4gLvK5lo+lT7iTT2eiLD95y7PcV9U5p5zAxRMPiy6dtJt1UYfwNnbHMZbP+hdTmUhBup2JpJbk+9xchWzrwrFUQPYpB4caTOx98xubwrKrOO/xM2lt9GbRsv1GA5vF04jIiWx/dtkjQvWuPlBOTmkSDl6J0ErQ==</enc_bank_no>
<enc_true_name>WrmNNBewyx8KJGMtrsYUf3RAmMsaHByOIu/wSjFKy/ouMeg1msRxbwzksPDRjI7OA6pvb3Ty7RQKQTGAjFdaxa10c9Dn0BqLPapP1svj000TWRd1VRJriUqy0macXZu6Pxx9bZd9ngiUcXbrVpGA10BMMwOFJ5VEt7aFJjUJSw2CCZNgj1HOVskm3abNl1eMWyzDCHVjH6uXnT8of17g5GTELTNn2ccNMTmfkUrVJopHeXTA5Yd+uKx5Tgst4IonNiHb+dFWsiGG8aOY29nqHWHw3e+vVRk/0DwEAJzaJlWjb110/TtjYjkquZwFh9XL8GncrNfoBjUz2rtvmhb5Rg==</enc_true_name>
<mch_id>2302758702</mch_id>
<nonce_str>50780e0cca98c8c8e814883e5caa672e</nonce_str>
<partner_trade_no>1212121221278</partner_trade_no>
<sign>1b3375482ac61d952aab56b534608971</sign>

</xml>

返回参数

字段名 变量名 必填 类型 描述
返回状态码 return_code String(16) SUCCESS/FAIL
此字段是通信标识,非付款标识,付款是否成功需要查看result_code来判断
返回信息 return_msg String(128) 返回信息,如非空,为错误原因
签名失败
参数格式校验错误

以下字段在return_code为SUCCESS的时候有返回

字段名 变量名 必填 类型 描述
业务结果 result_code string(32) SUCCESS/FAIL,注意:当状态为FAIL时,存在业务结果未明确的情况,所以如果状态为FAIL,请务必通过查询接口确认此次付款的结果(关注错误码err_code字段)。如果要继续进行这笔付款,请务必用原商户订单号和原参数来重入此接口。
错误代码 err_code

string(32)

错误码信息,注意:出现未明确的错误码时,如(SYSTEMERROR)等,请务必用原商户订单号重试,或通过查询接口确认此次付款的结果
错误代码描述 err_code_des string(128) 错误信息描述
商户号 mch_id string(32) 微信支付分配的商户号
商户企业付款单号 partner_trade_no string(32) 商户订单号,需要保持唯一
代付金额 amount int 代付金额RMB:分
随机字符串 nonce_str string(32) 随机字符串,长度小于32位
签名 sign string(32) 返回包携带签名给商户

以下字段在return_code 和result_code都为SUCCESS的时候有返回

字段名 变量名 必填 类型 描述
微信企业付款单号 payment_no string(64) 代付成功后,返回的内部业务单号
手续费金额 cmms_amt int 手续费金额 RMB:分

成功示例:

<xml>
<return_code><![CDATA[SUCCESS]]></return_code>
<return_msg><![CDATA[支付成功]]></return_msg>
<result_code><![CDATA[SUCCESS]]></result_code>
<err_code><![CDATA[SUCCESS]]></err_code>
<err_code_des><![CDATA[微信侧受理成功]]></err_code_des>
<nonce_str><![CDATA[50780e0cca98c8c8e814883e5caa672e]]></nonce_str>
<mch_id><![CDATA[2302758702]]></mch_id>
<partner_trade_no><![CDATA[1212121221278]]></partner_trade_no>
<amount>500</amount>
<payment_no><![CDATA[10000600500852017030900000020006012]]></payment_no>
<cmms_amt>0</cmms_amt>
</xml>

错误示例:

<xml>
<return_code><![CDATA[SUCCESS]]></return_code>
<return_msg><![CDATA[支付失败]]></return_msg>
<result_code><![CDATA[FAIL]]></result_code>
<err_code><![CDATA[FATAL_ERROR]]></err_code>
<err_code_des><![CDATA[订单信息不一致,请先查询订单]]></err_code_des>
<nonce_str><![CDATA[50780e0cca98c8c8e814883e5caa672e]]></nonce_str>
<mch_id><![CDATA[2302758702]]></mch_id>
<partner_trade_no><![CDATA[1212121221278]]></partner_trade_no>
<amount>5000</amount>
</xml>

错误码

错误代码 原因 解决方案
INVALID_REQUEST 无效的请求,商户系统异常导致,商户权限异常、证书错误、频率限制等 使用原单号以及原请求参数重试
SYSTEMERROR 业务错误导致交易失败 请先调用查询接口,查询此次付款结果,如结果为不明确状态(如订单号不存在),请务必使用原商户订单号及原请求参数重试
PARAM_ERROR 参数错误,商户系统异常导致 商户检查请求参数是否合法,证书
SIGNERROR 签名错误 按照文档签名算法进行签名值计算
AMOUNT_LIMIT 超额;已达到今日付款金额上限或已达到今日银行卡收款金额上限 今天暂停该商户发起代付请求或今日暂停向该银行卡转账
ORDERPAID 超过付款重入有效期 请勿重复请求,通过查询接口确认订单信息, 以查单结果为准
FATAL_ERROR 已存在该单,并且订单信息不一致;或订单太老 核定订单信息
NOTENOUGH 账号余额不足 请用户充值或更换支付卡后再支付
FREQUENCY_LIMITED 超过每分钟600次的频率限制 稍后用原单号重试
SUCCESS Wx侧受理成功

RECV_ACCOUNT_NOT_ALLOWED

收款账户不在收款账户列表

请登陆商户平台,查看产品中心企业付款到银行卡的产品配置

PAY_CHANNEL_NOT_ALLOWED

本商户号未配置API发起能力 

请登陆商户平台,查看产品中心企业付款到银行卡的产品配置

SENDNUM_LIMIT

已达到付款给此用户次数上限

请登陆商户平台,查看产品中心企业付款到银行卡的产品配置

NO_AUTH

此IP地址不允许调用接口

请登陆商户平台,查看产品中心企业付款到银行卡的产品配置