商户可以通过查询订单接口主动查询订单状态,完成下一步的业务逻辑。
查询订单可通过微信支付订单号 (opens new window)和商户订单号 (opens new window)两种方式查询。
需要调用查询接口的情况:
当商户后台、网络、服务器等出现异常,商户系统最终未接收到支付通知。 调用支付接口后,返回系统错误或未知交易状态情况。 调用付款码支付API,返回USERPAYING的状态。 调用关单或撤销接口API之前,需确认支付状态。 # 接口说明 支持商户: 【普通商户】 请求方式: 【GET】/v3/pay/transactions/id/{transaction_id} 请求域名: 【主域名】 https://api.mch.weixin.qq.com 使用该域名将访问就近的接入点 【备域名】 https://api2.mch.weixin.qq.com 使用该域名将访问异地的接入点 ,指引点击查看 # 请求参数 Header HTTP头参数 Authorization 必填 string 请参考 签名认证 生成认证信息 Accept 必填 string 请设置为 application/jsonPath 路径参数 transaction_id 必填 string(32) 【微信支付订单号】 微信支付系统生成的订单号Query 查询参数 mchid 必填 string(32) 【直连商户号】 直连商户的商户号,由微信支付生成并下发。请求示例
GET# 应答参数 200OKappid 选填 string(32) 【公众号ID】 公众号ID mchid 必填 string(32) 【直连商户号】 直连商户号 out_trade_no 必填 string(32) 【商户订单号】 商户系统内部订单号,只能是数字、大小写字母_-*且在同一个商户号下唯一,详见【商户订单号】。 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) 【支付完成时间】 支付完成时间 payer 选填 CommRespPayerInfo 【支付者】 支付者属性 amount 选填 CommRespAmountInfo 【订单金额】 订单金额属性 scene_info 选填 CommRespSceneInfo 【场景信息】 场景信息属性 promotion_detail 选填 array[PromotionDetail] 【优惠功能】 优惠功能属性应答示例
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 账号异常 用户账号异常,无需