微信支付商户订单号查询订单

更新时间:2023.08.23

商户可以通过查询订单接口主动查询订单状态,完成下一步的业务逻辑。

查询订单可通过微信支付订单号 (opens new window)商户订单号 (opens new window)两种方式查询。

需要调用查询接口的情况:

  • 当商户后台、网络、服务器等出现异常,商户系统最终未接收到支付通知。
  • 调用支付接口后,返回系统错误或未知交易状态情况。
  • 调用付款码支付API,返回USERPAYING的状态。
  • 调用关单或撤销接口API之前,需确认支付状态。

# 接口说明

支持商户:
【普通服务商】【平台商户】
请求方式:
【GET】/v3/pay/partner/transactions/out-trade-no/{out_trade_no}
请求域名:
【主域名】
https://api.mch.weixin.qq.com
使用该域名将访问就近的接入点
【备域名】
https://api2.mch.weixin.qq.com
使用该域名将访问异地的接入点 ,指引点击查看

# 请求参数

    Header HTTP头参数
  • Authorization 必填 string
    请参考 签名认证 生成认证信息
  • Accept 必填 string
    请设置为 application/json
    Path 路径参数
  • out_trade_no 必填 string(32)
    【商户订单号】 商户系统内部订单号,只能是数字、大小写字母_-*且在同一个商户号下唯一。
    特殊规则:最小字符长度为6
    Query 查询参数
  • sp_mchid 必填 string(32)
    【服务商户号】 服务商户号
  • sub_mchid 必填 string(32)
    【子商户号】 子商户号

请求示例

GET

# 应答参数

    200OK
  • sp_appid 选填 string(32)
    【服务商公众号ID】 服务商申请的公众号或移动应用AppID
  • sp_mchid 必填 string(32)
    【服务商户号】 服务商户号
  • sub_appid 选填 string(32)
    【子商户公众号ID】 子商户公众号ID
  • sub_mchid 必填 string(32)
    【子商户号】 子商户号
  • out_trade_no 必填 string(32)
    【商户订单号】 商户系统内部订单号,只能是数字、大小写字母_-*且在同一个商户号下唯一。
    特殊规则:最小字符长度为6
  • transaction_id 选填 string(32)
    【微信支付订单号】 微信支付订单号
  • trade_type 选填 string(16)
    【交易类型】 交易类型,枚举值:
    * JSAPI:公众号支付
    * NATIVE:扫码支付
    * APP:APP支付
    * MICROPAY:付款码支付
    * MWEB:H5支付
    * FACEPAY:刷脸支付
  • trade_state 必填 string(32)
    【交易状态】 交易状态,枚举值:
    * SUCCESS:支付成功
    * REFUND:转入退款
    * NOTPAY:未支付
    * CLOSED:已关闭
    * REVOKED:已撤销(仅付款码支付会返回)
    * USERPAYING:用户支付中(仅付款码支付会返回)
    * PAYERROR:支付失败(仅付款码支付会返回)
  • trade_state_desc 必填 string(256)
    【交易状态描述】 交易状态描述
  • bank_type 选填 string(32)
    【银行类型】 银行类型,采用字符串类型的银行标识。 银行标识请参考《银行类型对照表
  • attach 选填 string(128)
    【附加数据】 附加数据
  • success_time 选填 string(64)
    【支付完成时间】 支付完成时间,遵循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秒。
  • payer 选填 object
    【支付者】 支付者
    • 属性
  • amount 选填 object
    【订单金额】 订单金额信息,当支付成功时返回该字段。
    • 属性
  • scene_info 选填 object
    【场景信息】 场景信息
    • 属性
  • promotion_detail 选填 array[object]
    【优惠功能】 优惠功能
    • 属性

应答示例

200 OK

# 错误码

# 公共错误码

状态码 错误码 描述 解决方案
400 PARAM_ERROR 参数错误 请根据错误提示正确传入参数
400 INVALID_REQUEST HTTP 请求不符合微信支付 APIv3 接口规则 请参阅 接口规则
401 SIGN_ERROR 验证不通过 请参阅 签名常见问题
500 SYSTEM_ERROR 系统异常,请稍后重试 请稍后重试

# 业务错误码

状态码 错误码 描述 解决方案
400 APPID_MCHID_NOT_MATCH AppID和mch_id不匹配 请确认AppID和mch_id是否匹配
400 INVALID_REQUEST 无效请求 请根据接口返回的详细信息检查
400 MCH_NOT_EXISTS 商户号不存在 请检查商户号是否正确
400 ORDER_CLOSED 订单已关闭 当前订单已关闭,请重新下单
401 SIGN_ERROR 签名错误 请检查签名参数和方法是否都符合签名算法要求
403 ACCOUNT_ERROR 账号异常 用户账号异常,无需更多操作
403 NO_AUTH 商户无权限 请商户前往申请此接口相关权限
403 NOT_ENOUGH 余额不足 用户账号余额不足,请用户充值或更换支付卡后再支付
403 OUT_TRADE_NO_USED 商户订单号重复 请核实商户订单号是否重复提交
403 RULE_LIMIT 业务规则限制 因业务规则限制请求频率,请查看接口返回的详细信息
403 TRADE_ERROR 交易错误 因业务原因交易失败,请查看接口返回的详细信息
404 ORDER_NOT_EXIST 订单不存在 请检查订单是否发起过交易
404 ORDER_NOT_EXIST 订单不存在 请检查订单是否发起过交易
429 FREQUENCY_LIMITED 频率超限 请降低请求接口频率
500 BANK_ERROR 银行系统异常 银行系统异常,请用相同参数重新调用
500 INVALID_TRANSACTIONID 订单号非法 请检查微信支付订单号是否正确
500 OPENID_MISMATCH OpenID和AppID不匹配 请确认OpenID和AppID是否匹配
500 SYSTEM_ERROR 系统错误 系统异常,请用相同参数重新调用
反馈
咨询
目录