银行明细单号查询明细单

更新时间:2024.11.18

银行服务商明细单号查单接口。转账处理后延迟一段时间(异步进行转账),服务商可以通过该接口查询单笔转账明细单。返回消息中包含微信明细单号、明细状态、转账金额、失败原因、收款用户姓名、用户OpenID等信息。

 

接口限频:
单个服务商(查询转账明细单)50QPS,如果超过频率限制,会报错FREQUENCY_LIMITED,请降低频率请求。

 

注意事项:

  • API只支持查询最近30天内的转账明细单,30天之前的转账明细单请登录银行服务商平台查询。

  • 转账明细单中涉及金额的字段单位为“分”。

  • 如果查询单号对应的数据不存在,那么数据不存在的原因可能是:(1)转账还在处理中;(2)转账批次单受理失败或还未开始处理导致转账明细单没有落地。在上述情况下,服务商首先需要检查该银行明细单号是否确实是自己发起,以及是否是该批次下的,如果服务商确认是自己发起且是该批次下的,则请服务商不要直接当做转账失败处理,请服务商隔几分钟再尝试查询(请勿转账和查询并发处理)。如果服务商误把还在转账处理中的明细单直接当转账失败处理,服务商应当自行承担因此产生的所有损失和责任。

  • 如果遇到回包返回新的错误码,请务必不要换单重试,请联系客服确认转账情况。如果有新的错误码,会更新到此API文档中。

  • 错误码描述字段message只供人工定位问题时做参考,系统实现时请不要依赖这个字段来做自动化处理。

接口说明

支持商户:【从业机构(银行)】

请求方式:【GET】/v3/bank-transfer/batches/out-batch-no/{out_batch_no}/details/out-detail-no/{out_detail_no}

请求域名:【主域名】https://api.mch.weixin.qq.com 使用该域名将访问就近的接入点

     【备域名】https://api2.mch.weixin.qq.com 使用该域名将访问异地的接入点 ,指引点击查看

请求参数

Header HTTP头参数

Authorization  必填 string

请参考签名认证生成认证信息


Accept  必填 string

请设置为application/json


path 路径参数

out_batch_no  必填 string(32)

【银行批次单号】银行服务商系统内部的银行批次单号,在银行服务商系统内部唯一


out_detail_no  必填 string(32)

【银行明细单号】银行服务商系统内部区分转账批次单下不同转账明细单的唯一标识

请求示例

GET

1curl -X GET \
2  https://api.mch.weixin.qq.com/v3/bank-transfer/batches/out-batch-no/plfk2020042013/details/out-detail-no/x23zy545Bd5436 \
3  -H "Authorization: WECHATPAY2-SHA256-RSA2048 mchid=\"1900000001\",..." \
4  -H "Accept: application/json" 
5

应答参数

200 OK

bank_sp_mchid  必填 string(32)

【银行服务商号】微信支付分配的银行服务商号


platform_mchid  必填 string(32)

【服务平台商户号】提供信息服务、财税服务等平台的商户号。


specialized_payment_mchid  必填 string(32)

【付款企业商户号】承载付款场景、付款业务的商户号


sponsor_mchid  必填 string(32)

【实际出资商户号】实际出资方商户号,可在付款企业商户号、服务平台商户号中二选一


user_authorized_mchid  必填 string(32)

【用户授权商户号】用户信息授权方商户号,可在付款企业商户号、服务平台商户号中二选一


user_authorized_appid  必填 string(32)

【用户授权AppID】用户信息授权方的AppID,需和用户授权商户号完成MA绑定


out_batch_no  必填 string(32)

【银行批次单号】银行服务商系统内部的银行批次单号,在银行服务商系统内部唯一


batch_id  必填 string(64)

【微信支付批次单号】微信支付批次单号,微信银行转账系统返回的唯一标识


transfer_scene  必填 string

【转账场景】银行服务商的转账场景

可选取值:

  • ORDINARY_TRANSFER: 普通转账(默认)

  • PAYROLL_CARD_TRANSFER: 给使用微信务工卡的用户进行转账


out_detail_no  必填 string(32)

【银行明细单号】银行服务商系统内部区分转账批次单下不同转账明细单的唯一标识


