Skip to content
API DocsDocs

Callback Identification

How to route Card, APM, and HPP callbacks using paymentMethod and apmType query parameters

2 min readUpdated Mar 26, 2026

When using HPP or accepting multiple payment methods, Exirom appends explicit identifiers to every callback URL so you can determine the correct DTO and parsing logic before reading the body.

#Identification Fields

#paymentMethod (Query Parameter)

All callbacks are sent as HTTP POST requests. Exirom appends paymentMethod to the callback URL regardless of the original callbackUrl provided.

ParameterPossible ValuesDescription
paymentMethodcard, apmHigh-level payment method category

#apmType (Query Parameter and Payload Field)

When paymentMethod=apm, apmType is appended to the URL and included in the payload body.

Field / ParameterTypeDescription
apmTypeStringSpecific APM selected by the user
  • Present only when paymentMethod=apm
  • Value matches the Supported Payment Methods (PaymentMethod) enum
  • Use it to select the correct parser before reading the body

#Callback URL Examples

Given the original callback URL:

https://merchant.com/payment-status

Exirom invokes one of the following:

Card payment:

POST https://merchant.com/payment-status?paymentMethod=card

APM payment:

POST https://merchant.com/payment-status?paymentMethod=apm&apmType={APM_METHOD}

Example:

POST https://merchant.com/payment-status?paymentMethod=apm&apmType=UPI_QR

#Parsing APM Callbacks (apmResponseData)

When paymentMethod=apm, the callback payload contains an apmResponseData field whose structure varies by apmType.

FieldTypeDescription
apmResponseDataApmResponseDataAPM-specific data for redirecting the user or rendering an iframe

Do not assume apmResponseData has the same shape for all APMs. Always route parsing based on apmType.

Navigate to the relevant APM documentation page using the apmType value — each page describes the expected fields, redirect vs iframe behavior, and any required follow-up actions.

#Routing Summary

SignalAction
paymentMethod=cardParse using Card callback DTO
paymentMethod=apmRead apmType → parse using APM-specific DTO
HPP flowRely on callback identifiers — payment method is unknown at request time

A single webhook endpoint can handle Card and all APM callbacks deterministically using these two query parameters.

Was this helpful?