> For the complete documentation index, see [llms.txt](https://developer.esw.com/llms.txt). Markdown versions of documentation pages are available by appending `.md` to page URLs; this page is available as [Markdown](https://developer.esw.com/adobe-commerce-magento/additional-features/self-hosted-checkout-success-page.md).

# Self-Hosted Checkout Success Page

Self-Hosted Checkout Success Page lets retailers control where shoppers land after a successful ESW checkout. You can use the default Adobe Commerce success page, a custom relative path, or a fully external URL.

This feature also supports headless storefronts and third-party frontends that need a custom post-payment experience.

### Success page configuration

Configure this feature in **ESW → Checkout → PreOrder URL Configuration**.

By default, **Enable Magento Checkout Success Page** is disabled.

To enable a self-hosted success page:

1. Open **PreOrder URL Configuration**.
2. Set **Enable Magento Checkout Success Page** to **Yes**.
3. Set **Magento Checkout Success Page Url** to the target path or URL.
4. Save the configuration.

{% hint style="info" %}
The success page URL can be configured globally or per store view. This is useful for multi-language and multi-region storefronts.
{% endhint %}

### URL behavior

The final success page destination depends on the configured value.

* If the feature is enabled and the value is blank or `N/A`, Adobe Commerce uses the default success page: `/checkout/onepage/success/`
* If the value is a relative path, Adobe Commerce builds the full URL by using the store domain and store view context
* If the value is a full external URL, Adobe Commerce passes that URL without modification

### How the feature works

When the shopper clicks **Proceed to Checkout**, Adobe Commerce builds the correct success page URL for the current session.

The extension then:

1. generates the confirmation page URL
2. appends the masked cart ID for the current checkout session
3. sends the value to ESW as a metadata item in the preorder payload
4. lets ESW redirect the shopper to that URL after payment succeeds

If the feature is disabled, the preorder payload is not changed and ESW continues to use the default success page behavior.

### Headless frontend support

This feature can point directly to a headless storefront route or another frontend endpoint.

For headless implementations:

* the frontend should be able to read the masked cart ID from the URL if order lookup is required
* the success page can be fully decoupled from the default Adobe Commerce storefront

If you use Hyvä, the default Adobe Commerce success page can still be used after installing the [Luma Checkout Fallback](https://docs.hyva.io/checkout/luma-checkout/installing-luma-checkout.html) package.

<div data-with-frame="true"><figure><img src="/files/fJ555CRIjiziwqfNWD5Y" alt=""><figcaption></figcaption></figure></div>

### Expected result

After setup is complete:

* shoppers are redirected to the correct post-payment page
* retailers can use branded or custom success experiences
* headless storefronts can receive checkout success traffic directly


---

# Agent Instructions
This documentation is published with GitBook. GitBook is the documentation platform designed so that both humans and AI agents can read, navigate, and reason over technical content effectively. Learn more at gitbook.com.

## Querying This Documentation
If you need additional information that is not directly available in this page, you can query the documentation dynamically by asking a question.

Perform an HTTP GET request on the current page URL with the `ask` query parameter, and the optional `goal` query parameter:

```
GET https://developer.esw.com/adobe-commerce-magento/additional-features/self-hosted-checkout-success-page.md?ask=<question>&goal=<endgoal>
```

`ask` is the immediate question: it should be specific, self-contained, and written in natural language.
`goal` is optional and describes the broader end goal you are ultimately trying to accomplish on behalf of the user. GitBook uses it to tailor the answer towards what is most useful for that goal.

The response will contain a direct answer to the question and relevant excerpts and sources from the documentation.

Use this mechanism when the answer is not explicitly present in the current page, you need clarification or additional context, or you want to retrieve related documentation sections.
