Attributes

  • idstring

    Unique identifier for the object.

  • automatic_taxdictionary

    Details on the state of automatic tax for the session, including the status of the latest tax calculation.

  • client_reference_idnullable string

    A unique string to reference the Checkout Session. This can be a customer ID, a cart ID, or similar, and can be used to reconcile the Session with your internal systems.

  • currencynullable enum

    Three-letter ISO currency code, in lowercase. Must be a supported currency.

  • customernullable stringExpandable

    The ID of the customer for this Session. For Checkout Sessions in subscription mode or Checkout Sessions with customer_creation set as always in payment mode, Checkout will create a new customer object based on information provided during the payment flow unless an existing customer was provided when the Session was created.

  • customer_emailnullable string

    If provided, this value will be used when the Customer object is created. If not provided, customers will be asked to enter their email address. Use this parameter to prefill customer data if you already have an email on file. To access information about the customer once the payment flow is complete, use the customer attribute.

  • line_itemsnullable dictionaryExpandable

    The line items purchased by the customer.

  • metadatanullable dictionary

    Set of key-value pairs that you can attach to an object. This can be useful for storing additional information about the object in a structured format.

  • modeenum

    The mode of the Checkout Session.

    Possible enum values
    payment

    Accept one-time payments for cards, iDEAL, and more.

    setup

    Save payment details to charge your customers later.

    subscription

    Use Stripe Billing to set up fixed-price subscriptions.

  • payment_intentnullable stringExpandable

    The ID of the PaymentIntent for Checkout Sessions in payment mode. You can’t confirm or cancel the PaymentIntent for a Checkout Session. To cancel, expire the Checkout Session instead.

  • payment_statusenum

    The payment status of the Checkout Session, one of paid, unpaid, or no_payment_required. You can use this value to decide when to fulfill your customer’s order.

    Possible enum values
    no_payment_required

    The payment is delayed to a future date, or the Checkout Session is in setup mode and doesn’t require a payment at this time.

    paid

    The payment funds are available in your account.

    unpaid

    The payment funds are not yet available in your account.

  • return_urlnullable string

    Applies to Checkout Sessions with ui_mode: embedded or ui_mode: custom. The URL to redirect your customer back to after they authenticate or cancel their payment on the payment method’s app or site.

  • statusnullable enum

    The status of the Checkout Session, one of open, complete, or expired.

    Possible enum values
    complete

    The checkout session is complete. Payment processing may still be in progress

    expired

    The checkout session has expired. No further processing will occur

    open

    The checkout session is still in progress. Payment processing has not started

  • success_urlnullable string

    The URL the customer will be directed to after the payment or subscription creation is successful.

  • ui_modenullable enum

    The UI mode of the Session. Defaults to hosted.

    Possible enum values
    custom

    The Checkout Session will be displayed using embedded components on your website

    embedded

    The Checkout Session will be displayed as an embedded form on your website.

    hosted

    The Checkout Session will be displayed on a hosted page that customers will be redirected to.

  • urlnullable string

    The URL to the Checkout Session. Applies to Checkout Sessions with ui_mode: hosted. Redirect customers to this URL to take them to Checkout. If you’re using Custom Domains, the URL will use your subdomain. Otherwise, it’ll use checkout.stripe.com. This value is only present when the session is active.

