Transaction Inquiry
- Endpoint:
POST /aggregate-pay/api/gateway/orderQuery - Tags: Collection Service
Description
For requests that do not return transaction results synchronously, merchants can initiate queries to retrieve transaction results.
Parameters
| Field | In | Type | Required | Constraints | Description |
|---|---|---|---|---|---|
Content-Type | header | string | Yes | ||
sign | header | string | Yes | 签名信息请参考技术文档 |
Parameter Examples
Content-Type:"application/json"sign:"FPFVT3o227JrFRbqu19boZCpVVTF9KznxyRawUmxpfXilHV/0yK46haPhAjNu1hPUMy7Vw/ILXhfzffNm4Fj0apWknlTY9OJxnSoQxS9BTFtc61tn5yV1q69x/kkBl82/qwg+XTJ4fOzy7Mar3VaC1E2PlDA6RkkKBUyNE6RYgsdB+Su7an4+4HVTNAnoe74WyvBgxTLMNg28igBTdqxaO3w/UBY6ObVp7vkqkQGdL1Y+HgmMYaAVwrM3+ALWGId0sJ+YqTY4WJ+0xCRGhaSnybiIjZsQEYyID68WNUfuavDLDsEhaMm/HfQvf5p0R1Ltovp3wwJnEbQcjY458iX5A=="
Request Body
Content-Type: application/json
| Field | Type | Required | Constraints | Description | Enum |
|---|---|---|---|---|---|
version | string | Yes | API version. Current value: 1.5 | ||
keyVersion | string | Yes | Signature Algorithm Version, Current value: 1 | ||
requestTime | string | Yes | Request time, compliant with rfc3339 specification, format: yyyy-MM-dd'T'HH:mm:ss.SSSXXX The time must be within two minutes of the current time | ||
appId | string | Yes | Merchant AppId,The unique identifier assigned to the merchant app by PayerMax | ||
merchantNo | string | No | maxLength: 32 | Merchant Id, the unique identifier generated when the merchant signs the contract with PayerMax | |
data | object | Yes | Request data body | ||
data.outTradeNo | string | Yes | maxLength: 64 | Merchant order id |
Example
json
{
"version": "1.5",
"keyVersion": "1",
"requestTime": "2022-01-17T07:51:15.597+00:00",
"appId": "a0dddd1f622243cb9aa1b676e808b5f8",
"merchantNo": "02021382719993",
"data": {
"outTradeNo": "P1642410680681"
}
}Responses
200
| Field | Type | Required | Constraints | Description | Enum |
|---|---|---|---|---|---|
code | string | Yes | Return code, ‘APPLY_SUCCESS’ means success.It only represents the success of the interface request, not the order status. | ||
msg | string | Yes | Return message, ‘Success.’.It only represents the success of the interface request, not the order status. | ||
data | object | No | Return data body | ||
data.reference | string | No | maxLength: 512 | Additional data, the value sent by the merchant | |
data.outTradeNo | string | No | maxLength: 64 | Merchant order id. | |
data.tradeToken | string | No | maxLength: 64 | PayerMax order id | |
data.totalAmount | number | Yes | Order amount, the unit of amount is yuan。 | ||
data.currency | string | Yes | maxLength: 3 | Order Currency | |
data.country | string | Yes | maxLength: 2 | The country code that the user pays for, in capital letters | |
data.channelNo | string | No | maxLength: 64 | Channel Order No. | |
data.thirdChannelNo | string | No | maxLength: 64 | third channel No | |
data.paymentCode | string | No | maxLength: 64 | VA No | |
data.status | string | No | maxLength: 32 | trading status【status】 | |
data.resultMsg | string | Yes | Transaction status result description, only has a value when it fails | ||
data.paymentDetails | array[object] | No | Payment information, whcih is only returned when a transaction is successful. If the transaction fails, an empty array will be returned. | ||
data.paymentDetails[].paymentMethodType | string | No | maxLength: 64 | Payment method type, the payment method selected by the user to pay. See 【Cashier Payment-Payment Method List】 | |
data.paymentDetails[].targetOrg | string | No | maxLength: 64 | The target organization selected by users for payment, which wiil not not be returned when the paymentMethodType is CARD. | |
data.paymentDetails[].payAmount | integer | No | user pay amount | ||
data.paymentDetails[].payCurrency | string | No | user pay currency | ||
data.paymentDetails[].paymentTokenID | string | No | In the card payment scenario, the authorization ID used for payment.The default validity period is the card validity period, which can be passed【removePaymentToken】 interface is set to invalid. | ||
data.paymentDetails[].cardInfo | object | No | card info | ||
data.paymentDetails[].cardInfo.cardOrg | string | No | maxLength: 32 | Card organization, only returned when the transaction is successful and the user chooses card organization to pay | |
data.paymentDetails[].cardInfo.country | string | No | maxLength: 2 | Card issuing country | |
data.paymentDetails[].cardInfo.cardType | string | No | maxLength: 32 | Card funding type, such as DEBIT、CREDIT and so on. | |
data.paymentDetails[].cardInfo.totalCardOrg | array[string] | No | Brand of the card.Dual-standard card returns two brands. | ||
data.paymentDetails[].cardInfo.type | string | No | maxLength: 32 | Type of the card. PAN is a full pan; NETWORK_TOKEN is not a full pan, such as APPLEPAY. | |
data.paymentDetails[].cardInfo.source | string | No | maxLength: 32 | Source of the card. CARD、APPLEPAY、GOOGLEPAY_PAN、GOOGLEPAY_CRYPTOGRAM、NETWORK_TOKEN | |
data.paymentDetails[].cardInfo.cardBinNo | string | No | maxLength: 16 | Card BIN number. | |
data.paymentDetails[].cardInfo.cardNumber | string | No | maxLength: 32 | Masked card number. | |
data.paymentDetails[].cardInfo.cardHolderName | string | No | maxLength: 128 | Masked cardholder name. | |
data.paymentDetails[].cardInfo.cardLast4 | string | No | maxLength: 4 | The last four digits of the card. | |
data.paymentDetails[].cardInfo.cardExpirationYear | string | No | maxLength: 2 | Two-digit number representing the card’s expiration year. | |
data.paymentDetails[].cardInfo.cardExpirationMonth | string | No | maxLength: 2 | Two-digit number representing the card’s expiration month. | |
data.paymentDetails[].cardInfo.cardIdentifierNo ⚠️ | string | No | maxLength: 19 | Card number, when the paymentMethodType is CARD, the mask returns | |
data.paymentDetails[].cardInfo.cardIdentifierName ⚠️ | string | No | maxLength: 192 | Card name, when the paymentMethodType is CARD, the mask returns | |
data.paymentDetails[].cardInfo.paymentTokenID ⚠️ | string | No | maxLength: 64 | In the card payment scenario, the authorization ID used for payment.The default validity period is the card validity period, which can be passed【removePaymentToken】 interface is set to invalid. | |
data.paymentDetails[].cardInfo.threeDSResult | object | No | 3ds result | ||
data.paymentDetails[].cardInfo.threeDSResult.threeDSVersion | string | No | maxLength: 16 | 3ds version 1.0.2, 2.1.0, 2.2.0 | |
data.paymentDetails[].cardInfo.threeDSResult.enrolled | string | No | maxLength: 1 | Status of Authentication eligibility. Y - Yes, Bank is participating in 3-D Secure protocol and will return the ACSUrl N - No, Bank is not participating in 3-D Secure protocol U - Unavailable, The DS or ACS is not available for authentication at the time of the request B - Bypass, Merchant authentication rule is triggered to bypass authentication in this use case. (3DS Flex premium only) | Y, N, U, B |
data.paymentDetails[].cardInfo.threeDSResult.authenticationStatus | string | No | maxLength: 1 | Transactions status result identifier. Y - Successful Authentication N - Failed Authentication U - Unable to Complete Authentication A - Successful Attempts Transaction R - Authentication Rejected (Merchant must not submit for authorisation) | Y, N, U, A, R |
data.paymentDetails[].cardInfo.threeDSResult.eci | string | Yes | maxLength: 2 | Electronic Commerce Indicator (ECI). Possible Values: 02 or 05 - Fully Authenticated Transaction 01 or 06 - Attempted Authentication Transaction 00 or 07 - Non 3-D Secure Transaction Mastercard - 02, 01, 00 Visa - 05, 06, 07 | |
data.paymentDetails[].cardInfo.threeDSResult.dsTransactionId | string | No | maxLength: 64 | the Directory Server (DS) assigned unique identifier | |
data.paymentDetails[].cardInfo.threeDSResult.cavv | string | No | maxLength: 24 | Cardholder Authentication Verification Value (CAVV) Authentication Verification Value (AVV) Universal Cardholder Authentication Field (UCAF) | |
data.paymentDetails[].cardInfo.threeDSResult.xid | string | No | maxLength: 64 | Authentication result ID | |
data.paymentDetails[].cardInfo.avsResult | string | No | avs result | ||
data.paymentDetails[].exchangeRate | string | No | The exchange rate for converting the price currency into the payment currency | ||
data.paymentDetails[].additionalData | object | No | Contains additional information about the payment | ||
data.paymentDetails[].additionalData.rrn | string | No | Retrieval Reference Number | ||
data.paymentDetails[].additionalData.authCode | string | No | Authorization Code | ||
data.fees | object | No | Fee information, which is only returned if the payment is successful and there are fees associated with it. | ||
data.fees.merFee | object | No | merchant tax fee | ||
data.fees.merFee.url | string | Yes | maxLength: 256 | Invoice URL, open the URL to preview the invoice | |
data.fees.merFee.amount | string | Yes | maxLength: 20 | fee amount | |
data.fees.merFee.currency | string | Yes | maxLength: 3 | fee currency | |
data.cashierCountry | string | No | maxLength: 2 | Country where payment is initiated at the checkout. | |
data.resultCode | string | No | Transaction status result description. | ||
data.createTime | string | No | Order creation time | ||
data.confirmPayTime | string | No | Time when order is routed to an external channel | ||
data.completeTime | string | No | Order completion time | ||
data.issuerResponseCode | string | No | issuer response code | ||
data.issuerResponseMsg | string | No | issuer response message |
Response Example: 1
SUCCESS
json
{
"msg": "Success.",
"code": "APPLY_SUCCESS",
"data": {
"reference": "reference",
"country": "SA",
"totalAmount": 10,
"outTradeNo": "DEVTest1669616467952",
"currency": "SAR",
"channelNo": "DMCP000000000177005",
"thirdChannelNo": "4ikqJ6ktEqyRawE1dvqb9c",
"paymentCode": "2312121212",
"tradeToken": "T2024062702289232000001",
"paymentDetails": [
{
"targetOrg": "*",
"cardInfo": {
"cardOrg": "VISA",
"cardNumber": "400555****0001",
"cardHolderName": "**ngwei",
"country": "SA"
},
"payAmount": 10,
"exchangeRate": "1",
"payCurrency": "SAR",
"paymentMethodType": "CARD",
"paymentTokenID": "PMTOKEN20230424072005899168200035002"
}
],
"status": "SUCCESS",
"resultMsg": ""
}
}Response Example: 2
token-first
json
{
"msg": "Success.",
"code": "APPLY_SUCCESS",
"data": {
"country": "SA",
"channelNo": "UPC724600175093989606351000042",
"thirdChannelNo": "5db84623e38343f08a4cd3237e3019ae",
"outTradeNo": "orderAndPayOutTradeNo1750939895336PuVDesFayU",
"currency": "SAR",
"tradeToken": "T2025062612724647000120",
"paymentDetails": [
{
"cardInfo": {
"cardOrg": "MADA",
"country": "SA",
"cardIdentifierNo": "455036******5105",
"cardIdentifierName": "**rdHolderName",
"paymentTokenID": "PMTOKEN20250626121135955468420000003"
},
"payAmount": 100,
"payCurrency": "SAR",
"paymentTokenID": "PMTOKEN20250626121135955468420000003",
"paymentMethodType": "CARD"
}
],
"completeTime": "2025-06-26T12:11:36.142Z",
"resultMsg": "",
"totalAmount": 100,
"status": "SUCCESS"
}
}Enum Reference
data.paymentDetails[].cardInfo.threeDSResult.enrolled
YNUB
data.paymentDetails[].cardInfo.threeDSResult.authenticationStatus
YNUAR