detail_id  必填 string(64)

【微信支付明细单号】微信支付系统内部区分转账批次单下不同转账明细单的唯一标识


openid  必填 string(64)

【收款用户OpenID】收款用户OpenID。如果转账特约银行服务商授权类型是INFORMATION_AUTHORIZATION_TYPE,对应的是特约银行服务商公众号下的OpenID;如果转账特约银行服务商授权类型是FUND_AUTHORIZATION_TYPE,对应的是服务商银行服务商公众号下的OpenID。


username  必填 string(1024)

【收款用户姓名】收款方姓名。采用标准RSA算法,公钥由微信侧提供


transfer_amount  必填 integer

【转账金额】转账金额单位为“分”


transfer_remark  必填 string(32)

【转账备注】单条转账备注(微信用户会收到该备注),UTF8编码,最多允许32个字符


detail_state  必填 string(32)

【明细状态】PROCESSING:转账中。正在处理中,转账结果尚未明确
SUCCESS:转账成功
FAIL:转账失败。需要确认失败原因后,再决定是否重新发起对该笔明细单的转账(并非整个转账批次单)
REFUND: 退票


fail_reason  选填 string

【明细失败原因】如果转账失败则有失败原因

可选取值:

  • ACCOUNT_FROZEN: 该用户账户被冻结

  • REAL_NAME_CHECK_FAIL: 收款人未实名认证,需要用户完成微信实名认证

  • NAME_NOT_CORRECT: 收款人姓名校验不通过,请核实信息

  • OPENID_INVALID: OpenID格式错误或者不属于银行公众账号

  • TRANSFER_QUOTA_EXCEED: 超过用户单笔收款额度,核实产品设置是否准确

  • DAY_RECEIVED_QUOTA_EXCEED: 超过用户单日收款额度,核实产品设置是否准确

  • MONTH_RECEIVED_QUOTA_EXCEED: 超过用户单月收款额度,核实产品设置是否准确

  • DAY_RECEIVED_COUNT_EXCEED: 超过用户单日收款次数,核实产品设置是否准确

  • PRODUCT_AUTH_CHECK_FAIL: 未开通该权限或权限被冻结,请核实产品权限状态

  • OVERDUE_CLOSE: 超过系统重试期,系统自动关闭

  • ID_CARD_NOT_CORRECT: 收款人身份证校验不通过,请核实信息

  • ACCOUNT_NOT_EXIST: 该用户账户不存在

  • TRANSFER_RISK: 该笔转账可能存在风险,已被微信拦截

  • PAYROLL_CARD_ALREADY_LOGOUT: 该用户的务工卡已经注销

  • PAYROLL_CARD_ALREADY_FROZEN: 该用户的务工卡已经被冻结

  • PAYROLL_CARD_UNAUTHORIZED: 该用户的务工卡未授权该银行服务商

  • PAYROLL_CARD_USER_NOT_OPEN: 该用户没有开通务工卡

  • PAYROLL_CARD_NAME_CARD_NOT_MATCH: 务工卡实名和用户实名不一致

  • PAYROLL_CARD_ID_CARD_NOT_MATCH: 务工卡身份证和用户身份证不一致

  • PAYROLL_CARD_BANKCARD_UNBUNDLING: 务工卡所选银行卡已解绑

  • BANK_CARD_COLLECTIONS_ABOVE_QUOTA: 银行卡属二/三类卡,达到收款限额无法入账

  • BANK_CARD_ACCOUNT_ABNORMAL: 银行卡已被销户、冻结、作废、挂失等致无法入账

  • BANK_CARD_STATUS_ABNORMAL: 银行卡状态异常,无法入账

  • BANK_CARD_BANK_INFO_WRONG: 登记的银行名称或分支行信息有误

  • BANK_CARD_CARD_INFO_WRONG: 银行卡户名或卡号有误

  • OTHER_FAIL_REASON_TYPE: 其它失败原因

  • REALNAME_ACCOUNT_RECEIVED_QUOTA_EXCEED: 请引导用户在微信支付查看详情

  • RECEIVE_ACCOUNT_NOT_PERMMIT: 请在产品设置中调整,添加该用户为收款人

  • PAYEE_ACCOUNT_ABNORMAL: 请联系用户完善其在微信支付的身份信息以继续收款

  • PAYER_ACCOUNT_ABNORMAL: 可前往商户平台获取解除功能限制指引

  • TRANSFER_REMARK_SET_FAIL: 转账备注设置失败,请调整后重新再试