More attributes

  • objectstring

  • adaptive_pricingnullable dictionary

  • after_expirationnullable dictionary

  • allow_promotion_codesnullable boolean

  • amount_subtotalnullable integer

  • amount_totalnullable integer

  • billing_address_collectionnullable enum

  • cancel_urlnullable string

  • client_secretnullable string

  • collected_informationnullable dictionary

  • consentnullable dictionary

  • consent_collectionnullable dictionary

  • createdtimestamp

  • currency_conversionnullable dictionary

  • custom_fieldsarray of dictionaries

  • custom_textdictionary

  • customer_creationnullable enum

  • customer_detailsnullable dictionary

  • discountsnullable array of dictionaries

  • expires_attimestamp

  • invoicenullable stringExpandable

  • invoice_creationnullable dictionary

  • livemodeboolean

  • localenullable enum

  • optional_itemsnullable array of dictionariesExpandable

  • payment_linknullable stringExpandable

  • payment_method_collectionnullable enum

  • payment_method_configuration_detailsnullable dictionary

  • payment_method_optionsnullable dictionary

  • payment_method_typesarray of strings

  • permissionsnullable dictionary

  • phone_number_collectionnullable dictionary

  • recovered_fromnullable string

  • redirect_on_completionnullable enum

  • saved_payment_method_optionsnullable dictionary

  • setup_intentnullable stringExpandable

  • shipping_address_collectionnullable dictionary

  • shipping_costnullable dictionary

  • shipping_optionsarray of dictionaries

  • submit_typenullable enum

  • subscriptionnullable stringExpandable

  • tax_id_collectionnullable dictionary

  • total_detailsnullable dictionary

The Checkout Session object
{
"id": "cs_test_a11YYufWQzNY63zpQ6QSNRQhkUpVph4WRmzW0zWJO2znZKdVujZ0N0S22u",
"object": "checkout.session",
"after_expiration": null,
"allow_promotion_codes": null,
"amount_subtotal": 2198,
"amount_total": 2198,
"automatic_tax": {
"enabled": false,
"liability": null,
"status": null
},
"billing_address_collection": null,
"cancel_url": null,
"client_reference_id": null,
"consent": null,
"consent_collection": null,
"created": 1679600215,
"currency": "usd",
"custom_fields": [],
"custom_text": {
"shipping_address": null,
"submit": null
},
"customer": null,
"customer_creation": "if_required",
"customer_details": null,
"customer_email": null,
"expires_at": 1679686615,
"invoice": null,
"invoice_creation": {
"enabled": false,
"invoice_data": {
"account_tax_ids": null,
"custom_fields": null,
"description": null,
"footer": null,
"issuer": null,
"metadata": {},
"rendering_options": null
}
},
"livemode": false,
"locale": null,
"metadata": {},
"mode": "payment",
"payment_intent": null,
"payment_link": null,
"payment_method_collection": "always",
"payment_method_options": {},
"payment_method_types": [
"card"
],
"payment_status": "unpaid",
"phone_number_collection": {
"enabled": false
},
"recovered_from": null,
"setup_intent": null,
"shipping_address_collection": null,
"shipping_cost": null,
"shipping_details": null,
"shipping_options": [],
"status": "open",
"submit_type": null,
"subscription": null,
"success_url": "https://example.com/success",
"total_details": {
"amount_discount": 0,
"amount_shipping": 0,
"amount_tax": 0
},
"url": "https://checkout.stripe.com/c/pay/cs_test_a11YYufWQzNY63zpQ6QSNRQhkUpVph4WRmzW0zWJO2znZKdVujZ0N0S22u#fidkdWxOYHwnPyd1blpxYHZxWjA0SDdPUW5JbmFMck1wMmx9N2BLZjFEfGRUNWhqTmJ%2FM2F8bUA2SDRySkFdUV81T1BSV0YxcWJcTUJcYW5rSzN3dzBLPUE0TzRKTTxzNFBjPWZEX1NKSkxpNTVjRjN8VHE0YicpJ2N3amhWYHdzYHcnP3F3cGApJ2lkfGpwcVF8dWAnPyd2bGtiaWBabHFgaCcpJ2BrZGdpYFVpZGZgbWppYWB3dic%2FcXdwYHgl"
}

Creates a Checkout Session object.

