Checkout sessions
Checkout sessions represent your customer’s journey through the purchase flow when using Checkout. Your integration should create a new checkout session each time a customer begins the purchase process.
The CheckoutSession object
- Name
object
- Type
- "checkout_session",
- Description
- Literal representing the object’s type.
- Name
id
- Type
- string,
- Description
- Unique identifier for the object.
- Name
live
- Type
- boolean,
- Description
- Has the value
true
if the object exists in a production environment or the valuefalse
if the object exists in a sandbox environment.
- Name
created_at
- Type
- integer,
- Description
- Time at which the object was created. Measured in milliseconds since the Unix epoch.
- Name
amount
- Type
- integer,
- Description
- The total of the checkout session in cents.
- Name
amount_collected
- Type
- integer,
- Description
- The amount collected from the customer in successful payments.
- Name
client_secret
- Type
- string,
- Description
- The client secret for the checkout session. Return this value to the client-side Checkout SDK to initialize it.
- Name
customer
- Type
- string or Customer or null,
- Description
- Expandable. The customer associated with the checkout session.
- Name
customer_details
- Type
- empty object,
- Description
- The customer’s details, for this session. When the session completes, the created customer will inherit these values.
- Child properties
- Name
last_payment
- Type
- string or Payment or null,
- Description
- Expandable. The most recent payment associated with the checkout session.
- Name
metadata
- Type
- object,
- Description
- A key-value store that is attached to the object. Useful for storing miscellaneous structured data for your integration’s internal use.
- Name
mode
- Type
- enum,
- Description
- The mode of the session determines if payment methods are saved and when the customer is charged.
- Array item properties
- Name
status
- Type
- enum,
- Description
- The status of the session.
- Array item properties
- Name
submit_label
- Type
- enum,
- Description
- Specify the submit intent for the session. Used to adjust the text on Checkout components to reflect the type of purchase.
- Array item properties
The CheckoutSession object
Get a checkout session
Retrieve a checkout session by its ID.
Optional parameters
- Name
expand
- Type
- empty object,
- Description
- Optional object that allows you to expand certain ID fields to include related resources.
- Child properties
Returns
Returns the checkout session object.
Retrieve a checkout session
Response example
List all checkout sessions
Retrieve a paginated list of checkout sessions.
Optional parameters
- Name
expand
- Type
- empty object,
- Description
- Optional object that allows you to expand certain ID fields to include related resources.
- Child properties
- Name
ending_before
- Type
- string,
- Description
- A cursor for use in pagination.
ending_before
is an object ID that results will end before. Used to move backward through the list.
- Name
starting_after
- Type
- string,
- Description
- A cursor for use in pagination.
starting_after
is an object ID that results will start after. Used to move forward through the list.
- Name
limit
- Type
- number, at least 1, at most 1000, default is 50
- Description
- Maximum number of objects to return.
- Name
filters
- Type
- ,
- Description
- Filters to apply to the list. Combine multiple conditions with
and
andor
. - Child properties
Returns
Returns a list of checkout session objects.
List all checkout sessions
Response example
Create a checkout session
Create a new checkout session in response to a customer purchase intent. Return client_secret
to the browser for use with the Checkout SDK.
Optional parameters
- Name
amount
- Type
- integer or null,
- Name
customer
- Type
- string,
- Name
customer_details
- Type
- empty object,
- Child properties
- Name
metadata
- Type
- object or null,
- Name
mode
- Type
- enum, default is payment
- Description
- The mode of the session determines if payment methods are saved and when the customer is charged.
- Array item properties
- Name
submit_label
- Type
- enum, default is auto
- Description
- Specify the submit intent for the session. Used to adjust the text on Checkout components to reflect the type of purchase.
- Array item properties
Returns
Returns the checkout session object.
Create a checkout session
Response example
Expire a checkout session
Expire a checkout session, invalidating it and preventing further payments from being created with it.
Returns
Returns the checkout session object.
Expire a checkout session
Response example
Update a checkout session
Update the properties of a requires_confirmation
checkout session. Only the metadata can be updated on checkout sessions that have already been confirmed.
Optional parameters
- Name
amount
- Type
- integer,
- Description
- The amount of the checkout session.
- Name
customer
- Type
- string,
- Description
- The customer’s associated with the session.
- Name
customer_details
- Type
- empty object,
- Description
- The customer’s details, for this session. When the session completes, the created customer will inherit these values.
- Child properties
- Name
metadata
- Type
- object or null,
- Description
- A key-value store that is attached to the object. Useful for storing miscellaneous structured data for your integration’s internal use.
Returns
Returns the checkout session object.