---
title: "View APM transaction async status"
method: GET
path: "/apm/v3/transactionAsyncStatus/{asyncTraceId}"
tags: ["Alternative Payment Methods"]
---

# View APM transaction async status

`GET /apm/v3/transactionAsyncStatus/{asyncTraceId}`

Gets information about the specified alternative payment method (APM) asynchronous transaction. Use this for tracking APM transactions submitted through the [Run APM transaction](https://docs.nexiopay.com/reference/runapmtransaction) or through any of the integration methods (for more information, see [Run a sale transaction](https://docs.nexiopay.com/docs/run-a-sale-transaction) in the Alternative Payment Method section of Guides). 

The [Create APM one-time-use token](https://docs.nexiopay.com/reference/createapmonetimeusetoken) endpoint returns the `asyncTraceId` in the response for you to use with the path parameter for this endpoint. 


For the [Multi Iframe (Express APM)](https://docs.nexiopay.com/docs/multi-iframe-express-apm) and [Individual Iframe (Button URLs)](https://docs.nexiopay.com/docs/individual-iframe-button-urls) integration methods for one-time payments (non-dropin-style), the history object progresses through the following flow for a successful payment:<ul style='margin-top: -5px; margin-bottom: -5px'><li>`getToken`</li><li>`iframe`</li><li>`popup`</li><li>`finale`</li></ul>

For the [Custom Redirect (Redirect URLs)](https://docs.nexiopay.com/docs/custom-redirect-redirect-urls) integration method, the history object progresses through the following flow for a successful payment:<ul style='margin-top: -5px; margin-bottom: -5px'><li>`getToken`</li><li>`popup`</li><li>`finale`</li></ul>

For first transactions in a [merchant-initiated recurring transaction](https://docs.nexiopay.com/docs/run-a-merchant-initiated-recurring-transaction), the history object progressess through the following flow for a successful payment:<ul style='margin-top: -5px; margin-bottom: -5px'><li>`getToken`</li><li>`iframe`</li><li>`processFromApm`</li></ul>

### See also
- For tracking 3DS transactions, see the [View transaction async status](https://docs.nexiopay.com/reference/viewtransactionasyncstatus) endpoint.


<div style="display:none;">

## Request parameters
- asyncTraceId

## Response parameters
- gatewayResponse
- gatewayResponse.refNumber
- gatewayResponse.gatewayName
- history.processFromApm
- history.processFromApm.initiatedAt
- history.processFromApm.updatedAt
- history.processFromApm.state
- history.getToken
- history.getToken.initiatedAt
- history.getToken.updatedAt
- history.getToken.state
- history.iframe
- history.iframe.initiatedAt
- history.iframe.updatedAt
- history.iframe.state
- history.popup
- history.popup.initiatedAt
- history.popup.updatedAt
- history.popup.state
- history.finale
- history.finale.initiatedAt
- history.finale.updatedAt
- history.finale.state
- updatedAt
- initialTransactionStatus
- createdAt
- asyncTraceId

</div>

## Path parameters

- `asyncTraceId` string, required

## Response `200`

Success

- object
  - `gatewayResponse` object — Gateway-specific information. This will either be a `null` value if Nexio has not yet received a response from the APM gateway. Otherwise, it will be an object with information from the gateway about the transaction. The object returned here is the same as what Nexio returns in the payment response. <b>Details will vary by gateway. Do NOT code to any information included in this object</b>.
    - `gatewayName` string — The name of the APM gateway.
    - `refNumber` RefNumber — unresolved $ref
  - `history` object — Provides information about current and past states of the asynchronous APM transaction.
    - `getToken` object — Presents information about the asynchronous APM transaction step beginning with a request to [Create APM one-time-use token](https://docs.nexiopay.com/reference/createapmonetimeusetoken) and ending with the response with the URL for APM redirection.
      - `initiatedAt` InitiatedAt — unresolved $ref
      - `updatedAt` UpdatedAt — unresolved $ref
      - `state` string — The most recent state of this step of the asynchronous APM transaction flow. For `getToken`, this will be `redirectUrlReturnedFromApm`, which indicates that Nexio returned the URL to use for loading an APM iframe or custom redirect. If you see any other state, you should contact [Integrations Support](https://docs.nexiopay.com/page/contact-us) for assistance.
    - `iframe` object — Presents information about the asynchronous APM transaction step beginning with loading the iframe with the APM button and ending with the customer selecting one of the APMs for payment. This step does not happen for the custom redirect integration method.
      - `initiatedAt` InitiatedAt — unresolved $ref
      - `updatedAt` UpdatedAt — unresolved $ref
      - `state` State — unresolved $ref
    - `popup` object — Presents information about the asynchronous APM transaction step beginning with the opening of the APM's validation or payment page and ending with the customer completing the payment step, whether successful or declined, and the APM returning control to the merchant website.
      - `initiatedAt` string — The date and time this step of the asynchronous APM transaction began. - For `getToken`, this is when the request to create an APM one-time-use token was sent to Nexio. - For `iframe`, this is when the system first starts to load the iframe, if applicable. - For `popup`, this is when the system opens the APM's payment page (either a login page or the page to select how to pay). - For `finale`, this is when the system gets a response from the APM provider and the APM returns control to the merchant website. - For `processFromApm`, this is when the customer clicks the "Pay" button for APMs for the first transaction in a [subscription (such as an autoship program)](https://docs.nexiopay.com/docs/run-a-merchant-initiated-recurring-transaction) when the system opens the APM's payment page (either a login page or the page to select how to pay).
      - `updatedAt` string — The date and time this step of the asynchronous APM transaction was last modified. - For `getToken`, this is first the same as `initiatedAt` and then it is when the response was received. - For `iframe`, this is first the same as `initiatedAt` and then it is when the customer selects one of the APMs for payment and the iframe starts the request to the APM. - For `popup`, this is first the same as `initiatedAt` and then it is when the customer completes (or fails) the payment. Payment failure may occur when the customer does not successfully authenticate with the APM, the customer closes the page without completing payment, or the customer waits more than an hour to complete the payment. - For `finale`, this is first the same as `initiatedAt` and then it may be when the system returns an error because of connection issues or the APM returns the payment response of success or declined. - For `processFromApm`, this is first the same as `initiatedAt` and then it is when the APM returns a response about the payment (success or failure).
      - `state` 'loaded' | 'submitted' | 'error' — The most recent state of this step of the asynchronous APM transaction flow. For `iframe`, this is one of the following: <ul style='margin-top: -5px; margin-bottom: -5px'><li>`loaded` - indicates that the APM button iframe or multi-iframe (express APM) was loaded for the customer. </li><li>`submitted` - indicates that the customer selected one of the APMs for payment and the system opened the APMs URL. For the first payment in a subscription, even though the system may open a popup for the customer to use for validating payment, the system does not next go to the `popup` state in the history, but to the `processFromApm` step.</li><li>`error` - indicates that the system encountered an error when attempting to open the APM payment page. This could happen, for example, when the system uses an expired APM one-time-use token.</li></ul> For `popup`, this will be one of the following: <ul style='margin-top: -5px; margin-bottom: -5px'><li>`loaded` - indicates that the customer selected an APM for payment and the system successfully loaded the APM popup (or a new tab).</li><li>`submitted` - indicates that the APM payment process completed, whether successful or declined, and returned control to the merchant website. If the customer exits the popup before completing the payment with the APM, the system returns a 481 error indicating that the user canceled the request and the state for this step stays at `loaded`. If the customer never completes the payment with the APM, the state for this step also stays at `loaded`, but no error gets returned. For either of these situations and what to do about them, see the [Run a sale transaction](https://docs.nexiopay.com/docs/run-a-sale-transaction) tutorial for your integration method.</li><li>`error` - indicates that the system encountered an error when attempting to open or get information from the APM payment page. This could happen, for example, when the system attempts to use an APM one-time-use token a second time. In this case, the state will previously have been "submitted" and if the previous use of the token was successful, the history shows a finale and there will be an `initialTransactionStatus`.</li></ul>
    - `finale` object — Presents information about the asynchronous APM transaction step beginning with the APM returning control to the merchant's finale page and ending with a payment response (whether declined or successful).
      - `initiatedAt` InitiatedAt — unresolved $ref
      - `updatedAt` UpdatedAt — unresolved $ref
      - `state` 'initiated' | 'error' | 'responseSent' — The most recent state of this step of the asynchronous APM transaction flow. For `finale`, this will be one of the following: <ul style='margin-top: -5px; margin-bottom: -5px'><li>`initiated` - indicates that the APM has returned control to the merchant's finale page but that there was an error. For example, this happens if, after more than one hour has elapsed since the one-time-use token was created, the customer authenticates on the APM's login page or attempts to complete the payment.</li><li>`error` - indicates that there was an error between Nexio and the APM. Check the `gatewayResponse` and `initialTransactionStatus` to get more information for troubleshooting.</li><li>`responseSent` - indicates that Nexio returned a successful or declined payment response. Check the `gatewayResponse` and `initialTransactionStatus` to get more information about the successful or declined transaction.</li></ul>
    - `processFromApm` object — Presents information about the asynchronous APM transaction step beginning with the first transaction in a [subscription (such as an autoship program)](https://docs.nexiopay.com/docs/run-a-merchant-initiated-recurring-transaction) when the system opens the APM's payment page (either a login page or the page to select how to pay). It ends when the APM returns a response about the payment (success or failure). For this flow, the system goes from the `getToken` part of the `history` object to `iframe` and finishes with `processFromApm`. Note that there will not be a `finale` step in `history` since `processFromApm` takes that place in this flow. Even though the system may open a popup for the customer to use for validating payment, the system does not include a `popup` state in the history. Therefore, you need to wait for up to an hour after the `iframe` loads and the `state` is `submitted` before expecting `processFromApm` to be returned, similar to what may happen in the `popup` state.
      - `initiatedAt` InitiatedAt — unresolved $ref
      - `updatedAt` UpdatedAt — unresolved $ref
      - `state` string — The most recent state of this step of the asynchronous APM transaction flow. For `processFromApm`, this will be `responseSent`, which indicates that the APM returned a response to the merchant website after the customer submitted payment information. If you see any other state, you should contact [Integrations Support](https://docs.nexiopay.com/page/contact-us) for assistance.
  - `updatedAt` string — The date and time at which the record of this asynchronous APM transaction was last modified.
  - `createdAt` CreatedAt — unresolved $ref
  - `initialTransactionStatus` string — The [APM transaction status](https://docs.nexiopay.com/docs/constant-transaction-values#transaction-status-transactionstatus) at the time Nexio received the payment response. This value does not update if the status changes later (such as with a voided APM transaction). This parameter has a value of `NULL` until the payment response gets returned after APM payment validation.
  - `asyncTraceId` AsyncTraceId — unresolved $ref

## Other responses

- `401` — Unauthorized. For help with this error and other error codes, see [Common errors](https://docs.nexiopay.com/docs/common-errors) in the Guides area.

---

[API](https://skmtc.dev/nexiopay/apis/payments-api-reference.md) · [All operations](https://skmtc.dev/nexiopay/apis/payments-api-reference/llms.txt) · [OpenAPI document](https://skmtc-service-production.skmtc.workers.dev/v1/apis/nexiopay/payments-api-reference/revisions/b414b73979e5/schema)
