付款到银行卡API

更新时间:2024.11.13

简介

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

注意事项:

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

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

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

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

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

接口介绍

业务流程

接口

简介

付款

付款到银行卡

用于向用户银行卡付款
请确保用户的卡号、户名等银行信息正确

接口调用规则:

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

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

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

接口调用请求说明

请求Url

https://api.mch.weixin.qq.com/mmpaysptrans/pay_bank

是否需要证书

是(证书及使用说明详见商户证书

请求方式

POST

接口调用频率限制

30/s

超时时间(同笔订单最短重试时间)

1s

请求参数

字段名

变量名

必填

示例值

类型

描述

商户号

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(1024)

收款方银行卡号(采用标准RSA算法,公钥由微信侧提供),详见获取RSA加密公钥API
商户需确保收集用户的银行卡信息,以及向微信支付传输用户姓名和账号标识信息做一致性校验已合法征得用户授权。

收款方用户名

enc_true_name

ca775af5f841bdf424b2e6eb86a6e21e

string(1024)

收款方用户名(采用标准RSA算法,公钥由微信侧提供)详见获取RSA加密公钥API
商户需确保收集用户的姓名信息,以及向微信支付传输用户姓名和账号标识信息做一致性校验已合法征得用户授权

收款方开户行

bank_code

1001

string(64)

银行卡所在开户行编号,详见银行编号列表

付款金额

amount

100000

int

付款金额:RMB分(支付总额,不含手续费
注:大于0的整数

付款说明

desc

转账

string(512)

付款到银行卡付款说明,即订单备注(UTF8编码,允许100个字符以内

数据示例:

1<xml>
2<amount>500</amount>
3<bank_code>1002</bank_code>
4<desc>test</desc>
5<enc_bank_no>so40iz98I8P5DRdMpOqYK/SOWdDhW8fQhlCQEuxV//LLvRZs51B4z8yeIe3X7aYyRdJGdYy18RLpJAZEYrZ9y981pB55aU9ZqT1So7Ypc1URahkLAOggUk/nKur750Lei6D0QQ1Q/B1aiYHA+IPwZH1YEjsIra9tvY7LjYgBjUsEnWx51piaL/Bv4gLvK5lo+lT7iTT2eiLD95y7PcV9U5p5zAxRMPiy6dtJt1UYfwNnbHMZbP+hdTmUhBup2JpJbk+9xchWzrwrFUQPYpB4caTOx98xubwrKrOO/xM2lt9GbRsv1GA5vF04jIiWx/dtkjQvWuPlBOTmkSDl6J0ErQ==</enc_bank_no>
6<enc_true_name>WrmNNBewyx8KJGMtrsYUf3RAmMsaHByOIu/wSjFKy/ouMeg1msRxbwzksPDRjI7OA6pvb3Ty7RQKQTGAjFdaxa10c9Dn0BqLPapP1svj000TWRd1VRJriUqy0macXZu6Pxx9bZd9ngiUcXbrVpGA10BMMwOFJ5VEt7aFJjUJSw2CCZNgj1HOVskm3abNl1eMWyzDCHVjH6uXnT8of17g5GTELTNn2ccNMTmfkUrVJopHeXTA5Yd+uKx5Tgst4IonNiHb+dFWsiGG8aOY29nqHWHw3e+vVRk/0DwEAJzaJlWjb110/TtjYjkquZwFh9XL8GncrNfoBjUz2rtvmhb5Rg==</enc_true_name>
7<mch_id>2302758702</mch_id>
8<nonce_str>50780e0cca98c8c8e814883e5caa672e</nonce_str>
9<partner_trade_no>1212121221278</partner_trade_no>
10<sign>1b3375482ac61d952aab56b534608971</sign>
11</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:分

成功示例:

1<xml>
2<return_code><![CDATA[SUCCESS]]></return_code>
3<return_msg><![CDATA[支付成功]]></return_msg>
4<result_code><![CDATA[SUCCESS]]></result_code>
5<err_code><![CDATA[SUCCESS]]></err_code>
6<err_code_des><![CDATA[微信侧受理成功]]></err_code_des>
7<nonce_str><![CDATA[50780e0cca98c8c8e814883e5caa672e]]></nonce_str>
8<mch_id><![CDATA[2302758702]]></mch_id>
9<partner_trade_no><![CDATA[1212121221278]]></partner_trade_no>
10<amount>500</amount>
11<payment_no><![CDATA[10000600500852017030900000020006012]]></payment_no>
12<cmms_amt>0</cmms_amt>
13</xml>

错误示例:

1<xml>
2<return_code><![CDATA[SUCCESS]]></return_code>
3<return_msg><![CDATA[支付失败]]></return_msg>
4<result_code><![CDATA[FAIL]]></result_code>
5<err_code><![CDATA[FATAL_ERROR]]></err_code>
6<err_code_des><![CDATA[订单信息不一致,请先查询订单]]></err_code_des>
7<nonce_str><![CDATA[50780e0cca98c8c8e814883e5caa672e]]></nonce_str>
8<mch_id><![CDATA[2302758702]]></mch_id>
9<partner_trade_no><![CDATA[1212121221278]]></partner_trade_no>
10<amount>5000</amount>
11</xml>

错误码

错误代码

原因

解决方案

INVALID_REQUEST

无效的请求,商户系统异常导致,商户权限异常、证书错误、频率限制等

使用原单号以及原请求参数重试

SYSTEMERROR

业务错误导致交易失败

请先调用查询接口,查询此次付款结果,如结果为不明确状态(如订单号不存在),请务必使用原商户订单号及原请求参数重试

PARAM_ERROR

参数错误,商户系统异常导致

商户检查请求参数是否合法,证书

PARAM_ERROR

付款说明设置失败

请调整对应文案后重新再试

SIGNERROR

签名错误

按照文档签名算法进行签名值计算

ORDERPAID

超过付款重入有效期

请勿重复请求,通过查询接口确认订单信息, 以查单结果为准

FATAL_ERROR

已存在该单,并且订单信息不一致;或订单太老

核定订单信息

NOTENOUGH

账号余额不足

请用户充值或更换支付卡后再支付

FREQUENCY_LIMITED

超过每分钟600次的频率限制

稍后用原单号重试

SUCCESS

Wx侧受理成功

-

RECV_ACCOUNT_NOT_ALLOWED

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

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

PAY_CHANNEL_NOT_ALLOWED

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

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

SENDNUM_LIMIT

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

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

NO_AUTH

此IP地址不允许调用接口

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

SEND_MONEY_LIMIT

已达到今日商户付款额度上限

如果要继续付款必须使用原商户订单号重试

RECEIVED_MONEY_LIMIT

已达到今日付款给此用户额度上限

如果要继续付款必须使用原商户订单号重试

PAYER_ACCOUNT_ABNORMAL

商户号被处罚、冻结

可前往“商户平台>账户中心>违约记录”或“商家助手小程序>风险处理”了解更多详情,解除功能限制指引

PAYEE_ACCOUNT_ABNORMAL

收款用户身份信息待完善

请引导用户完善其在微信支付的身份信息以继续收款

 

反馈
咨询
目录
置顶