付款到银行卡API
更新时间:2024.11.13简介
付款业务是基于微信支付商户平台的资金管理能力,为了协助商户方便地实现向银行卡付款,针对部分有开发能力的商户,提供通过API完成付款到银行卡的功能。
| 
 | 
接口介绍
| 业务流程 | 接口 | 简介 | 
|---|---|---|
| 付款 | 付款到银行卡 | 用于向用户银行卡付款 | 
接口调用规则:
◆ 单商户日限额——单日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分(支付总额,不含手续费) | 
| 付款说明 | desc | 否 | 转账 | string(512) | 付款到银行卡付款说明,即订单备注(UTF8编码,允许100个字符以内) | 
数据示例:
返回参数
| 字段名 | 变量名 | 必填 | 类型 | 描述 | 
|---|---|---|---|---|
| 返回状态码 | return_code | 是 | String(16) | SUCCESS/FAIL | 
| 返回信息 | 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:分 | 
成功示例:
错误示例:
错误码
| 错误代码 | 原因 | 解决方案 | 
|---|---|---|
| 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 | 收款用户身份信息待完善 | 请引导用户完善其在微信支付的身份信息以继续收款 | 

