Intermediate redirects
When dealing with transactions processed through a Payment Selection Page, the IXOPAY platform provides a feature to redirect the customer back to your checkout flow before the final processing of the chosen payment method.
Please be aware that this feature needs to be manually enabled on your merchant account.
Process flow
- Merchant:
Initiate a Debit transaction to the IXOPAY platform, with
intermediateUrl
included inextraData
(refer to the Technical details section below). - Merchant:
Guide the customer's browser to the
redirectUrl
present in the response. - IXOPAY platform: Show the payment selection page to the customer.
- Customer: Choose the desired payment method on the payment selection page.
- IXOPAY platform:
Dispatch a callback with the
PENDING
status andextraData
containingcontinueUrl
to the specifiedcallbackUrl
. Alternatively, the merchant can query thecontinueUrl
by using the Status API. - IXOPAY platform:
Redirect the customer's browser back to the
intermediateUrl
. The IXOPAY platform adds thecontinueUrl
as GET parameter to the page's URL. - Merchant: Display the checkout finalization page to the customer.
- Customer: Clicks, for example, "Finalize purchase now".
- Merchant:
Guide the customer's browser to the
continueUrl
– sourced from the GET parameter, from the callback, or the Status API. - IXOPAY platform: Show the actual payment page to the customer.
- Customer: Concludes payment at the Payment Service Provider (PSP).
- IXOPAY platform:
Dispatches the final callback to the merchant's
callbackUrl
. - IXOPAY platform:
Redirects the customer back to the merchant's
successUrl
— orerrorUrl
in case of payment failure. - Merchant: Displays the "Thank you for your purchase" page.
Here's a visual representation of the process flow using a sequence diagram:
Technical details
Apart from the standard transaction details, you should also pay attention to the following:
-
Send the
extraData
value for theintermediateUrl
key: This URL is where we'll redirect the customer after they have chosen a payment method.For example:
{
// ...
"extraData": {
"intermediateUrl": "https://shop.example.org/checkout/finalize"
}
// ...
} -
Extract the
extraData
value with thecontinueUrl
key from the callback: This is the URL where you should redirect the customer to complete the payment.In the callback:
{
// ...
"extraData": {
"continueUrl": "https://gateway.ixopay.com/redirect/d94c0d72f3a36e21f16e/ABCDEF01234567890ABCDEF01234567890"
}
// ...
}Alternatively, you can:
- Retrieve the
continueUrl
through the Status API. - Extract the
continueUrl
parameter, which we append to yourintermediateUrl
.
Example: If you provided
https://shop.example.org/checkout/finalize
, we would redirected tohttps://shop.example.org/checkout/finalize?continueUrl=https://gateway.ixopay.com/redirect/d94c0d72f3a36e21f16e/ABCDEF01234567890ABCDEF01234567890
. - Retrieve the