最新更新时间:2022.08.09 版本说明
商户可以通过该接口查询单笔转账明细单。
• API只支持查询最近30天内的转账明细单,30天之前的转账明细单请登录商户平台查询。
• 转账明细单中涉及金额的字段单位为“分”。
• 如果查询单号对应的数据不存在,那么数据不存在的原因可能是:
(1)转账还在处理中;
(2)转账批次单受理失败或还未开始处理导致转账明细单没有落地。
在上述情况下,商户首先需要检查该商家明细单号是否确实是自己发起,以及是否是该批次下的,如果商户确认是自己发起且是该批次下的,则请商户不要直接当做转账失败处理,请商户隔几分钟再尝试查询(请勿转账和查询并发处理)。如果商户误把还在转账处理中的明细单直接当转账失败处理,商户应当自行承担因此产生的所有损失和责任。
适用对象:直连商户
请求URL:https://api.mch.weixin.qq.com/v3/transfer/batches/out-batch-no/{out_batch_no}/details/out-detail-no/{out_detail_no}
请求方式:GET
接口限频: 单个商户 50QPS,如果超过频率限制,会报错FREQUENCY_LIMITED,请降低频率请求。
path指该参数为路径参数
query指该参数需在请求URL传参
body指该参数需在请求JSON传参
参数名 | 变量 | 类型[长度限制] | 必填 | 描述 |
---|---|---|---|---|
商家明细单号 | out_detail_no | string[1,32] | 是 | path商户系统内部区分转账批次单下不同转账明细单的唯一标识,要求此参数只能由数字、大小写字母组成 示例值:x23zy545Bd5436 |
商家批次单号 | out_batch_no | string[1,32] | 是 | path商户系统内部的商家批次单号,要求此参数只能由数字、大小写字母组成,在商户系统内部唯一 示例值:plfk2020042013 |
https://api.mch.weixin.qq.com/v3/transfer/batches/out-batch-no/x23zy545Bd5436/details/out-detail-no/plfk2020042013
参数名 | 变量 | 类型[长度限制] | 必填 | 描述 |
---|---|---|---|---|
商家批次单号 | out_batch_no | string[1,32] | 是 | 商户系统内部的商家批次单号,在商户系统内部唯一 示例值:plfk2020042013 |
微信批次单号 | batch_id | string[1,64] | 是 | 微信批次单号,微信商家转账系统返回的唯一标识 示例值:1030000071100999991182020050700019480001 |
直连商户的appid | appid | string[1,32] | 是 | 申请商户号的appid或商户号绑定的appid(企业号corpid即为此appid) 示例值:wxf636efh567hg4356 |
商家明细单号 | out_detail_no | string[1,32] | 是 | 商户系统内部区分转账批次单下不同转账明细单的唯一标识 示例值:x23zy545Bd5436 |
微信明细单号 | detail_id | string[1,64] | 是 | 微信支付系统内部区分转账批次单下不同转账明细单的唯一标识 示例值:1040000071100999991182020050700019500100 |
明细状态 | detail_status | string[1,32] | 是 | 枚举值: PROCESSING:转账中。正在处理中,转账结果尚未明确 SUCCESS:转账成功 FAIL:转账失败。需要确认失败原因后,再决定是否重新发起对该笔明细单的转账(并非整个转账批次单) 示例值:SUCCESS |
转账金额 | transfer_amount | int | 是 | 转账金额单位为分 示例值:200000 |
转账备注 | transfer_remark | string[1,32] | 是 | 单条转账备注(微信用户会收到该备注),UTF8编码,最多允许32个字符 示例值:2020年4月报销 |
明细失败原因 | fail_reason | string[1,64] | 否 | 如果转账失败则有失败原因 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:转账存在风险 REALNAME_ACCOUNT_RECEIVED_QUOTA_EXCEED:用户账户收款受限,请引导用户在微信支付查看详情 RECEIVE_ACCOUNT_NOT_PERMMIT:未配置该用户为转账收款人 PAYER_ACCOUNT_ABNORMAL:商户账户付款受限,可前往商户平台-违约记录获取解除功能限制指引 PAYEE_ACCOUNT_ABNORMAL:用户账户收款异常,请引导用户完善其在微信支付的身份信息以继续收款 TRANSFER_REMARK_SET_FAIL:转账备注设置失败,请调整对应文案后重新再试 示例值:ACCOUNT_FROZEN |
用户在直连商户应用下的用户标示 | openid | string[1,128] | 是 | 用户在直连商户appid下的唯一标识 示例值:o-MYE42l80oelYMDE34nYD456Xoy |
收款用户姓名 | user_name | string[1,1024] | 否 | 1、商户转账时传入了收款用户姓名、查询时会返回收款用户姓名; 2、收款方姓名采用标准RSA算法,公钥由微信侧提供 3、 该字段需进行加密处理,加密方法详见敏感信息加密说明。(提醒:必须在HTTP头中上送Wechatpay-Serial) 示例值:757b340b45ebef5467rter35gf464344v3542sdf4t6re4tb4f54ty45t4yyry45 |
转账发起时间 | initiate_time | string[1,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秒 示例值:2015-05-20T13:29:35.120+08:00 |
明细更新时间 | update_time | string[1,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秒 示例值:2015-05-20T13:29:35.120+08:00 |
{
"out_batch_no": "plfk2020042013",
"batch_id": "1030000071100999991182020050700019480001",
"appid": "wxf636efh567hg4356",
"out_detail_no": "x23zy545Bd5436",
"detail_id": "1040000071100999991182020050700019500100",
"detail_status": "SUCCESS",
"transfer_amount": 200000,
"transfer_remark": "2020年4月报销",
"fail_reason": "ACCOUNT_FROZEN",
"openid": "o-MYE42l80oelYMDE34nYD456Xoy",
"user_name": "757b340b45ebef5467rter35gf464344v3542sdf4t6re4tb4f54ty45t4yyry45",
"initiate_time": "2015-05-20T13:29:35.120+08:00",
"update_time": "2015-05-20T13:29:35.120+08:00"
}
状态码 | 错误码 | 描述 | 解决方案 |
---|---|---|---|
500 | SYSTEM_ERROR | 系统错误 | 5开头的状态码都为系统问题,请使用相同参数稍后重新调用 |
400 | PARAM_ERROR | 参数错误 | 根据错误提示,传入正确参数 |
404 | NOT_FOUND | 记录不存在 | 查询的转账明细单不存在 |
429 | FREQUENCY_LIMITED | 频率超限 | 请求量不要超过接口调用频率限制 |