The Checkout Session object
A Checkout Session represents your customer's session as they pay for one-time purchases or subscriptions through Checkout or Payment Links. Create a new Session each time your customer attempts to pay. Once payment succeeds, the Session references the Customer and either the successful PaymentIntent or an active Subscription. Create a Session on your server and redirect to its url to begin Checkout.
Attributes
Total of all items before discounts or taxes are applied, in the smallest currency unit.
Total of all items after discounts and taxes are applied, in the smallest currency unit.
If set, Checkout displays a back button and customers are directed to this URL if they decide to cancel payment.
Three-letter ISO currency code, in lowercase. For Zoneless, this is usdc.
Difference from Stripe: Zoneless settles in USDC on Solana rather than fiat currencies.
The ID of the Customer for this Session. For Checkout Sessions in subscription mode, or in payment mode with customer_creation set to always, Checkout creates a new Customer unless an existing one was provided.
If provided, this value is used to prefill the customer's email at Checkout. Use this if you already have an email on file.
The line items purchased by the customer. Not returned by default; expand this field with the expand request parameter to include it.
If the object exists in live mode, the value is true. If the object exists in test mode, the value is false.
Set of key-value pairs that you can attach to an object. Useful for storing additional information in a structured format.
The mode of the Checkout Session.
paymentAccept a one-time USDC payment for goods or services.setupSave a customer's Solana wallet to charge them later, without collecting payment now.subscriptionUse Checkout to set up a recurring USDC subscription.The ID of the PaymentIntent for Checkout Sessions in payment mode. You can't confirm or cancel the PaymentIntent for a Checkout Session directly; expire the Checkout Session instead.
Payment-method-specific configuration for the PaymentIntent or SetupIntent generated by this Session.
Difference from Stripe: Zoneless exposes only the crypto options bag for USDC wallet payments.
The list of payment method types this Checkout Session is allowed to accept.
Difference from Stripe: Zoneless currently accepts crypto (USDC on Solana) rather than cards or other fiat rails.
The payment status of the Checkout Session. Use this value to decide when to fulfill your customer's order.
no_payment_requiredThe Session does not require payment, such as a fully-discounted subscription.paidPayment for the Session has completed.unpaidPayment for the Session has not yet completed.The status of the Checkout Session.
completeThe checkout was completed. Payment processing may still be in progress.expiredThe checkout expired before the customer completed payment.openThe checkout is still in progress. Customer information is being collected.The ID of the Subscription for Checkout Sessions in subscription mode. You can't confirm or cancel the Subscription for a Checkout Session directly; expire the Checkout Session instead.
The URL the customer is directed to after the payment or subscription creation is successful.
The UI mode of the Session. Defaults to hosted_page.
elementsembedded_pagehosted_page(Default) A full-page hosted Checkout experience at url.The URL to the Checkout Session. Applies to Sessions with ui_mode: hosted_page. Redirect customers to this URL to take them to Checkout. Only present while the session is open.
The platform account that owns this resource. For connected account resources, this is the platform's account ID. For the platform's own resources, this equals the account field (self-referential).
Zoneless extension: This field is not present in Stripe's API. It enables multi-tenant operation.
Opaque slug used in the hosted checkout URL (/c/{url_slug}). Distinct from id so shareable links do not expose the API object ID.
Zoneless extension: This field is not present in Stripe's API.
{
"id": "cs_z_a8KmQ2vLpR5wT9bHxJcFnW4uY",
"object": "checkout.session",
"after_expiration": null,
"allow_promotion_codes": null,
"amount_subtotal": 4598,
"amount_total": 4598,
"automatic_tax": {
"enabled": false,
"liability": null,
"provider": null,
"status": null
},
"billing_address_collection": null,
"branding_settings": null,
"cancel_url": null,
"client_reference_id": null,
"client_secret": null,
"collected_information": null,
"consent": null,
"consent_collection": null,
"created": 1723910400,
"currency": "usdc",
"custom_fields": [],
"custom_text": {
"after_submit": null,
"shipping_address": null,
"submit": null,
"terms_of_service_acceptance": null
},
"customer": null,
"customer_account": null,
"customer_creation": "if_required",
"customer_details": null,
"customer_email": null,
"discounts": null,
"expires_at": 1723996800,
"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": {
"crypto": {}
},
"payment_method_types": [
"crypto"
],
"payment_status": "unpaid",
"phone_number_collection": {
"enabled": false
},
"recovered_from": null,
"setup_intent": null,
"shipping_address_collection": null,
"shipping_cost": null,
"shipping_options": [],
"status": "open",
"submit_type": null,
"subscription": null,
"success_url": "https://shop.example.com/order/complete",
"total_details": {
"amount_discount": 0,
"amount_shipping": 0,
"amount_tax": 0
},
"ui_mode": "hosted_page",
"url": "https://checkout.yourdomain.com/c/x7k9m2p4q8",
"return_url": null,
"platform_account": "acct_z_Platform123abc",
"url_slug": "x7k9m2p4q8",
"payment_details": null
}