商家明细单号查询明细单

更新时间:2024.11.28

商户明细单号查单接口。转账处理后延迟一段时间(异步进行转账),服务商可以通过该接口查询单笔转账明细单。

注意

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

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

  • 如果查询单号对应的数据不存在,那么数据不存在的原因可能是:

    (1)转账还在处理中;

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

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

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

接口限频: 单个服务商 50QPS,如果超过频率限制,会报错FREQUENCY_LIMITED,请降低频率请求。

接口说明

支持商户:【普通服务商】

请求方式:【GET】/v3/partner-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(64)

【商家批次单号】 商户系统内部的商家批次单号,要求此参数只能由数字、大小写字母组成,在商户系统内部唯一


out_detail_no  必填 string(64)

【商家明细单号】 商户系统内部区分转账批次单下不同转账明细单的唯一标识,要求此参数只能由数字、大小写字母组成

请求示例

GET

1curl -X GET \
2  https://api.mch.weixin.qq.com/v3/partner-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

sp_mchid  必填 string(32)

【服务商商户号】 微信服务商商户的商户号,由微信支付生成并下发


out_batch_no  必填 string(32)

【商家批次单号】 商户系统内部的商家批次单号,在商户系统内部唯一


batch_id  必填 string(64)

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


appid  选填 string(32)

【商户的appid】 微信分配的特约商户公众账号ID。特约商户授权类型为
INFORMATION_AUTHORIZATION_TYPE和INFORMATION_AND_FUND_AUTHORIZATION_TYPE时对应的是特约商户的AppID,特约商户授权类型为FUND_AUTHORIZATION_TYPE时为服务商的AppID


out_detail_no  必填 string(32)

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


detail_id  必填 string(64)

【微信支付明细单号】 微信支付明细单号


detail_status  必填 string(32)

【明细状态】 枚举值:
INIT:初始态. 系统转账校验中, 校验成功会进入转账流程(PROCESSING), 校验失败会关闭明细单(FAIL)
PROCESSING:转账中。正在处理中,转账结果尚未明确
SUCCESS:转账成功
FAIL:转账失败。需要确认失败原因后,再决定是否重新发起对该笔明细单的转账(并非整个转账批次单)
REFUND:退票


total_amount  必填 int

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


transfer_remark  必填 string(32)

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


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:该用户没有开通微工卡
REALNAME_ACCOUNT_RECEIVED_QUOTA_EXCEED:用户账户收款受限,请引导用户在微信支付查看详情
BANK_CARD_COLLECTIONS_ABOVE_QUOTA:银行卡收款超过限额,银行卡属二/三类卡,达到收款限额无法入账
BANK_CARD_ACCOUNT_ABNORMAL:银行卡账户异常,银行卡已被销户、冻结、作废、挂失等致无法入账BANK_CARD_STATUS_ABNORMAL:银行卡状态异常,银行卡状态异常,无法入账
BANK_CARD_BANK_INFO_WRONG:银行卡银行信息错误,登记的银行名称或分支行信息有误


openid  必填 string(64)

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


username  必填 string(1024)

【收款用户姓名】 1、收款方姓名。采用标准RSA算法,公钥由微信侧提供
2、该字段已做加密处理,具体解密方法详见如何使用API证书解密敏感字段


initiate_time  必填 string(32)

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


update_time  必填 string(32)

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


account_type  选填 string(32)

【收款账户类型】 收款账户类型包括:

可选取值

  • WECHATPAY_ACCOUNT: 微信支付零钱账户

  • BANK_ACCOUNT: 银行卡账户


bank_name  选填 string(64)

【银行名称】 转账到银行卡时输出该字段


bank_card_number_tail  选填 string(10)

【银行卡尾号】 转账到银行卡时输出该字段

应答示例

200 OK

1{
2  "sp_mchid" : "1900001109",
3  "out_batch_no" : "plfk2020042013",
4  "batch_id" : "1030000071100999991182020050700019480001",
5  "appid" : "wxf636efh567hg4356",
6  "out_detail_no" : "x23zy545Bd5436",
7  "detail_id" : "1040000071100999991182020050700019500100",
8  "detail_status" : "SUCCESS",
9  "total_amount" : 200000,
10  "transfer_remark" : "2020年4月报销",
11  "fail_reason" : "ACCOUNT_FROZEN",
12  "openid" : "o-MYE42l80oelYMDE34nYD456Xoy",
13  "username" : "757b340b45ebef5467rter35gf464344v3542sdf4t6re4tb4f54ty45t4yyry45",
14  "initiate_time" : "2015-05-20T13:29:35.120+08:00",
15  "update_time" : "2015-05-20T13:29:35.120+08:00",
16  "account_type" : "WECHATPAY_ACCOUNT",
17  "bank_name" : "招商银行",
18  "bank_card_number_tail" : "1234"
19}
20

 

错误码

公共错误码

状态码

错误码

描述

解决方案

400

PARAM_ERROR

参数错误

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

400

INVALID_REQUEST

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

请参阅 接口规则

401

SIGN_ERROR

验证不通过

请参阅 签名常见问题

500

SYSTEM_ERROR

系统异常,请稍后重试

请稍后重试

业务错误码

状态码

错误码

描述

解决方案

500

SYSTEM_ERROR

系统错误

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

404

NOT_FOUND

记录不存在

查询的转账明细单不存在

429

FREQUENCY_LIMITED

频率超限

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

 

 

反馈
咨询
目录
置顶