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
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.

customer

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.

attribution

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

custom_data

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