Payment Flow

The overall process for an APM payment transaction is as follows:

  1. Initiate Payment – Your server sends an HTTP POST request to the APM payments endpoint with the required payment details (see below).
  2. Process Response – Examine the API’s response:
    1. For redirect-based payment methods (e.g., PayPal or iDEAL): redirect the customer’s browser to the URL provided in apmResponseData.redirectUrl to complete the payment.
    2. For iframe-based payment methods: load the URL from apmResponseData.iframeUrl in an on-page iframe to allow the customer to complete payment without leaving your site.
    3. For server-to-server (S2S) APMs with no redirect: Some APMs do not require any customer interaction. In these cases, the response will return transactionStatus = PROCESSING (or another pending state) with no redirectUrl and no iframeUrl. The provider has started processing the payment, and you should wait for the callback with the final status. No customer-facing step is needed.
  3. Receive Callback – Once the payment is completed (or if it fails/expires), Exirom sends a server-to-server callback to the callbackUrl you provided. This callback (webhook) contains the final transaction status and details (success, failure, amount, etc.).
  4. Verify Status (Optional) – As an optional step, you can query the payment status directly by calling the GET /payments/apm/info/{id} endpoint (where {id} is the transactionId returned in earlier steps. This can be used to double-check the transaction status or retrieve details if a callback was missed.

With this flow, the customer is guided through the necessary steps to complete payment using their chosen APM, and your system is kept informed of the outcome via the callback or direct queries.