Parameters

  • automatic_taxdictionary

    Settings for automatic tax lookup for this session and resulting payments, invoices, and subscriptions.

  • client_reference_idstring

    A unique string to reference the Checkout Session. This can be a customer ID, a cart ID, or similar, and can be used to reconcile the session with your internal systems.

  • customerstring

    ID of an existing Customer, if one exists. In payment mode, the customer’s most recently saved card payment method will be used to prefill the email, name, card details, and billing address on the Checkout page. In subscription mode, the customer’s default payment method will be used if it’s a card, otherwise the most recently saved card will be used. A valid billing address, billing name and billing email are required on the payment method for Checkout to prefill the customer’s card details.

    If the Customer already has a valid email set, the email will be prefilled and not editable in Checkout. If the Customer does not have a valid email, Checkout will set the email entered during the session on the Customer.

    If blank for Checkout Sessions in subscription mode or with customer_creation set as always in payment mode, Checkout will create a new Customer object based on information provided during the payment flow.

    You can set payment_intent_data.setup_future_usage to have Checkout automatically attach the payment method to the Customer you pass in for future reuse.

  • customer_emailstring

    If provided, this value will be used when the Customer object is created. If not provided, customers will be asked to enter their email address. Use this parameter to prefill customer data if you already have an email on file. To access information about the customer once a session is complete, use the customer field.

  • line_itemsarray of dictionariesRequired unless setup mode

    A list of items the customer is purchasing. Use this parameter to pass one-time or recurring Prices.

    For payment mode, there is a maximum of 100 line items, however it is recommended to consolidate line items if there are more than a few dozen.

    For subscription mode, there is a maximum of 20 line items with recurring Prices and 20 line items with one-time Prices. Line items with one-time Prices will be on the initial invoice only.

  • metadatadictionary

    Set of key-value pairs that you can attach to an object. This can be useful for storing additional information about the object in a structured format. Individual keys can be unset by posting an empty value to them. All keys can be unset by posting an empty value to metadata.

  • modeenumRequired

    The mode of the Checkout Session. Pass subscription if the Checkout Session includes at least one recurring item.

    Possible enum values
    payment

    Accept one-time payments for cards, iDEAL, and more.

    setup

    Save payment details to charge your customers later.

    subscription

    Use Stripe Billing to set up fixed-price subscriptions.

  • return_urlstringRequired conditionally

    The URL to redirect your customer back to after they authenticate or cancel their payment on the payment method’s app or site. This parameter is required if ui_mode is embedded or custom and redirect-based payment methods are enabled on the session.

  • success_urlstringRequired conditionally

    The URL to which Stripe should send customers when payment or setup is complete. This parameter is not allowed if ui_mode is embedded or custom. If you’d like to use information from the successful Checkout Session on your page, read the guide on customizing your success page.

  • ui_modeenum

    The UI mode of the Session. Defaults to hosted.

    Possible enum values
    custom

    The Checkout Session will be displayed using embedded components on your website

    embedded

    The Checkout Session will be displayed as an embedded form on your website.

    hosted

    The Checkout Session will be displayed on a hosted page that customers will be redirected to.

More parameters

  • adaptive_pricingdictionary

  • after_expirationdictionary

  • allow_promotion_codesboolean

  • billing_address_collectionenum

  • cancel_urlstring

  • consent_collectiondictionary

  • currencyenumRequired conditionally

  • custom_fieldsarray of dictionaries

  • custom_textdictionary

  • customer_creationenum

  • customer_updatedictionary

  • discountsarray of dictionaries

  • expires_attimestamp

  • invoice_creationdictionary

  • localeenum

  • optional_itemsarray of dictionaries

  • payment_intent_datadictionary

  • payment_method_collectionenum

  • payment_method_configurationstring

  • payment_method_datadictionary

  • payment_method_optionsdictionary

  • payment_method_typesarray of enums

  • permissionsdictionary

  • phone_number_collectiondictionary

  • redirect_on_completionenum

  • saved_payment_method_optionsdictionary

  • setup_intent_datadictionary

  • shipping_address_collectiondictionary

  • shipping_optionsarray of dictionaries

  • submit_typeenum

  • subscription_datadictionary

  • tax_id_collectiondictionary

