订单查询
应用场景:
该接口提供所有手Q钱包订单的查询,商户可以通过该接口主动查询订单状态,完成下一步的业务逻辑。 需要调用查询接口的情况:
◆ 当商户后台、网络、服务器等出现异常,商户系统最终未接收到支付通知;
◆ 调用支付接口后,返回系统错误或未知交易状态情况;
◆ 调用 qpay_close_order.cgi 关闭订单接口之前,需确认支付状态;
接口地址:
https://qpay.qq.com/cgi-bin/pay/qpay_order_query.cgi
是否需要证书:
否
接口规则
· 为保证交易安全性,采用HTTPS传输
· 采用POST方法提交
· 统一采用UTF-8字符编码
更多详情见接口规则
请求参数:
变量名 | 参数含义 | 字段类型 | 必填 | 描述 | 示例 |
appid | 应用ID | String(32) | 否 | 腾讯开放平台或QQ互联平台审核通过的应用APPID | 1007033799 |
sub_appid | 子商户应用ID | String(32) | 否 | 腾讯开放平台或QQ互联平台审核通过的应用APPID | 1007033790 |
mch_id | 商户号 | String(32) | 是 | QQ钱包分配的商户号 | 1900000109 |
sub_mch_id | 子商户号 | String(32) | 是 | 子商户号或银行识别码 | 1900000109或9000000101 |
nonce_str | 随机字符串 | String(32) | 是 | 随机字符串,不长于32位 | 3e5a036cb4bc3a677a38ad9d69eb3feb |
sign | 签名 | String(128) | 是 | 商户签名,详见商户签名算法规则 | 5K8264ILTKCH16CQ2502SI8ZNMTM67VS |
transaction_id | QQ钱包订单号 | String(32) | 二选一 | QQ钱包订单号,优先使用。请求30天或更久之前支付的订单时,此参数不能为空。 | 1353933301461607211903715555 |
out_trade_no | 商户订单号 | String(32) | 二选一 | 商户系统内部的订单号,32个字符内、可包含字母,说明见商户订单号,当没传入transaction_id时必须传该参数 | 20150806125346 |
示例如下:
<xml>
<appid>1104606907</appid>
<mch_id>1900000109</mch_id>
<nonce_str>f61bf55a116ef0c822122956de9b6e93</nonce_str>
<out_trade_no>1242016071230000008947</out_trade_no>
<sign>276911cbd39896dc436eb104c10404d4</sign>
<ver>1.0</ver>
</xml>
返回结果:
变量名 | 字段名 | 类型 | 必填 | 描述 | 示例 |
return_code | 返回状态码 | String(16) | 是 | SUCCESS/FAIL 此字段是通信标识,非交易标识,交易是否成功需要查看trade_state来判断 | SUCCESS |
return_msg | 返回信息 | String(128) | 否 | 返回信息,如非空,为错误原因 | 签名失败 |
retcode | 手Q CGI原始错误码 | String(16) | 是 | 原始错误码 | 10025 |
retmsg | 手Q CGI原始错误信息 | String(128) | 否 | 原始错误信息 | 系统繁忙 |
下列字段,在return_code为成功时有返回:
变量名 | 字段名 | 类型 | 必填 | 描述 | 示例 |
appid | 手Q商户公众号ID | String(32) | 否 | 腾讯开放平台或QQ互联平台审核通过的应用APPID | 1007033799 |
sub_appid | 子商户应用ID | String(32) | 否 | 腾讯开放平台或QQ互联平台审核通过的应用APPID | 1007033790 |
mch_id | 商户号 | String(32) | 是 | QQ钱包分配的商户号 | 1900000109 |
sub_mch_id | 子商户号 | String(32) | 是 | 子商户号或商户识别码 | 1900000109或9000000101 |
sign | 商户签名算法规则 | String(128) | 是 | 商户签名,详见商户签名算法规则 | 5K8264ILTKCH16CQ2502SI8ZNMTM67VS |
result_code | 业务结果 | String(32) | 是 | SUCCESS/FAIL | SUCCESS |
err_code | 错误代码 | String(32) | 否 | 详情见错误代码 | SYSTEMERROR |
err_code_des | 错误代码描述 | String(128) | 否 | 错误返回的信息描述 | 系统繁忙 |
nonce_str | 随机字符串 | String(32) | 是 | 随机字符串,不长于32位 | 3e5a036cb4bc3a677a38ad9d69eb3feb |
下列字段,在result_code为成功时有返回:
变量名 | 字段名 | 类型 | 必填 | 描述 | 示例 |
device_info | 设备号 | String(32) | 否 | 调用接口提交的终端设备号 | 013467007045764 |
trade_type | 支付场景 | String(16) | 是 | MICROPAY、APP、JSAPI、NATIVE | MICROPAY |
trade_state | 交易状态 | String(32) | 是 | SUCCESS 支付成功 REFUND 转入退款 REVOKED订单已撤销 CLOSED 订单已关闭 USERPAYING 用户支付中 | SUCCESS |
bank_type | 付款银行 | String(16) | 是 | 银行类型,采用字符串类型的银行标识 | CCB_DEBIT |
fee_type | 货币类型 | String(16) | 是 | 默认为人民币:CNY | CNY |
total_fee | 订单金额 | Int | 是 | 商户订单总金额,单位为分,只能为整数,详见订单金额 | 888 |
cash_fee | 用户支付金额 | Int | 是 | 用户本次交易中,实际支付的金额 | 888 |
coupon_fee | QQ钱包优惠金额 | Int | 否 | QQ钱包活动提供的优惠金额 | 666 |
transaction_id | QQ钱包订单号 | String(32) | 是 | QQ钱包订单号 | 128355470147160281308949397 |
out_trade_no | 商户订单号 | String(32) | 是 | 商户系统内部的订单号,32个字符内、可包含字母。其它说明见商户订单号 | 1283554701201610284030938474 |
attach | 附加数据 | String(128) | 否 | 附加数据,在查询API和支付通知中原样返回,该字段主要用于商户携带订单的自定义数据 | 深圳分店 |
time_end | 支付完成时间 | String(14) | 是 | 订单支付时间,格式为yyyyMMddHHmmss,如2009年12月25日9点10分10秒表示为20091225091010 | 20141030133525 |
trade_state_desc | 交易状态描述 | String(256) | 是 | 对当前查询订单状态的描述和下一步操作的指引 | 支付失败,请重新下单支付 |
openid | 用户标识 | String(128) | 否 | 用户在商户appid下的唯一标识 | oUpF8uMuAJO_M2pxb1Q9zNjWeS6o |
sub_openid | 子商户用户标识 | String(128) | 否 | 用户在子商户appid下的唯一标识 | oUpF8uMuAJO_M2pxb1Q9zNjWeS6o |
示例如下:
<xml>
<retcode><![CDATA[0]]></retcode>
<retmsg><![CDATA[ok]]></retmsg>
<appid><![CDATA[1104606907]]></appid>
<bank_type><![CDATA[BALANCE]]></bank_type>
<cash_fee><![CDATA[1]]></cash_fee>
<fee_type><![CDATA[CNY]]></fee_type>
<mch_id><![CDATA[1900000109]]></mch_id>
<nonce_str><![CDATA[235172f93045bc978cfef418e151cc0c]]></nonce_str>
<openid><![CDATA[E18D7FA363BD1F0DD1A835A7304F2687]]></openid>
<out_trade_no><![CDATA[1242016071230000008947]]></out_trade_no>
<result_code><![CDATA[SUCCESS]]></result_code>
<return_code><![CDATA[SUCCESS]]></return_code>
<return_msg><![CDATA[SUCCESS]]></return_msg>
<sign><![CDATA[505c28fd7e91c4ac8ebc3ec379750590]]></sign>
<time_end><![CDATA[20160712104614]]></time_end>
<total_fee><![CDATA[1]]></total_fee>
<trade_state><![CDATA[SUCCESS]]></trade_state>
<trade_state_desc><![CDATA[交易成功]]></trade_state_desc>
<trade_type><![CDATA[APP]]></trade_type>
<transaction_id><![CDATA[1900000109461607121568583454]]></transaction_id>
</xml>
错误码:
错误码 | 描述 | 原因 | 解决办法 |
ORDERNOTEXIST | 此交易订单号不存在 | 查询系统中不存在此交易订单号 | 请商户检查需要查询的订单号是否正确 , 根据实际的情况判断,是否要关闭订单,禁止用户进行支付。 |
SYSTEMERROR | 系统错误 | 系统错误 | 系统异常,请参数不变,重新调用该API |