Skip to main content
A checkout session is created each time a customer opens a checkout link or your app creates a checkout through the API. Orders only show purchases that went through. Checkout sessions show every attempt, so you can see where customers stop. Open Sales → Checkout sessions.
The Checkout sessions page with the status filter open, listing sessions with their amount, status, customer, product, and date
Each row shows the session ID, the amount and billing period, the status, the customer’s country and email (or N/A if they never entered one), the product and plan, and when the session was created. Search by name or session ID, filter by status, and change the date range above the list.

Session statuses

A session that’s still Open or Processing an hour after it was created, with no customer activity in the last 30 minutes, is treated as abandoned and gets recovery emails if the customer entered an email address.

Session details

Click a session to open its details: the items in the checkout, the customer, the payment method used, and the session timeline.
Details of an expired checkout session, showing the purchased item and a timeline from Checkout started to Checkout session expired
The timeline lists what happened in the session, newest first, with the time of each event. For example: Payment attempts appear in the timeline too, including the decline reason when a payment fails, such as insufficient_funds. Use it to answer “why didn’t this customer get charged?” without asking them to try again.

Custom field responses

If the checkout collected custom fields, the customer’s answers are saved on the session as customFieldsData in the API, and sent as custom_fields_data in the checkout.completed webhook.