Latest update time:2020.04.30 Release notes
This API can be used to query all WeChat Pay orders. Merchants can use the Query Order API to query the order status and then complete subsequent business logic.
Scenarios where the Query API should be called:
1. The merchant system does not receive any payment notification due to an error of the merchant backend, network, server, etc.
2. A system error is returned or the transaction status is unknown after the payment API is called.
3. The USERPAYING status is returned after the Quick Pay API is called.
4. The payment status needs to be confirmed before the order closure or cancellation API is called.
Request URL: https://api.mch.weixin.qq.com/hk/v3/transactions/id/{id}?mchid=parameter value
OR
https://api.mch.weixin.qq.com/hk/v3/transactions/out-trade-no/{out_trade _no}?mchid=parameter value
Note: The {id} in the URL refers to the actual WeChat order No., while the {out_trade_no} refers to the actual merchant order No., either of which is called.
Request method: GET
Applicable object:Common modeInstitutional mode
API Rules: https://wechatpay-api.gitbook.io/wechatpay-api-v3
path parameter is a path parameter.
query parameter needs to be passed in the request URL.
body parameter needs to be passed in the request JSON.
Name | Variable Name | Type | Required | Description |
---|---|---|---|---|
Merchant ID | mchid | string(32) | Yes | query Merchant ID assigned by WeChat Pay Note: Only forCommon mode Example:1900000109 |
Sub-merchant ID | sub_mchid | string(32) | Yes | query Sub-merchant ID assigned by WeChat Pay Note: Only forInstitutional mode Example:1900000109 |
Institution's Merchant ID | sp_mchid | string(32) | Yes | query Institution's Merchant ID assigned by WeChat Pay Note: Only forInstitutional mode Example:1900000100 |
Merchant order No. | out_trade_no | string(32) | Choose one | pathOrder No. corresponding to the original payment transaction Example:1217752501201407033233368018 |
WeChat Pay order No. | id | string(32) | pathWeChat order No. corresponding to the original payment transaction Example:4200000000002106108200370006 |
Common mode:
https://api.mch.weixin.qq.com/hk/v3/transactions/id/1217752501201407033233368018?mchid=1900000109
Institutional mode:
https://api.mch.weixin.qq.com/hk/v3/transactions/out-trade-no/1217752501201407033233368018?sub_mchid =1900000109&sp_mchid =1900000100
Name | Variable Name | Type | Required | Description |
---|---|---|---|---|
Returned status code | code | string(32) | Yes | Error code. See the error code list for the enumerated values. Example:INVALID_REQUEST |
Returned message | message | string(256) | Yes | Returned message. It indicates the reason for the error if not empty. Example:Parameter format verification error |
+ Detailed error description | detail | object | No | It is returned when code is PARAM_ERROR. Details will be described below. |
Name | Variable Name | Type | Required | Description |
---|---|---|---|---|
Merchant ID | mchid | string(32) | Yes | Merchant ID assigned by WeChat Pay Note: Only forCommon mode Example:1900000109 |
APPID | appid | string(32) | Yes | APPID corresponding to the mobile app applied for by the merchant on the WeChat Open Platform Note: Only forCommon mode Example:wx8888888888888888 |
Institution's Merchant ID | sp_mchid | string(32) | Yes | Institution's Merchant ID assigned by WeChat Pay Note: Only forInstitutional mode Example:1900000100 |
Sub-merchant ID | sub_mchid | string(32) | Yes | Sub-merchant ID assigned by WeChat Pay Note: Only forInstitutional mode Example:1900000109 |
Organization APPID | sp_appid | string(32) | Yes | APPID corresponding to the Service Account applied for by the institution on the WeChat Official Accounts Platform Note: Only forInstitutional mode Example:wx8888888888888888 |
Sub-merchant APPID | sub_appid | string(32) | No | APPID corresponding to the mobile app applied for by the sub-merchant on the WeChat Open Platform When Quick pay or QR code payment or Official account payment, please use appid of the merchant’s official account. When Mini program payment, please use the appid of the merchant’s mini program. When In-APP payment, please use the appid of the merchant’s APP. Note: Only forInstitutional mode Example:wx8888888888888888 |
Merchant order No. | out_trade_no | string(32) | Yes | Returned merchant's order No. Example:1217752501201407033233368018 |
WeChat Pay order No. | id | string(32) | Yes | WeChat Pay order No. Example:4200752501201407033233368018 |
Merchant data | attach | string(127) | No | Additional data, which will be returned unchanged in the query API and payment notifications. This field is mainly used for the custom data in the orders of the merchant. Example:Custom data |
Transaction type | trade_type | string(16) | Yes | In-NATIVE Pay Example:NATIVE |
Paying bank | bank_type | string(32) | Yes | Bank type, which is the bank ID in string format. See Bank Type for the list of values. Example:CMC |
Payment completion time | success_time | string(64) | Yes | The time when the order is paid successfully, in rfc3339 format.
For example, 2018-06-08T10:34:56+08:00 represents BJT 10:34:56
June 8, 2018. Example:2018-06-08T10:34:56+08:00 |
Transaction status | trade_state | string(32) | Yes | SUCCESS : Payment successful REFUND : Transferred to refund NOTPAY : Unpaid CLOSED : Closed REVOKED : Revoked (Quick Pay) USERPAYING : Payment in progress PAYERROR : Payment failed(other reasons, for example, failed to be returned by the bank) Example:SUCCESS |
Transaction status description | trade_state_desc | string(256) | Yes | Descriptions on the current order status and instructions for the next operation. Example:Payment failed. Place another order and pay it again. |
+Payer | payer | object | Yes | Payer information. For more information, see the description below. |
+ Order amount | amount | object | Yes | Information on the order amount. For more information, see the description below. |
+ Discount feature | promotion_detail | array | No | Discount feature info. For more information, see the description below. |
{
"id": "4200752501201407033233368018",
"appid": "wx2421b1c4370ec43b",
"mchid": "20000100",
"out_trade_no": "20150806125346",
"payer": {
"openid": "oUpF8uN95-Ptaags6E_roPHg7AG0"
},
"amount": {
"total": 528800,
"currency": "HKD",
"payer_total": 518799,
"payer_currency": "CNY",
"exchange_rate": {
"type": "SETTLEMENT_RATE",
"rate": 8000000
}
},
"trade_type": "NATIVE",
"trade_state": "SUCCESS",
"trade_state_desc": "Payment successful",
"bank_type": "CCB_DEBIT",
"attach": "Payment test",
"success_time": "2018-06-08T10:34:56+08:00",
"promotion_detail": [{
"promotion_id": "109519",
"name": "Single-item discount-6",
"scope": "SINGLE",
"type": "DISCOUNT",
"amount": 1,
"currency": "HKD",
"activity_id": "931386",
"wechatpay_contribute_amount": 1,
"merchant_contribute_amount": 0,
"other_contribute_amount": 0,
"goods_detail": [{
"goods_id": "iphone6s_16G",
"goods_remark": "Product remarks",
"quantity": 1,
"price": 528800
}]
}]
}
Name | Description | Solution |
---|---|---|
ORDERNOTEXIST | This transaction order No. does not exist. | The API can only be used for checking orders where transactions return successfully after payment submission. Check whether the order no. to be viewed is correct. |
SYSTEMERROR | System error | System error. Please call the API again to initiate the query. |
Customer Service Tel
Business Development
9:00-18:00
Monday-Friday GMT+8
Technical Support
WeChat Pay Global
ICP证