Create Checkout Session
Create a new checkout session with line items.
Works for both User and API Key authentication. Account access is automatically validated via endpoint dependency.
Authentication
Bearer authentication of the form Bearer <token>, where token is your auth token.
Path parameters
Request
A saved payment method to suggest first for a one-click checkout. This is a prefill hint, NOT a binding — the customer can pick a different card, and the confirm request is authoritative for what is charged. Requires payment mode and a customer_id, and the payment method must belong to that customer and this account.
Whether the saved-card one-click re-collects the card security code (CVC) at confirm for THIS session. Omitted defaults to false (pure one-click, no CVC). Set true for best approval rates, and required when the session routes to Adyen (Adyen 422 14_029 on a stored-card charge with no CVC).
Number of hours until the checkout session expires. When omitted, the account's configured checkout session expiration (checkout_settings.session_expiration_minutes) is used.
Settings for card checkout behavior (parallel setup, 3DS mode). Defaults apply if not provided.
ID of a processor route to use for card checkout (overrides account default). A processor route contains an ordered list of processors tried sequentially as a fallback chain. Pass a single route ID — to use multiple processors, define them within the route itself.
Define processors directly on this session instead of referencing a predefined route. The processors are tried in order as a fallback chain. Mutually exclusive with processor_route_id — set one or the other, not both. Use this for one-off routing configurations; use processor_route_id for reusable routes shared across sessions.
Custom field values to set on this checkout session. Keys must match defined field keys for the checkout_session entity type. Set a key to null to delete that field's value.
List of fallback tiers for cascade pricing (max 10 tiers). Each tier contains line items and optional processor route.
Preferences for payment method setup. Valid in both 'payment' and 'setup' modes. Contains per-processor setup configuration under 'processors' key.
Statement descriptor suffix for this checkout session. Overrides the default descriptor for the charge made from this session, and is copied onto any subscription created from it so renewals inherit it. A suffix longer than the account prefix allows is trimmed to fit (the trimmed value is what this endpoint returns); an invalid suffix is rejected with 422.
Response
Card tokenization mode: 'direct' (KMS encryption) or 'vgs' (VGS Collect + proxy)
Settings for card checkout behavior (parallel setup, 3DS mode)
Cascade pricing status (None if no cascade configured)
Full cascade tier details including processor routes (None if no cascade configured)
ID of the processor route used for card checkout. A processor route contains an ordered list of processors tried sequentially as a fallback chain. This is a single route ID, not an array — to use multiple processors, define them within the route itself.
Inline processor route defined directly on this session. Contains the ordered list of processors to try as a fallback chain. Null if a predefined processor_route_id is used instead, or if no route is configured.
Custom field values. Only included when expand=custom_fields is specified.