Create checkout session

Create an 'open' checkout session to start a purchase.

Contract modes:

  • Plan-based: set contract.is_plan_based = true and provide plan_id, currency, start_date.
  • Product-based: set contract.is_plan_based = false and provide currency, start_date, and phases with pricings.

Customer modes:

  • Customer-based: provide customer_id of an existing customer.
  • Guest: set guest_checkout = true and provide customer details and business_entity_id.

Validation notes:

  • currency must be ISO-4217 and match the contract currency if provided.
  • success_url, cancel_url, pending_url must be fully qualified URLs.
  • idempotency_key allows safe retries without duplicates.

Response: returns the created session (status 'open') and pricing estimates following EstimationResponseSchema. See the examples for plan-based and product-based requests and responses.

Recent Requests
Log in to see full request history
TimeStatusUser Agent
Retrieving recent requests…
LoadingLoading…
Body Params

Schema for creating a new checkout session

This schema defines all the information needed to create a new checkout session, including contract details, customer information, session configuration, and experience options.

contract
required

Contract data for checkout session. Can be either plan-based or product-based. Required field.

ID of an existing customer. Required for non-guest checkout flows. Must be a valid UUID of an existing customer.

boolean

Flag indicating if this is a guest checkout flow. When true, customer_id is not required, but customer data and business_entity_id must be provided.

CreateCustomerRequestSchema | null

Customer data for guest checkout or to override existing customer details. Required when guest_checkout is true.

ID of the business entity. Required when guest_checkout is true. Must be a valid UUID of an existing business entity.

Timestamp when this checkout session expires. If not provided, system defaults will apply. Format: ISO 8601 datetime.

Unique key for idempotent requests. Allows safe retries of checkout session creation without creating duplicates.

ID for cross-service request tracing. Useful for debugging and tracking request flows across services.

Display currency for the checkout session. Must be a valid ISO 4217 currency code (e.g., 'USD', 'EUR'). If provided, must match the contract currency.

length between 1 and 2083

URL to redirect customers after successful checkout. Should be a valid, fully-qualified URL.

length between 1 and 2083

URL to redirect customers after cancellation. Should be a valid, fully-qualified URL.

length between 1 and 2083

URL to redirect customers when payment is pending. Should be a valid, fully-qualified URL.

AttributionSchema | null

UTM and attribution data for marketing tracking. Helps track the source of the checkout session.

object | null

Arbitrary key-value storage for additional data. Can be used to store metadata or integration-specific information.

Responses

Language
Credentials
LoadingLoading…
Response
Click Try It! to start a request and see the response here! Or choose an example:
application/json