Redirect Flow Payload
Request and response payloads for APM methods that return actionType: REDIRECTION.
3 min readUpdated Apr 8, 2026
Redirect-flow APM methods return actionType: REDIRECTION — the customer is sent to an external page to complete payment. All redirect methods use the same payload structure, differing only by paymentMethod and paymentType. See Redirect flow for the end-to-end sequence.
For the full list of supported redirect methods, see APM Payload References.
#Required Request Fields
Top-Level Fields
| Field | Type | Description |
|---|---|---|
callbackUrl | String | URL to receive transaction status updates |
successRedirectUrl | String | URL to redirect the customer after successful payment |
failureRedirectUrl | String | URL to redirect the customer after failed payment |
Billing Details (ApmBillingDetails)
| Field | Type | Description |
|---|---|---|
email | String | The customer's email address used for communication or receipts |
#Payload Structure
{
"paymentMethod": "EXTERNAL_HPP_APPLE_PAY",
"paymentType": "E_WALLET"
}Payload Fields
| Field | Type | Required | Description |
|---|---|---|---|
paymentMethod | Enum | Yes | Redirect method identifier (e.g. EXTERNAL_HPP_APPLE_PAY, EXTERNAL_HPP_GOOGLE_PAY, EXTERNAL_HPP_EFT) |
paymentType | Enum | Yes | Payment type for the method (e.g. E_WALLET, BANK_TRANSFER) |
#Expected apmResponseData
{
"paymentMethod": "EXTERNAL_HPP_APPLE_PAY",
"paymentType": "E_WALLET",
"actionType": "REDIRECTION",
"redirectUrl": "https://provider.com/pay/69d6358b8e3e1b3dca7328a4",
"iframeUrl": null,
"qrData": null,
"qrDeepLink": null,
"providerTransactionId": null,
"extra": null
}#Response Fields
| Field | Type | Required | Description |
|---|---|---|---|
paymentMethod | Enum | Yes | The redirect method used |
paymentType | Enum | Yes | Payment type |
actionType | Enum | Yes | Always REDIRECTION |
redirectUrl | String | No | Full-page redirect URL |
iframeUrl | String | No | Embeddable iframe URL (some providers only) |
qrData | String | No | Always null for redirect methods |
qrDeepLink | String | No | Always null for redirect methods |
providerTransactionId | String | No | Transaction ID in the provider's system |
extra | Map | No | Additional key-value metadata |
#Handling the Redirect
const { redirectUrl, iframeUrl } = apmResponseData;
if (iframeUrl && !isMobile()) {
// Embed iframe for desktop
const iframe = document.createElement('iframe');
iframe.src = iframeUrl;
iframe.width = '100%';
iframe.height = '600';
document.getElementById('payment-container').appendChild(iframe);
} else if (redirectUrl) {
// Full redirect
window.location.href = redirectUrl;
}#See Also
- POST /api/v1/payments/apm — Full endpoint reference
- Payment Flow — End-to-end APM payment flows
- APM Payload References — All supported payment methods
Was this helpful?