查询订单
更新时间:2026.05.21
1、场景说明
以下情况需要调用查询订单接口:
1、商户后台、收银台、POS机等系统调用支付接口后,因系统原因没有收到支付成功通知时,商户可以通过该接口查询订单详细状态。
2、付款码支付接口返回用户支付中(USERPAYING),需要查询订单最终支付结果。
3、在支付订单出现异常时,需要根据订单状态判断是否需要撤销订单或重新发起支付。
4、商户需要根据订单状态进行后续的退款、发货等业务操作。
2、接口说明
2.1 请求参数
字段名 | 变量名 | 必填 | 类型 | 示例值 | 描述 |
|---|---|---|---|---|---|
公众账号ID | appid | 是 | String(32) | wx8888888888888888 | 微信分配的公众账号ID |
商户号 | mch_id | 是 | String(32) | 1900000109 | 微信支付分配的商户号 |
子商户公众账号ID | sub_appid | 否 | String(32) | wx8888888888888888 | 微信分配的子商户公众账号ID |
子商户号 | sub_mch_id | 否 | String(32) | 1900000109 | 微信支付分配的子商户号 |
渠道商商户号 | channel_id | 是 | String(32) | 19000001 | 微信支付分配给收单服务商的ID |
随机字符串 | nonce_str | 是 | String(32) | 5K8264ILTKCH16CQ2502SI8ZNMTM67VS | 随机字符串,不长于32位。推荐随机数生成算法 |
签名 | sign | 是 | String(344) | C380BEC2BFD727A4B6845133519F3AD6 | 签名 |
签名算法 | sign_type | 是 | String(10) | RSA2 | 生成签名字符串所使用的签名算法类型,目前支持SM2、RSA2,推荐使用SM2 |
签名证书 | cert_id | 是 | String(128) | - | 签名证书序列号 |
商户订单号 | out_trade_no | 二选一 | String(32) | 1217752501201407033233368018 | 商户系统内部的订单号,商户系统内部订单号,要求32个字符内,只能是数字、大小写字母_-|*且在同一个商户号下唯一。 |
银联订单号 | transaction_id | 二选一 | String(32) | 1217752501201407033233368018 | 银联订单号 |
注意:
商户订单号(out_trade_no)和银联订单号(transaction_id)必须提供其中一个,建议优先使用商户订单号。
如果同时提供两个参数,优先使用商户订单号查询。
2.2 响应参数
响应参数与付款码支付接口返回的交易状态信息一致,包含以下关键字段:
交易状态(trade_state):SUCCESS—支付成功;REFUND—转入退款;NOTPAY—未支付;CLOSED—已关闭;REVOKED—已撤销;USERPAYING—用户支付中;PAYERROR—支付失败
支付完成时间(time_end):订单支付成功的具体时间
订单金额(total_fee):订单总金额,单位为分
现金支付金额(cash_fee):实际现金支付的金额
优惠信息(promotion_detail):订单使用的优惠信息详情
2.3 错误码
名称 | 描述 | 原因 | 解决方案 |
|---|---|---|---|
SYSTEMERROR | 接口返回错误 | 系统超时 | 请立即重试 |
ORDERNOTEXIST | 订单不存在 | 商户订单号不存在 | 请检查商户订单号是否正确 |
PARAM_ERROR | 参数错误 | 请求参数未按指引进 | 请根据接口返回的详细信息检查您的程序 |
SIGNERROR | 签名错误 | 参数签名结果不正确 | 请检查签名参数和方法是否都符合签名算法要求 |

