付款到银行卡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 | 收款用户身份信息待完善 | 请引导用户完善其在微信支付的身份信息以继续收款 |