Returns

Returns a Checkout Session object.

POST /v1/checkout/sessions
curl https://api.stripe.com/v1/checkout/sessions \
-u "sk_test_BQokikJ...2HlWgH4olfQ2sk_test_BQokikJOvBiI2HlWgH4olfQ2:" \
--data-urlencode success_url="https://example.com/success" \
-d "line_items[0][price]"=price_1MotwRLkdIwHu7ixYcPLm5uZ \
-d "line_items[0][quantity]"=2 \
-d mode=payment
Response
{
"id": "cs_test_a11YYufWQzNY63zpQ6QSNRQhkUpVph4WRmzW0zWJO2znZKdVujZ0N0S22u",
"object": "checkout.session",
"after_expiration": null,
"allow_promotion_codes": null,
"amount_subtotal": 2198,
"amount_total": 2198,
"automatic_tax": {
"enabled": false,
"liability": null,
"status": null
},
"billing_address_collection": null,
"cancel_url": null,
"client_reference_id": null,
"consent": null,
"consent_collection": null,
"created": 1679600215,
"currency": "usd",
"custom_fields": [],
"custom_text": {
"shipping_address": null,
"submit": null
},
"customer": null,
"customer_creation": "if_required",
"customer_details": null,
"customer_email": null,
"expires_at": 1679686615,
"invoice": null,
"invoice_creation": {
"enabled": false,
"invoice_data": {
"account_tax_ids": null,
"custom_fields": null,
"description": null,
"footer": null,
"issuer": null,
"metadata": {},
"rendering_options": null
}
},
"livemode": false,
"locale": null,
"metadata": {},
"mode": "payment",
"payment_intent": null,
"payment_link": null,
"payment_method_collection": "always",
"payment_method_options": {},
"payment_method_types": [
"card"
],
"payment_status": "unpaid",
"phone_number_collection": {
"enabled": false
},
"recovered_from": null,
"setup_intent": null,
"shipping_address_collection": null,
"shipping_cost": null,
"shipping_details": null,
"shipping_options": [],
"status": "open",
"submit_type": null,
"subscription": null,
"success_url": "https://example.com/success",
"total_details": {
"amount_discount": 0,
"amount_shipping": 0,
"amount_tax": 0
},
"url": "https://checkout.stripe.com/c/pay/cs_test_a11YYufWQzNY63zpQ6QSNRQhkUpVph4WRmzW0zWJO2znZKdVujZ0N0S22u#fidkdWxOYHwnPyd1blpxYHZxWjA0SDdPUW5JbmFMck1wMmx9N2BLZjFEfGRUNWhqTmJ%2FM2F8bUA2SDRySkFdUV81T1BSV0YxcWJcTUJcYW5rSzN3dzBLPUE0TzRKTTxzNFBjPWZEX1NKSkxpNTVjRjN8VHE0YicpJ2N3amhWYHdzYHcnP3F3cGApJ2lkfGpwcVF8dWAnPyd2bGtiaWBabHFgaCcpJ2BrZGdpYFVpZGZgbWppYWB3dic%2FcXdwYHgl"
}

Updates a Checkout Session object.

Parameters

  • metadatadictionary

    Set of key-value pairs that you can attach to an object. This can be useful for storing additional information about the object in a structured format. Individual keys can be unset by posting an empty value to them. All keys can be unset by posting an empty value to metadata.

More parameters

  • collected_informationdictionary

  • shipping_optionsarray of dictionaries

Returns

Returns a Checkout Session object.

