查询订单

应用场景

该接口仅提供微信代扣订单的查询,商户可以通过该接口主动查询微信代扣订单状态,完成下一步的业务逻辑。

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

  1. ◆ 当商户后台、网络、服务器等出现异常,商户系统最终未接收到支付通知;
  2. ◆ 调用支付接口后,返回系统错误或未知交易状态情况;

接口链接

https://api.mch.weixin.qq.com/transit/queryorder

是否需要证书

不需要

请求参数

字段名 变量名 必填 类型 示例值 描述
请求appid appid String(32) wxcbda96de0b165486 appid是商户在微信申请公众号或移动应用成功后分配的帐号ID,登录平台为mp.weixin.qq.com或open.weixin.qq.com

商户号

mch_id

String(32)

10000098

商户号是商户在微信申请微信支付成功后分配的帐号ID,登录平台为pay.weixin.qq.com
微信订单号 transaction_id 二选一 String(32) 1009660380201506130728806387 微信的订单号,优先使用
商户订单号 out_trade_no String(32) 20150806125346 商户系统内部的订单号,当没提供transaction_id时需要传这个。
随机字符串 nonce_str String(32) C380BEC2BFD727A4B6845133519F3AD6 随机字符串,不长于32位。推荐随机数生成算法

签名类型

sign_type

String(32)

HMAC-SHA256

签名类型,默认为HMAC-SHA256

签名

sign

EE088059BBC9141264F8D14293AD6C4BB94CEA8C08AA98FBF93E262D445F8FF5

String(64)

签名,详见签名生成算法

举例如下:

<xml>
<appid>wx2421b1c4370ec43b</appid>
<mch_id>10000100</mch_id>
<nonce_str>ec2316275641faa3aacf3cc599e8730f</nonce_str>
<transaction_id>1008450740201411110005820873</transaction_id>
<sign_type>HMAC-SHA256</sign_type>
<sign>EE088059BBC9141264F8D14293AD6C4BB94CEA8C08AA98FBF93E262D445F8FF5</sign>
</xml>

返回结果

字段名 变量名 必填 类型 示例值 描述
返回状态码 return_code String(16) SUCCESS

SUCCESS/FAIL

此字段是通信标识,非交易标识,交易是否成功需要查看trade_state来判断

返回信息 return_msg String(128) 签名失败

返回信息,如非空,为错误原因

签名失败

参数格式校验错误

以下字段在return_code为SUCCESS的时候有返回

字段名 变量名 必填 类型 示例值 描述
请求appid appid String(32) wxcbda96de0b165486 appid是商户在微信申请公众号或移动应用成功后分配的帐号ID,登录平台为mp.weixin.qq.com或open.weixin.qq.com

商户号

mch_id

String(32)

10000098

商户号是商户在微信申请微信支付成功后分配的帐号ID,登录平台为pay.weixin.qq.com
随机字符串 nonce_str String(32) 5K8264ILTKCH16CQ2502SI8ZNMTM67VS 随机字符串,不长于32位。推荐随机数生成算法
签名 sign String(64) EE088059BBC9141264F8D14293AD6C4BB94CEA8C08AA98FBF93E262D445F8FF5 签名,详见签名生成算法
业务结果 result_code String(16) SUCCESS SUCCESS/FAIL
错误代码 err_code String(32) SYSTEMERROR 错误码
错误代码描述 err_code_des String(128) 系统错误 结果信息描述

以下字段在return_code 、result_code、trade_state都为SUCCESS时有返回 ,如trade_state不为 SUCCESS, 则只返回out_trade_no

字段名 变量名 必填 类型 示例值 描述

设备号

device_info

String(32)

013467007045764

微信支付分配的终端设备号,

用户标识

openid

String(128)

oUpF8uMuAJO_M2pxb1Q9zNjWeS6o

用户在商户appid下的唯一标识

是否关注公众账号

is_subscribe

String(1)

Y

用户是否关注公众账号,Y-关注,N-未关注,仅在公众账号类型支付有效

交易类型

trade_type

String(16)

PAP

交易类型PAP-微信委托代扣支付

交易状态

trade_state

String(32)

SUCCESS

SUCCESS—支付成功
ACCEPT—已接收,等待扣款
PAY_FAIL--支付失败(其他原因,如银行返回失败)
REFUND—转入退款

