# Checkout Sessions

A Checkout Session represents your customer’s session as they pay for one-time purchases or subscriptions through [Checkout](https://docs.stripe.com/docs/payments/checkout.md) or [Payment Links](https://docs.stripe.com/docs/payments/payment-links.md). We recommend creating a new Session each time your customer attempts to pay.

Once payment is successful, the Checkout Session will contain a reference to the [Customer](https://docs.stripe.com/docs/api/customers.md), and either the successful [PaymentIntent](https://docs.stripe.com/docs/api/payment_intents.md) or an active [Subscription](https://docs.stripe.com/docs/api/subscriptions.md).

You can create a Checkout Session on your server and redirect to its URL to begin Checkout.

Related guide: [Checkout quickstart](https://docs.stripe.com/docs/checkout/quickstart.md)

## Endpoints

### Create a Checkout Session

- [POST /v1/checkout/sessions](https://docs.stripe.com/api/checkout/sessions/create.md)

### Update a Checkout Session

- [POST /v1/checkout/sessions/:id](https://docs.stripe.com/api/checkout/sessions/update.md)

### Retrieve a Checkout Session

- [GET /v1/checkout/sessions/:id](https://docs.stripe.com/api/checkout/sessions/retrieve.md)

### Retrieve a Checkout Session's line items

- [GET /v1/checkout/sessions/:id/line_items](https://docs.stripe.com/api/checkout/sessions/line_items.md)

### List all Checkout Sessions

- [GET /v1/checkout/sessions](https://docs.stripe.com/api/checkout/sessions/list.md)

### Expire a Checkout Session

- [POST /v1/checkout/sessions/:id/expire](https://docs.stripe.com/api/checkout/sessions/expire.md)