POST /v1/checkout/sessions/:id
curl https://api.stripe.com/v1/checkout/sessions/cs_test_a11YYufWQzNY63zpQ6QSNRQhkUpVph4WRmzW0zWJO2znZKdVujZ0N0S22u \
-u "sk_test_BQokikJ...2HlWgH4olfQ2sk_test_BQokikJOvBiI2HlWgH4olfQ2:" \
-d "metadata[order_id]"=6735
Response
{
"id": "cs_test_a11YYufWQzNY63zpQ6QSNRQhkUpVph4WRmzW0zWJO2znZKdVujZ0N0S22u",
"object": "checkout.session",
"after_expiration": null,
"allow_promotion_codes": null,
"amount_subtotal": 2198,
"amount_total": 2198,
"automatic_tax": {
"enabled": false,
"liability": null,
"status": null
},
"billing_address_collection": null,
"cancel_url": null,
"client_reference_id": null,
"consent": null,
"consent_collection": null,
"created": 1679600215,
"currency": "usd",
"custom_fields": [],
"custom_text": {
"shipping_address": null,
"submit": null
},
"customer": null,
"customer_creation": "if_required",
"customer_details": null,
"customer_email": null,
"expires_at": 1679686615,
"invoice": null,
"invoice_creation": {
"enabled": false,
"invoice_data": {
"account_tax_ids": null,
"custom_fields": null,
"description": null,
"footer": null,
"issuer": null,
"metadata": {},
"rendering_options": null
}
},
"livemode": false,
"locale": null,
"metadata": {
"order_id": "6735"
},
"mode": "payment",
"payment_intent": null,
"payment_link": null,
"payment_method_collection": "always",
"payment_method_options": {},
"payment_method_types": [
"card"
],
"payment_status": "unpaid",
"phone_number_collection": {
"enabled": false
},
"recovered_from": null,
"setup_intent": null,
"shipping_address_collection": null,
"shipping_cost": null,
"shipping_details": null,
"shipping_options": [],
"status": "open",
"submit_type": null,
"subscription": null,
"success_url": "https://example.com/success",
"total_details": {
"amount_discount": 0,
"amount_shipping": 0,
"amount_tax": 0
},
"url": "https://checkout.stripe.com/c/pay/cs_test_a11YYufWQzNY63zpQ6QSNRQhkUpVph4WRmzW0zWJO2znZKdVujZ0N0S22u#fidkdWxOYHwnPyd1blpxYHZxWjA0SDdPUW5JbmFMck1wMmx9N2BLZjFEfGRUNWhqTmJ%2FM2F8bUA2SDRySkFdUV81T1BSV0YxcWJcTUJcYW5rSzN3dzBLPUE0TzRKTTxzNFBjPWZEX1NKSkxpNTVjRjN8VHE0YicpJ2N3amhWYHdzYHcnP3F3cGApJ2lkfGpwcVF8dWAnPyd2bGtiaWBabHFgaCcpJ2BrZGdpYFVpZGZgbWppYWB3dic%2FcXdwYHgl"
}

Retrieves a Checkout Session object.

Parameters

No parameters.

Returns

Returns a Checkout Session object.

