商家明细单号查询明细单
更新时间:2023.10.11# 查询接口说明
商户明细单号查单接口。转账处理后延迟一段时间(异步进行转账),服务商可以通过该接口查询单笔转账明细单。返回消息中包含微信明细单号、明细状态、转账金额、失败原因、收款用户姓名、用户OpenID等信息。
接口限频: 单个服务商(查询转账明细单)50QPS,如果超过频率限制,会报错FREQUENCY_LIMITED,请降低频率请求。
注意事项:
- API只支持查询最近30天内的转账明细单,30天之前的转账明细单请登录商户平台查询。
- 转账明细单中涉及金额的字段单位为“分”。
- 如果查询单号对应的数据不存在,那么数据不存在的原因可能是:(1)转账还在处理中;(2)转账批次单受理失败或还未开始处理导致转账明细单没有落地。在上述情况下,服务商首先需要检查该商家明细单号是否确实是自己发起,以及是否是该批次下的,如果服务商确认是自己发起且是该批次下的,则请服务商不要直接当做转账失败处理,请服务商隔几分钟再尝试查询(请勿转账和查询并发处理)。如果服务商误把还在转账处理中的明细单直接当转账失败处理,服务商应当自行承担因此产生的所有损失和责任。
- 如果遇到回包返回新的错误码,请务必不要换单重试,请联系客服确认转账情况。如果有新的错误码,会更新到此API文档中。
- 错误码描述字段message只供人工定位问题时做参考,系统实现时请不要依赖这个字段来做自动化处理。
# 接口说明
支持商户:
【普通服务商】
请求方式:
【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
使用该域名将访问异地的接入点 ,指引点击查看
# 请求参数
- Authorization 必填请参考 签名认证 生成认证信息
- Accept 必填请设置为
application/json
Header HTTP头参数
- out_batch_no 必填【商家批次单号】 商户系统内部的商家批次单号,在商户系统内部唯一
- out_detail_no 必填【商家明细单号】 商户系统内部区分转账批次单下不同转账明细单的唯一标识
Path 路径参数
请求示例
GET
# 应答参数
- sp_mchid 必填【服务商商户号】 微信支付分配的商户号,此处为服务商商户号
- out_batch_no 必填【商家批次单号】 商户系统内部的商家批次单号,在商户系统内部唯一
- batch_id 必填【微信支付批次单号】 微信支付批次单号,微信商家转账系统返回的唯一标识
- appid 选填【商户的appid】 微信分配的商户公众账号ID。特约商户授权类型为INFORMATION_AUTHORIZATION_TYPE和INFORMATION_AND_FUND_AUTHORIZATION_TYPE时对应的是特约商户的appid,特约商户授权类型为FUND_AUTHORIZATION_TYPE时为服务商的appid
- out_detail_no 必填【商家明细单号】 商户系统内部区分转账批次单下不同转账明细单的唯一标识
- detail_id 必填【微信支付明细单号】 微信支付系统内部区分转账批次单下不同转账明细单的唯一标识
- detail_status 必填【明细状态】 INIT: 初始态。 系统转账校验中
WAIT_PAY: 待确认。待出资商户员工(转账验密人)确认,符合免确认条件时,系统会自动扭转为转账中
PROCESSING:转账中。正在处理中,转账结果尚未明确
SUCCESS:转账成功
FAIL:转账失败。需要确认失败原因后,再决定是否重新发起对该笔明细单的转账(并非整个转账批次单)
REFUND: 退票 - transfer_amount 必填【转账金额】 转账金额单位为“分”
- transfer_remark 必填【转账备注】 单条转账备注(微信用户会收到该备注),UTF8编码,最多允许32个字符
- fail_reason 选填【明细失败原因】 如果转账失败则有失败原因
可选取值: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
: 转账备注设置失败,请调整后重新再试TRANSFER_SCENE_INVALID
: 该转账场景暂不可用,请确认转账场景ID是否正确TRANSFER_SCENE_UNAVAILABLE
: 你尚未获取该转账场景,请确认转账场景ID是否正确RECEIVE_ACCOUNT_NOT_CONFIGURE
: 请前往商户平台-商家转账到零钱-前往功能-转账场景中添加BLOCK_B2C_USERLIMITAMOUNT_BSRULE_MONTH
: 超出用户单月转账收款20w限额,本月不支持继续向该用户付款BLOCK_B2C_USERLIMITAMOUNT_MONTH
: 用户账户存在风险收款受限,本月不支持继续向该用户付款MERCHANT_REJECT
: 商户员工(转账验密人)已驳回转账MERCHANT_NOT_CONFIRM
: 商户员工(转账验密人)超时未验密BANK_CARD_PARAM_ERROR
: 用户收款卡错误,请核实信息BANK_CARD_TYPE_NOT_SUPPORTED
: 用户收款卡类型非储值卡,不支持转账
- openid 必填【收款用户openid】 收款用户openid。如果转账特约商户授权类型是INFORMATION_AUTHORIZATION_TYPE,对应的是特约商户公众号下的openid;如果转账特约商户授权类型是FUND_AUTHORIZATION_TYPE,对应的是服务商商户公众号下的openid。
- username 选填【收款用户姓名】 收款方姓名。采用标准RSA算法,公钥由微信侧提供
商户转账时传入了收款用户姓名、查询时会返回收款用户姓名 - initiate_time 必填【转账发起时间】 转账发起的时间,按照使用rfc3339所定义的格式,格式为YYYY-MM-DDThh:mm:ss+TIMEZONE
- update_time 必填【明细更新时间】 明细最后一次状态变更的时间,按照使用rfc3339所定义的格式,格式为YYYY-MM-DDThh:mm:ss+TIMEZONE
- account_type 选填【收款账户类型】 WXPAY_ACCOUNT 表示微信零钱,BANK_ACCOUNT表示银行卡账户
可选取值:WECHATPAY_ACCOUNT
: 微信支付零钱账户BANK_ACCOUNT
: 银行卡账户
- bank_name 选填【银行名称】 转账到银行卡时输出该字段
- bank_card_number_tail 选填【银行卡尾号】 转账到银行卡时输出该字段
200OK
应答示例
200 OK
# 错误码
# 公共错误码
状态码 | 错误码 | 描述 | 解决方案 |
---|---|---|---|
400 | PARAM_ERROR | 参数错误 | 请根据错误提示正确传入参数 |
400 | INVALID_REQUEST | HTTP 请求不符合微信支付 APIv3 接口规则 | 请参阅 接口规则 |
401 | SIGN_ERROR | 验证不通过 | 请参阅 签名常见问题 |
500 | SYSTEM_ERROR | 系统异常,请稍后重试 | 请稍后重试 |
# 业务错误码
状态码 | 错误码 | 描述 | 解决方案 |
---|---|---|---|
500 | SYSTEM_ERROR | 系统错误 | 5开头的状态码都为系统问题,请使用相同参数稍后重新调用 |
404 | NOT_FOUND | 记录不存在 | 查询的转账明细单不存在 |
429 | FREQUENCY_LIMITED | 频率超限 | 请求量不要超过接口调用频率限制 |
文档是否有帮助