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 --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"}}'
The
amount
provided in this call should be the order amount before shipping and taxes.