Skip to content
API DocsDocs

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

FieldTypeDescription
callbackUrlStringURL to receive transaction status updates
successRedirectUrlStringURL to redirect the customer after successful payment
failureRedirectUrlStringURL to redirect the customer after failed payment

Billing Details (ApmBillingDetails)

FieldTypeDescription
emailStringThe customer's email address used for communication or receipts

#Payload Structure

{
  "paymentMethod": "EXTERNAL_HPP_APPLE_PAY",
  "paymentType": "E_WALLET"
}

Payload Fields

FieldTypeRequiredDescription
paymentMethodEnumYesRedirect method identifier (e.g. EXTERNAL_HPP_APPLE_PAY, EXTERNAL_HPP_GOOGLE_PAY, EXTERNAL_HPP_EFT)
paymentTypeEnumYesPayment 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

FieldTypeRequiredDescription
paymentMethodEnumYesThe redirect method used
paymentTypeEnumYesPayment type
actionTypeEnumYesAlways REDIRECTION
redirectUrlStringNoFull-page redirect URL
iframeUrlStringNoEmbeddable iframe URL (some providers only)
qrDataStringNoAlways null for redirect methods
qrDeepLinkStringNoAlways null for redirect methods
providerTransactionIdStringNoTransaction ID in the provider's system
extraMapNoAdditional 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

Was this helpful?