商家明细单号查询明细单

更新时间: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
使用该域名将访问异地的接入点 ,指引点击查看

# 请求参数

    Header HTTP头参数
  • Authorization 必填 string
    请参考 签名认证 生成认证信息
  • Accept 必填 string
    请设置为 application/json
    Path 路径参数
  • out_batch_no 必填 string(32)
    【商家批次单号】 商户系统内部的商家批次单号,在商户系统内部唯一
  • out_detail_no 必填 string(32)
    【商家明细单号】 商户系统内部区分转账批次单下不同转账明细单的唯一标识

请求示例

GET

# 应答参数

    200OK
  • 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: 初始态。 系统转账校验中
    WAIT_PAY: 待确认。待出资商户员工(转账验密人)确认,符合免确认条件时,系统会自动扭转为转账中
    PROCESSING:转账中。正在处理中,转账结果尚未明确
    SUCCESS:转账成功
    FAIL:转账失败。需要确认失败原因后,再决定是否重新发起对该笔明细单的转账(并非整个转账批次单)
    REFUND: 退票
  • transfer_amount 必填 integer
    【转账金额】 转账金额单位为“分”
  • 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: 该用户没有开通务工卡
    • 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 必填 string(64)
    【收款用户openid】 收款用户openid。如果转账特约商户授权类型是INFORMATION_AUTHORIZATION_TYPE,对应的是特约商户公众号下的openid;如果转账特约商户授权类型是FUND_AUTHORIZATION_TYPE,对应的是服务商商户公众号下的openid。
  • username 选填 string(1024)
    【收款用户姓名】 收款方姓名。采用标准RSA算法,公钥由微信侧提供
    商户转账时传入了收款用户姓名、查询时会返回收款用户姓名
  • initiate_time 必填 string(32)
    【转账发起时间】 转账发起的时间,按照使用rfc3339所定义的格式,格式为YYYY-MM-DDThh:mm:ss+TIMEZONE
  • update_time 必填 string(32)
    【明细更新时间】 明细最后一次状态变更的时间,按照使用rfc3339所定义的格式,格式为YYYY-MM-DDThh:mm:ss+TIMEZONE
  • account_type 选填 string
    【收款账户类型】 WXPAY_ACCOUNT 表示微信零钱,BANK_ACCOUNT表示银行卡账户
    可选取值:
    • WECHATPAY_ACCOUNT: 微信支付零钱账户
    • BANK_ACCOUNT: 银行卡账户
  • bank_name 选填 string
    【银行名称】 转账到银行卡时输出该字段
  • bank_card_number_tail 选填 string
    【银行卡尾号】 转账到银行卡时输出该字段

应答示例

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 频率超限 请求量不要超过接口调用频率限制
反馈
咨询
目录