--- url: >- https://acquirer-api-docs-v4-en.pingpongx.com/en/notes/checkout/api/getOne/index.md description: >- The transaction query API is used to retrieve detailed information about a specific transaction. It applies to scenarios that require status tracking and management of completed or ongoing transactions. Main functions include obtaining transaction details through transaction ID, with the key parameter being transaction_id. --- # Transaction Query ```apidef endpoint: POST /v4/payment/query name: Transaction Query summary: Query payment status tags: Query, Payment ``` The transaction query API is used to retrieve detailed information about a specific transaction. It applies to scenarios that require status tracking and management of completed or ongoing transactions. Main functions include obtaining transaction details through transaction ID, with the key parameter being transaction_id. ## Request Parameters | Parameter | Type | Required | Description | |--------|------|------|------| | accId | string | M | Unique identifier for the store, which will appear in the response message after creation; inputting it means modifying the data | | clientId | string | M | PingPong Merchant ID | | signType | string | M | Supports MD5 , SHA256; for details, see the Signature Specification: /en/notes/guide/sign/ section of this document | | sign | string | M | Signature; for details, see the Signature Specification: /en/notes/guide/sign/ section of this document. All parameters participate in the signature | | version | string | M | Version number, currently fixed at 1.0, may be adjusted with changes to the interface in the future | | bizContent | string | M | Collection of request parameters, with no limit on maximum length. Except for common request parameters, all other request parameters must be passed within this parameter, format: JSON string | | └─ requestId | string | O | Payment request serial number; derived from the transaction asynchronous notification, it is the requestId in the parameters of the order and payment interface request; its purpose is to query the transaction information corresponding to that requestId | | └─ transactionId | string | C | PingPong transaction serial number, at least one of which must be provided with merchantTransactionId | | └─ merchantTransactionId | string | C | Merchant website transaction serial number, at least one of which must be provided with transactionId | ### Request Example ```json { "accId": "2018092714313010016291", "clientId": "2018092714313010016", "signType": "SHA256", "sign": "898A3CBE981B3E2BF4E2B8D1A817D7E23EF93BC4293993EE545E36F4C87F2E79", "version": "1.0", "bizContent": "{\"transactionId\":\"2023070750000647\"}" } ``` ## Response Parameters | Parameter | Type | Description | |--------|------|------| | accId | string | Unique store identifier, which will appear in the response message after being added; inputting it means modifying the data | | clientId | string | PingPong merchant number | | signType | string | Supports MD5 , SHA256; for details, see the Signature Specification: /en/notes/guide/sign/ section of this document | | sign | string | Signature; for details, see the Signature Specification: /en/notes/guide/sign/ section of this document. All parameters participate in the signature | | code | string | Result status code, see the appendix Status Code Table: /en/notes/appendix/successCodeList/ | | description | string | Result description | | bizContent | string | Business response parameters | | └─ transactionId | string | PingPong transaction number | | └─ merchantTransactionId | string | Website transaction number | | └─ captureDelayHours | integer | 0 indicates immediate capture; -1 indicates manual capture, after successfully calling the unified order API, you also need to call Pre-Authorization Capture: /en/notes/checkout/api/modifications/capture/, not supported for local payments; | | └─ currency | string | Transaction currency, ISO 4217 three-letter code, see the attachment for specific supported currencies Transaction Currencies: /en/notes/appendix/transactionCurrency/ | | └─ amount | string | Transaction amount, the precision is related to the currency, please check the appendix Transaction Currencies: /en/notes/appendix/transactionCurrency/ | | └─ transactionTime | string | Transaction initiation time, timestamp | | └─ transactionEndingTime | string | Time when the transaction reaches its final state, timestamp | | └─ status | string | Transaction status: Idempotent State: /en/notes/guide/paystatus/ INIT - Initial State; PROCESSING - In Progress; SUCCESS - Success; FAILED - Failure; AUTH_SUCCESS - Authorization Success; CANCEL - Authorization Cancelled/Manual Review Rejected; CLOSED - Order Closed; | | └─ remark | string | Merchant extended field, can be used to specify certain parameters, will be returned as is in the response body | | └─ payResultUrl | string | Merchant-defined URL for receiving redirection results; for 3DS verification, bank online transfer or virtual wallet payment methods, finally needs to redirect to the merchant-specified page address | | └─ issuerInfo | object | Bank return message | | └─ └─ issuerResultCode | string | Bank return code | | └─ └─ issuerResultMsg | string | Bank return message description | | └─ token | string | The payment credential returned after successfully saving the card, which can be used for subsequent token-based payment scenarios. If the first transaction was processed in `CardOnFile` mode, subsequent payments using this token must also continue to pass `bizType=CardOnFile`. See Saved Cards and CardOnFile Overview: /en/notes/onlinePayment/features/tokenization/cardOnFileOverview/ | | └─ threeDContinue | string | Whether 3DS is needed (for merchants using risk control plugins): true: Yes; false: No; | | └─ threeDUnionParams | object | 3DS verification parameter set, when the transaction requires 3DS verification, pass the return value of this parameter into the function specified by the js plugin provided by PingPong (for merchants using risk control plugins) | | └─ exchangedAmount | string | Exchange amount | | └─ exchangedCurrency | string | Exchange currency | | └─ paymentMethod | object | The type and required details of the payment method to be used. | | └─ └─ type | string | Payment method: scheme International credit card payment; Local payment options: Non-Hosted Supported APMs: /en/notes/paymentMethods/overview/; | | └─ └─ subType | string | Klarna order corresponding product type: Pay Now; Pay in Part; | | └─ requestId | string | Unique request number, globally unique | | └─ resultCode | string | Status result code | | └─ resultDescription | string | Status result description | | └─ cardInfo | object | Credit card information for payment | | └─ └─ cardLevel | string | Card transaction - card level | | └─ └─ cardType | string | Card transaction - card type, enumeration values: DEBIT; CREDIT; CHARGE; CARD; | | └─ └─ firstName | string | Cardholder name, character type, no special symbols | | └─ └─ lastName | string | Cardholder surname, character type, no special symbols | | └─ └─ firstSixDigits | string | First 6 digits of the card number | | └─ └─ lastFourDigits | string | Last 4 digits of the card number | | └─ └─ ipCountry | string | User transaction country | | └─ └─ isoCountry | string | Issuing bank country | | └─ └─ issuringBank | string | Issuing bank | | └─ └─ isoCountryA2 | string | Two-letter country code, compliant with iso3166 standard | | └─ └─ paymentBrand | string | Card transaction - card brand: VISA / Mastercard / American Express / JCB / Discover | | └─ threeDSInfo | object | 3ds parameters | | └─ └─ cavv | string | cavv | | └─ └─ authenticationResult | string | 3DS verification result, enumeration values as follows: Y: Verification passed; A: Cardholder did not participate, but a record of the attempt to authenticate has been logged; N: Verification failed; | | └─ └─ liabilityShift | string | Liability shift | | └─ └─ eci | string | Only returned for Visa, American Express, ICB, Diners Club, and Discover transactions. This field is empty when authentication fails. It contains one of the following values: 01: Attempted authentication (Mastercard) 01:; 02: Successful authentication (Mastercard); 05: Successful authentication (Visa, American Express, JCB, Diners Club, and Discover); 06: Attempted authentication (Visa, American Express, JCB, Diners Club, and Discover); | | └─ └─ authentication3DSecure | string | threeDSServerTransactionId / directoryServerTransactionId is not empty | | └─ └─ specificationVersion | string | 3DS version | | └─ authenticationInfo | object | Authentication information | | └─ └─ avsResult | string | Enumeration values as follows: Y(AVS full match); A(AVS street address only); Z(AVS postal/zip code only); N(AVS nonmatch); R(AVS indeterminate outcome (retry)); U(AVS unable to verify); | | └─ └─ cvvResult | string | CVV verification result, Y/N. | | └─ └─ threeDSecure | string | Whether 3DS verification was performed, Y/N | ### Response Example ```json { "accId": "2023060217493010231446", "bizContent": "{\"issuerInfo\":{\"issuerResultMsg\":\"Successful approval/completion or V .I.P .PIN\\n verification is successful\",\"issuerResultCode\":\"00\"},\"threeDSecure\":\"\",\"resultCode\":\"000000\",\"transactionTime\":\"1693290395000\",\"requestId\":\"PMT-QNS10ZZ7O91693290394921\",\"merchantTransactionId\":\"PMT-QNS10ZZ7O91693290394921\",\"currency\":\"USD\",\"resultDescription\":\"Transaction succeeded\",\"amount\":\"200.000000\",\"authenticationInfo\":{\"avsResult\":\"Unknown\",\"cvvResult\":\"Y\",\"threeDSecure\":\"N\"},\"cardInfo\":{\"firstName\":\"James\",\"isoCountryA2\":\"RU\",\"lastName\":\"LeBron\",\"lastFourDigits\":\"1112\",\"cardLevel\":\"CLASSIC\",\"paymentBrand\":\"VISA\",\"cardType\":\"CREDIT\",\"issuringBank\":\"\",\"ipCountry\":\"HK\",\"firstSixDigits\":\"401200\",\"isoCountry\":\"RUSSIAN FEDERATION\"},\"transactionId\":\"2023082950003030\",\"token\":\"h3cov3regCvMuuQWbY\",\"captureDelayHours\":0,\"status\":\"SUCCESS\"}", "clientId": "2023060217493010231", "code": "001000", "description": "Successful request", "sign": "940E744960C32C1040F831FEFD87258EEAD257784861E8EC8860489162AAD3E3", "signType": "SHA256" } ```