initiate_time  选填 string(32)

【转账发起时间】转账发起的时间,遵循rfc3339标准格式,格式为YYYY-MM-DDTHH:mm:ss+TIMEZONE,YYYY-MM-DD表示年月日,T出现在字符串中,表示time元素的开头,HH:mm:ss表示时分秒,TIMEZONE表示时区(+08:00表示东八区时间,领先UTC 8小时,即北京时间)。例如:2015-05-20T13:29:35+08:00表示,北京时间2015年5月20日 13点29分35秒。


update_time  必填 string(32)

【明细更新时间】明细最后一次状态变更的时间,遵循rfc3339标准格式,格式为YYYY-MM-DDTHH:mm:ss+TIMEZONE,YYYY-MM-DD表示年月日,T出现在字符串中,表示time元素的开头,HH:mm:ss表示时分秒,TIMEZONE表示时区(+08:00表示东八区时间,领先UTC 8小时,即北京时间)。例如:2015-05-20T13:29:35+08:00表示,北京时间2015年5月20日 13点29分35秒。


account_type  必填 string

【收款账户类型】WECHATPAY_ACCOUNT表示微信零钱,BANK_ACCOUNT表示银行卡账户

可选取值:

  • WECHATPAY_ACCOUNT: 微信支付零钱账户

  • BANK_ACCOUNT: 银行卡账户


bank_name  选填 string(64)

【银行名称】务工卡场景下转账到银行卡时输出该字段


bank_card_number_tail  选填 string(10)

【银行卡尾号】务工卡场景下转账到银行卡时输出该字段

应答示例

200 OK

1{
2  "bank_sp_mchid" : "1900001109",
3  "platform_mchid" : "1900001109",
4  "specialized_payment_mchid" : "1900001109",
5  "sponsor_mchid" : "1900001109",
6  "user_authorized_mchid" : "1900001109",
7  "user_authorized_appid" : "wxaffdakkk11112e3",
8  "out_batch_no" : "plfk2020042013",
9  "batch_id" : "1130000071100999991182020050700019480001",
10  "transfer_scene" : "ORDINARY_TRANSFER",
11  "out_detail_no" : "x23zy545Bd5436",
12  "detail_id" : "1140000071100999991182020050700019500100",
13  "openid" : "o-MYE42l80oelYMDE34nYD456Xoy",
14  "username" : "757b340b45ebef5467rter35gf464344v3542sdf4t6re4tb4f54ty45t4yyry45",
15  "transfer_amount" : 200000,
16  "transfer_remark" : "2020年4月报销",
17  "detail_state" : "SUCCESS",
18  "fail_reason" : "ACCOUNT_FROZEN",
19  "initiate_time" : "2015-05-20T13:29:35+08:00",
20  "update_time" : "2015-05-20T13:29:35+08:00",
21  "account_type" : "WECHATPAY_ACCOUNT",
22  "bank_name" : "招商银行",
23  "bank_card_number_tail" : "1234"
24}
25

 

错误码

公共错误码

状态码

错误码

描述

解决方案

400

PARAM_ERROR

参数错误

请根据错误提示正确传入参数

400

INVALID_REQUEST

HTTP 请求不符合微信支付 APIv3 接口规则

请参阅 接口规则

401

SIGN_ERROR

验证不通过

请参阅 签名常见问题

500

SYSTEM_ERROR

系统异常,请稍后重试

请稍后重试

业务错误码

状态码

错误码

描述

解决方案

404

NOT_FOUND

记录不存在

查询的转账明细单不存在

429

FREQUENCY_LIMITED

频率超限

请求量不要超过接口调用频率限制

500

SYSTEM_ERROR

系统错误

5开头的状态码都为系统问题,请使用相同参数稍后重新调用

 

 

反馈
咨询
目录
置顶