> This page is for version v2 (default).
> For other versions, use one of these documentation indexes:
> - v2 (default): https://developers.clearpay.co.uk/v-2/llms.txt
> - v1: https://developers.clearpay.co.uk/v-1/llms.txt

> For clean Markdown of any page, append .md to the page URL.
> For a complete documentation index, see https://developers.clearpay.co.uk/llms.txt.
> For AI client integration (Claude Code, Cursor, etc.), connect to the MCP server at https://developers.clearpay.co.uk/_mcp/server.

# Express Checkout Payload (Create Checkout)

When creating an Express Checkout order, there are two key differences – you must specify the mode as `express` and set a single `popupOriginUrl` instead of `redirectConfirmUrl` and `redirectCancelUrl`. Unlike standard checkout, only *amount*, *merchant*, and *mode* are required for the Create Checkout API call:

**The Data Payload Properties:**

| Attribute                                             | Type                          | Description                                                                                                                                                                                                     |
| :---------------------------------------------------- | :---------------------------- | :-------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- |
| `amount`                                              | Money (required)              | Total amount to be charged to the consumer. This can be dynamically updated during the checkout by setting **mode** to **express**                                                                              |
| `mode`                                                | String (default **standard**) | Set to **express** for an express-flow checkout. This allows the **amount** to adjust based on events during the checkout, such as shipping costs and sales tax based on a selected address                     |
| `merchant`                                            | Merchant  (required)          | You must provide a new URL, **popupOriginUrl**, to receive Javascript callbacks from Clearpay (e.g. **onComplete**, **onShippingAddressChange**, etc). Include the scheme, hostname and port. Port is optional. |
| `items`, `discounts`, `shipping`, `merchantReference` | (optional)                    | Optional fields as per the API reference docs.                                                                                                                                                                  |

```curl
curl --request POST \
  --url https://api.eu-sandbox.afterpay.com/v2/payments/ \
  --header 'accept: application/json' \
  --header 'content-type: application/json' \
  --data '{"amount":{"amount":"100.00", “currency”: “GBP”}, “mode”: “express”, "merchant": {"popupOriginUrl": "https://example.com/cart"}}'
```

> **Warning**
>
> The `amount` provided in this call should be the order amount **before shipping and taxes**.