企业支付
接口调用请求说明
|请求Url https://api.mch.weixin.qq.com/mmpaysptrans/pay_bank
是否需要证书 | 是(证书及使用说明详见商户证书) |
---|---|
请求方式 | POST |
接口调用频率限制 | 30/s |
请求参数
字段名 | 变量名 | 必填 | 示例值 | 类型 | 描述 |
---|---|---|---|---|---|
商户号 | mch_id | 是 | 1900000109 | string(32) | 微信支付分配的商户号 |
商户企业付款单号 | partner_trade_no | 是 | 1212121221227 | string(32) | 商户订单号,需保持唯一(只允许数字[09]或字母[AZ]和[a~z],最短8位,最长32位) |
随机字符串 | nonce_str | 是 | 5K8264ILTKCH16CQ2502SI8ZNMTM67Vs | string(32) | 随机字符串,不长于32位 |
签名 | sign | 是 | C380BEC2BFD727A4B6845133519F3AD6 | string(32) | 通过MD5签名算法计算得出的签名值,详见MD5签名生成算法 |
收款方银行卡号 | enc_bank_no | 是 | 8609cb22e1774a50a930e4 14cc71eca06121bcd266335cda230d24a7886a8d9f | 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地址不允许调用接口 | 请登陆商户平台,查看产品中心企业付款到零钱的产品配置 |