付款银行

bank_type

String(16)

CMC

银行类型,采用字符串类型的银行标识

总金额

total_fee

Int

100

订单总金额,单位为分

货币种类

fee_type

String(8)

CNY

货币类型,符合ISO 4217标准的三位字母代码,默认人民币:CNY

现金支付金额

cash_fee

Int

100

现金支付金额订单现金支付金额

现金支付货币类型

cash_fee_type

String(16)

CNY

货币类型,符合ISO 4217标准的三位字母代码,默认人民币:CNY

应结订单金额

settlement_total_fee

Int

100

当订单使用了免充值型优惠券后返回该参数,应结订单金额=订单金额-免充值优惠券金额。

代金券或立减优惠金额

coupon_fee

Int

10

代金券或立减优惠金额<=订单总金额,订单总金额-代金券或立减优惠金额=现金支付金额,详见支付金额

代金券或立减优惠使用数量

coupon_count

Int

1

代金券或立减优惠使用数量

代金券类型

coupon_type_$n

String

CASH

CASH--充值代金券
NO_CASH---非充值优惠券
开通免充值券功能,并且订单使用了优惠券后有返回(取值:CASH、NO_CASH)。$n为下标,从0开始编号,举例:coupon_type_$0

代金券或立减优惠ID

coupon_id_$n

String(20)

10000

代金券或立减优惠ID,$n为下标,从0开始编号

单个代金券或立减优惠支付金额

coupon_fee_$n

Int

100

单个代金券或立减优惠支付金额,$n为下标,从0开始编号

微信支付订单号

transaction_id

String(32)

1009660380201506130728806387

微信支付订单号

商户订单号

out_trade_no

String(32)

20150806125346

商户系统的订单号,与请求一致。

附加数据

attach

String(128)

深圳分店

附加数据,原样返回

支付完成时间

time_end

String(14)

20141030133525

订单支付时间,格式为yyyyMMddHHmmss,如2009年12月25日9点10分10秒表示为20091225091010。

交易状态描述

trade_state_desc

 否

String(256)

支付失败,请重新下单支付

对当前查询订单状态的描述和下一步操作的指引

举例如下:

<xml>
<return_code><![CDATA[SUCCESS]]></return_code>
<return_msg><![CDATA[OK]]></return_msg>
<appid><![CDATA[wx2421b1c4370ec43b]]></appid>
<mch_id><![CDATA[10000100]]></mch_id>
<device_info><![CDATA[1000]]></device_info>
<nonce_str><![CDATA[TN55wO9Pba5yENl8]]></nonce_str>
<sign><![CDATA[EE088059BBC9141264F8D14293AD6C4BB94CEA8C08AA98FBF93E262D445F8FF5]]></sign>
<result_code><![CDATA[SUCCESS]]></result_code>
<openid><![CDATA[oUpF8uN95-Ptaags6E_roPHg7AG0]]></openid>
<is_subscribe><![CDATA[Y]]></is_subscribe>
<trade_type><![CDATA[PAP]]></trade_type>
<bank_type><![CDATA[CCB_DEBIT]]></bank_type>
<total_fee>1</total_fee>
<fee_type><![CDATA[CNY]]></fee_type>
<transaction_id><![CDATA[1008450740201411110005820873]]></transaction_id>
<out_trade_no><![CDATA[1415757673]]></out_trade_no>
<attach><![CDATA[订单额外描述]]></attach>
<time_end><![CDATA[20141111170043]]></time_end>
<trade_state><![CDATA[SUCCESS]]></trade_state>
</xml>

错误码

名称 描述 原因 解决方案

SYSTEMERROR

接口返回错误

系统超时

请使用相同参数再次调用API。

ORDER_NOT_EXIST

此交易订单号不存在

查询系统中不存在此交易订单号

该API只能查提交支付交易返回成功的订单,请商户检查需要查询的订单号是否正确

CONTRACT_NOT_EXIST

签约协议不存在

签约协议号不存在

请检查签约协议号是否正确

PARAM_ERROR

参数错误

请求参数未按指引进行填写

请根据接口返回的详细信息检查您的程序

INVALID_REQUEST

非法请求

非法请求

请检查请求参数、商户权限等是否正确

PAYAUTH_ERROR

权限校验错误

商户号产品权限校验错误

请检查商户号代扣产品权限