Get APM Payment Info
APM Payments — Get APM Payment Info
6 min readUpdated Mar 27, 2026
GET /api/v1/payments/apm/info/{id}
Retrieve the full details of an APM payment transaction including the APM-specific response data.
Guide: Retrieving APM Payment Status — conceptual walkthrough, flow diagrams, and integration patterns.
#Headers
| Header | Value |
|---|---|
Authorization | Bearer {token} — see Authentication |
#Request
No request body. The transaction ID is passed as a path parameter.
| Parameter | Type | Description |
|---|---|---|
id | String | The unique transaction identifier returned when the transaction was created. |
#Response
| Field | Type | Description |
|---|---|---|
transactionId | String | Unique transaction identifier assigned by Exirom. Use this ID to query status, retrieve info, or reference the transaction in support requests. |
requestId | String | Unique identifier for the request. Used for idempotency — if you retry with the same requestId, the system will return the original response instead of processing a duplicate. |
accountId | Integer | Merchant account ID. Identifies which merchant account the transaction is associated with (APM equivalent of mid). |
transactionStatus | String (NEW, PENDING, FAILED, REFUNDED, CUSTOMER_VERIFICATION, ...) | Current status of the transaction. See Transaction Status Guide for the full lifecycle. |
declineCode | Integer | Numeric code indicating the reason for a decline. Only present when the transaction is FAILED. See Decline Codes Reference. |
declineSubReason | String | |
orderCurrency | String | |
processedCurrency | String | |
orderAmount | Number | |
processedAmount | Number | |
conversionRate | Number | |
apmRequestPayload | Object | Echo of the original APM payment payload that was submitted. |
apmResponseData | Object | Payment method-specific response data. Structure varies by APM type. May include redirect URLs, QR codes, or provider references. |
callbackUrl | String | Server-to-server webhook URL. Exirom sends a POST with the final transaction result to this URL. See Webhook Callbacks. |
billingDetails | Object — See ApmBillingDetails | |
order | Object — See Order | |
createdAt | String | Timestamp when the transaction was created (ISO 8601 format). |
metadata | Map<String, String> | Arbitrary key-value pairs for your own use (e.g. order reference, campaign ID). Returned unchanged in responses and callbacks. |
| Field | Type | Description |
|---|---|---|
externalUserId | String | Your internal customer identifier. Useful for linking transactions to user accounts in your system. |
firstName | String | Customer's first name. Required for 3DS2 frictionless flow. |
lastName | String | Customer's last name. Required for 3DS2 frictionless flow. |
address1 | String | Billing street address (line 1). Required for 3DS2 frictionless flow. |
city | String | Billing city. Required for 3DS2 frictionless flow. |
state | String | Billing state or province. |
country | String | Billing country as an ISO 3166-1 alpha-2 code (e.g. US, GB, DE). |
postalCode | String | Billing ZIP or postal code. |
phone | String | Customer's phone number (including country code). Required for 3DS2 frictionless flow. |
email | String | Customer's email address. |
dateOfBirth | String | Customer's date of birth in YYYY-MM-DD format. Required for 3DS2 frictionless flow. |
ssn | String | |
identityCode | String |
| Field | Type | Description |
|---|---|---|
date | String | Order date in ISO 8601 format (e.g. 2025-07-17). |
orderId | String | Your unique order identifier for reconciliation. |
title | String | Order title or description (e.g. "Monthly Subscription"). |
siteId | String | Identifier for the site or platform where the order originated. |
name | String | Customer name associated with the order. |
domainName | String | Domain where the order was placed (e.g. "shop.example.com"). |
{
"transactionId": "example_transactionId",
"requestId": "req_abc123",
"accountId": 12345,
"transactionStatus": "NEW",
"declineCode": 12345,
"declineSubReason": "customer_request",
"orderCurrency": "USD",
"processedCurrency": "USD",
"orderAmount": 100,
"processedAmount": 100,
"conversionRate": 100,
"apmRequestPayload": {
"paymentType": "E_WALLET",
"paymentMethod": "PAYPAL"
},
"apmResponseData": {
"providerTransactionId": "example_providerTransactionId",
"iframeUrl": "https://checkout.exirom.com/embed/txn_hpp_789",
"actionType": "REDIRECTION",
"qrData": "example_qrData",
"qrDeepLink": "example_qrDeepLink",
"redirectUrl": "https://checkout.exirom.com/pay/txn_hpp_789",
"paymentType": "BANK_TRANSFER",
"paymentMethod": "PAYPAL"
},
"callbackUrl": "https://yourserver.com/callback",
"billingDetails": {
"externalUserId": "example_externalUserId",
"firstName": "John",
"lastName": "Doe",
"address1": "123 Main St",
"city": "New York",
"state": "NY",
"country": "US",
"postalCode": "10001",
"phone": "+12125551234",
"email": "test@example.com",
"dateOfBirth": "2025-07-17",
"ssn": "example_ssn",
"identityCode": "example_identityCode"
},
"order": {
"date": "2025-07-17",
"orderId": "ord_789",
"title": "Product Purchase",
"siteId": "site_001",
"name": "John Doe",
"domainName": "shop.example.com"
},
"createdAt": "example_createdAt",
"metadata": {
"key1": "value1"
}
}#Error Responses
| HTTP Status | Description |
|---|---|
400 | Bad Request — missing or invalid parameters. Check the response body for field-level details. |
401 | Unauthorized — missing, expired, or invalid bearer token. Re-authenticate via POST /api/v1/auth. |
404 | Not Found — the requested resource does not exist. |
500 | Internal Server Error — an unexpected error occurred. Retry with exponential backoff. |
curl -X GET https://sandbox.api.exirom.com/api/v1/payments/apm/info/12345 \
-H "Authorization: Bearer YOUR_TOKEN"#Try It
SandboxTry it
https://sandbox.api.exirom.com/api
id=
Was this helpful?