GET /v1/checkout/sessions/:id
curl https://api.stripe.com/v1/checkout/sessions/cs_test_a11YYufWQzNY63zpQ6QSNRQhkUpVph4WRmzW0zWJO2znZKdVujZ0N0S22u \
-u "sk_test_BQokikJ...2HlWgH4olfQ2sk_test_BQokikJOvBiI2HlWgH4olfQ2:"
Response
{
"id": "cs_test_a11YYufWQzNY63zpQ6QSNRQhkUpVph4WRmzW0zWJO2znZKdVujZ0N0S22u",
"object": "checkout.session",
"after_expiration": null,
"allow_promotion_codes": null,
"amount_subtotal": 2198,
"amount_total": 2198,
"automatic_tax": {
"enabled": false,
"liability": null,
"status": null
},
"billing_address_collection": null,
"cancel_url": null,
"client_reference_id": null,
"consent": null,
"consent_collection": null,
"created": 1679600215,
"currency": "usd",
"custom_fields": [],
"custom_text": {
"shipping_address": null,
"submit": null
},
"customer": null,
"customer_creation": "if_required",
"customer_details": null,
"customer_email": null,
"expires_at": 1679686615,
"invoice": null,
"invoice_creation": {
"enabled": false,
"invoice_data": {
"account_tax_ids": null,
"custom_fields": null,
"description": null,
"footer": null,
"issuer": null,
"metadata": {},
"rendering_options": null
}
},
"livemode": false,
"locale": null,
"metadata": {},
"mode": "payment",
"payment_intent": null,
"payment_link": null,
"payment_method_collection": "always",
"payment_method_options": {},
"payment_method_types": [
"card"
],
"payment_status": "unpaid",
"phone_number_collection": {
"enabled": false
},
"recovered_from": null,
"setup_intent": null,
"shipping_address_collection": null,
"shipping_cost": null,
"shipping_details": null,
"shipping_options": [],
"status": "open",
"submit_type": null,
"subscription": null,
"success_url": "https://example.com/success",
"total_details": {
"amount_discount": 0,
"amount_shipping": 0,
"amount_tax": 0
},
"url": "https://checkout.stripe.com/c/pay/cs_test_a11YYufWQzNY63zpQ6QSNRQhkUpVph4WRmzW0zWJO2znZKdVujZ0N0S22u#fidkdWxOYHwnPyd1blpxYHZxWjA0SDdPUW5JbmFMck1wMmx9N2BLZjFEfGRUNWhqTmJ%2FM2F8bUA2SDRySkFdUV81T1BSV0YxcWJcTUJcYW5rSzN3dzBLPUE0TzRKTTxzNFBjPWZEX1NKSkxpNTVjRjN8VHE0YicpJ2N3amhWYHdzYHcnP3F3cGApJ2lkfGpwcVF8dWAnPyd2bGtiaWBabHFgaCcpJ2BrZGdpYFVpZGZgbWppYWB3dic%2FcXdwYHgl"
}

When retrieving a Checkout Session, there is an includable line_items property containing the first handful of those items. There is also a URL where you can retrieve the full (paginated) list of line items.

Parameters

No parameters.

More parameters

  • ending_beforestring

  • limitinteger

  • starting_afterstring

Returns

A dictionary with a data property that contains an array of up to limit Checkout Session line items, starting after Line Item starting_after. Each entry in the array is a separate Line Item object. If no more line items are available, the resulting array will be empty.

GET /v1/checkout/sessions/:id/line_items
curl https://api.stripe.com/v1/checkout/sessions/cs_test_a1enSAC01IA3Ps2vL32mNoWKMCNmmfUGTeEeHXI5tLCvyFNGsdG2UNA7mr/line_items \
-u "sk_test_BQokikJ...2HlWgH4olfQ2sk_test_BQokikJOvBiI2HlWgH4olfQ2:"
Response
{
"object": "list",
"data": [
{
"id": "li_1N4BEoLkdIwHu7ixWtXug1yk",
"object": "item",
"amount_discount": 0,
"amount_subtotal": 2198,
"amount_tax": 0,
"amount_total": 2198,
"currency": "usd",
"description": "T-shirt",
"price": {
"id": "price_1N4AEsLkdIwHu7ix7Ssho8Cl",
"object": "price",
"active": true,
"billing_scheme": "per_unit",
"created": 1683237782,
"currency": "usd",
"custom_unit_amount": null,
"livemode": false,
"lookup_key": null,
"metadata": {},
"nickname": null,
"product": "prod_NppuJWzzNnD5Ut",
"recurring": null,
"tax_behavior": "unspecified",
"tiers_mode": null,
"transform_quantity": null,
"type": "one_time",
"unit_amount": 1099,
"unit_amount_decimal": "1099"
},
"quantity": 2
}
],
"has_more": false,
"url": "/v1/checkout/sessions/cs_test_a1enSAC01IA3Ps2vL32mNoWKMCNmmfUGTeEeHXI5tLCvyFNGsdG2UNA7mr/line_items"
}