查询订单
更新时间:2025.02.20该接口提供所有微信支付订单的查询,商户可以通过查询订单接口主动查询订单状态,完成下一步的业务逻辑。
|
接口说明
适用对象: 直连模式 机构模式
请求URL: https://apihk.mch.weixin.qq.com/pay/orderquery
请求方式: POST
数据格式: XML
是否需要证书: 否
请求参数
参数名 | 变量 | 类型 | 必填 | 描述 |
---|---|---|---|---|
公众账号ID | appid | string(32) | 是 | 微信分配的公众账号ID |
子商户公众账号ID | sub_appid | string(32) | 否 | 微信分配的子商户公众账号ID |
商户号 | mchid | string(32) | 是 | 微信支付分配的商户号 |
子商户号 | sub_mchid | string(32) | 是 | 微信支付分配的子商户号 |
微信支付订单号 | transaction_id | string(32) | 二选一 | 微信的订单号,优先使用 |
商户订单号 | out_trade_no | string(32) | 商户系统内部的订单号,当没提供transaction_id时需要传这个。 | |
随机字符串 | nonce_str | string(32) | 是 | 随机字符串,不长于32位。推荐随机数生成算法 |
签名 | sign | string(64) | 是 | 签名,详见签名生成算法 |
签名类型 | sign_type | string(32) | 否 | 签名类型,目前支持HMAC-SHA256和MD5,默认为MD5 |
请求示例:
返回参数
正常返回
字段名 | 变量 | 类型 | 必填 | 描述 |
---|---|---|---|---|
返回状态码 | return_code | string(16) | 是 | SUCCESS/FAIL |
返回信息 | return_msg | string(128) | 是 | 返回信息,如非空,为错误原因,签名失败,参数格式校验错误 |
以下字段在return_code为SUCCESS的时候有返回
字段名 | 变量 | 类型 | 必填 | 描述 |
---|---|---|---|---|
公众账号ID | appid | string(32) | 是 | 微信分配的公众账号ID |
商户号 | mch_id | string(32) | 是 | 微信支付分配的商户号 |
子商户公众账号ID | sub_appid | string(32) | 是 | 微信分配的子商户公众账号ID |
子商户号 | sub_mch_id | string(32) | 是 | 微信支付分配的子商户号 |
随机字符串 | nonce_str | string(32) | 是 | 随机字符串,不长于32位。推荐随机数生成算法 |
签名 | sign | string(64) | 是 | 签名,详见签名生成算法 |
业务结果 | result_code | string(16) | 是 | SUCCESS/FAIL |
错误代码 | err_code | string(32) | 否 | 详细参见错误列表 |
错误代码描述 | err_code_des | string(128) | 否 | 结果信息描述 |
以下字段在return_code 、result_code、trade_state都为SUCCESS时有返回 ,如trade_state不为 SUCCESS,则只返回out_trade_no(必传)和attach(选传)。
字段名 | 变量 | 类型 | 必填 | 描述 |
---|---|---|---|---|
设备号 | device_info | string(32) | 否 | 微信支付分配的终端设备号 |
用户标识 | openid | string(128) | 是 | 用户在商户appid下的唯一标识 |
是否关注公众账号 | is_subscribe | string(1) | 是 | 用户是否关注公众账号,Y-关注,N-未关注(机构商户不返回) |
用户子标识 | sub_openid | string(128) | 否 | 用户在子商户appid下的唯一标识 |
是否关注子公众账号 | sub_is_subscribe | string(1) | 否 | 用户是否关注子公众账号,Y-关注,N-未关注(机构商户不返回) |
交易类型 | trade_type | string(16) | 是 | 调用接口提交的交易类型,取值如下:JSAPI,NATIVE,APP,MICROPAY,详细说明见参数规定 |
交易状态 | trade_state | string(32) | 是 | SUCCESS—支付成功 |
付款银行 | bank_type | string(32) | 是 | 银行类型,采用字符串类型的银行标识 |
标价金额 | total_fee | int | 是 | 标价金额,单位为该币种最小计算单位,只能为整数,详见标价金额 |
标价币种 | fee_type | string(8) | 是 | 符合ISO 4217标准的三位字母代码,详见标价币种 |
用户支付金额 | cash_fee | int | 是 | 订单现金支付金额,详见支付金额 |
现金支付货币类型 | cash_fee_type | string(16) | 否 | 货币类型,符合ISO 4217标准的三位字母代码,列表详见货币类型 |
微信支付订单号 | transaction_id | string(32) | 是 | 微信支付订单号 |
商户订单号 | out_trade_no | string(32) | 是 | 商户系统内部订单号,要求32个字符内,只能是数字、大小写字母_-|*@ ,且在同一个商户号下唯一。 |
附加数据 | attach | string(128) | 否 | 附加数据,原样返回 |
支付完成时间 | time_end | string(14) | 是 | 订单支付时间,格式为yyyyMMddHHmmss,如2009年12月25日9点10分10秒表示为20091225091010。其他详见时间规则 |
汇率 | rate | string(16) | 是 | 标价币种与支付币种的兑换比例乘以10的8次方即为此值,例如美元兑换人民币的比例为6.5,则rate=650000000 |
举例如下:
错误码
错误码 | 描述 | 解决方案 |
---|---|---|
ORDERNOTEXIST | 此交易订单号不存在 | 该API只能查提交支付交易返回成功的订单,请商户检查需要查询的订单号是否正确 |
SYSTEMERROR | 系统错误 | 系统异常,请再调用发起查询 |