Defines the object schema located at components.schemas.checkout.session in the specification.
A Checkout Session represents your customer's session as they pay for one-time purchases or subscriptions through Checkout or Payment Links. 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, and either the successful PaymentIntent or an active Subscription.
You can create a Checkout Session on your server and pass its ID to the client to begin Checkout.
Related guide: Checkout Server Quickstart.
Constructors
Checkout'sessioncheckout'sessionAfterExpiration :: Maybe (Nullable Checkout'sessionAfterExpiration'NonNullable)after_expiration: When set, provides configuration for actions to take if this Checkout Session expires.
checkout'sessionAllowPromotionCodes :: Maybe (Nullable Bool)allow_promotion_codes: Enables user redeemable promotion codes.
checkout'sessionAmountSubtotal :: Maybe (Nullable Int)amount_subtotal: Total of all items before discounts or taxes are applied.
checkout'sessionAmountTotal :: Maybe (Nullable Int)amount_total: Total of all items after discounts and taxes are applied.
checkout'sessionAutomaticTax :: PaymentPagesCheckoutSessionAutomaticTaxautomatic_tax:
checkout'sessionBillingAddressCollection :: Maybe (Nullable Checkout'sessionBillingAddressCollection'NonNullable)billing_address_collection: Describes whether Checkout should collect the customer's billing address.
checkout'sessionCancelUrl :: Textcancel_url: The URL the customer will be directed to if they decide to cancel payment and return to your website.
Constraints:
Maximum length of 5000
checkout'sessionClientReferenceId :: Maybe (Nullable Text)client_reference_id: 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.
Constraints:
Maximum length of 5000
checkout'sessionConsent :: Maybe (Nullable Checkout'sessionConsent'NonNullable)consent: Results of `consent_collection` for this session.
checkout'sessionConsentCollection :: Maybe (Nullable Checkout'sessionConsentCollection'NonNullable)consent_collection: When set, provides configuration for the Checkout Session to gather active consent from customers.
checkout'sessionCurrency :: Maybe (Nullable Text)currency: Three-letter ISO currency code, in lowercase. Must be a supported currency.
checkout'sessionCustomer :: Maybe (Nullable Checkout'sessionCustomer'NonNullableVariants)customer: The ID of the customer for this Session. For Checkout Sessions in `payment` or `subscription` 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.
checkout'sessionCustomerCreation :: Maybe (Nullable Checkout'sessionCustomerCreation'NonNullable)customer_creation: Configure whether a Checkout Session creates a Customer when the Checkout Session completes.
checkout'sessionCustomerDetails :: Maybe (Nullable Checkout'sessionCustomerDetails'NonNullable)customer_details: The customer details including the customer's tax exempt status and the customer's tax IDs. Only present on Sessions in `payment` or `subscription` mode.
checkout'sessionCustomerEmail :: Maybe (Nullable Text)customer_email: 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.
Constraints:
Maximum length of 5000
checkout'sessionExpiresAt :: Intexpires_at: The timestamp at which the Checkout Session will expire.
checkout'sessionId :: Textid: Unique identifier for the object. Used to pass to `redirectToCheckout` in Stripe.js.
Constraints:
Maximum length of 5000
checkout'sessionLineItems :: Maybe Checkout'sessionLineItems'line_items: The line items purchased by the customer.
checkout'sessionLivemode :: Boollivemode: Has the value `true` if the object exists in live mode or the value `false` if the object exists in test mode.
checkout'sessionLocale :: Maybe (Nullable Checkout'sessionLocale'NonNullable)locale: The IETF language tag of the locale Checkout is displayed in. If blank or `auto`, the browser's locale is used.
checkout'sessionMetadata :: Maybe (Nullable Object)metadata: 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.
checkout'sessionMode :: Checkout'sessionMode'mode: The mode of the Checkout Session.
checkout'sessionPaymentIntent :: Maybe (Nullable Checkout'sessionPaymentIntent'NonNullableVariants)payment_intent: The ID of the PaymentIntent for Checkout Sessions in `payment` mode.
checkout'sessionPaymentLink :: Maybe (Nullable Checkout'sessionPaymentLink'NonNullableVariants)payment_link: The ID of the Payment Link that created this Session.
checkout'sessionPaymentMethodOptions :: Maybe (Nullable Checkout'sessionPaymentMethodOptions'NonNullable)payment_method_options: Payment-method-specific configuration for the PaymentIntent or SetupIntent of this CheckoutSession.
checkout'sessionPaymentMethodTypes :: [Text]payment_method_types: A list of the types of payment methods (e.g. card) this Checkout Session is allowed to accept.
checkout'sessionPaymentStatus :: Checkout'sessionPaymentStatus'payment_status: 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.
checkout'sessionPhoneNumberCollection :: Maybe PaymentPagesCheckoutSessionPhoneNumberCollectionphone_number_collection:
checkout'sessionRecoveredFrom :: Maybe (Nullable Text)recovered_from: The ID of the original expired Checkout Session that triggered the recovery flow.
Constraints:
Maximum length of 5000
checkout'sessionSetupIntent :: Maybe (Nullable Checkout'sessionSetupIntent'NonNullableVariants)setup_intent: The ID of the SetupIntent for Checkout Sessions in `setup` mode.
checkout'sessionShipping :: Maybe (Nullable Checkout'sessionShipping'NonNullable)shipping: Shipping information for this Checkout Session.
checkout'sessionShippingAddressCollection :: Maybe (Nullable Checkout'sessionShippingAddressCollection'NonNullable)shipping_address_collection: When set, provides configuration for Checkout to collect a shipping address from a customer.
checkout'sessionShippingOptions :: [PaymentPagesCheckoutSessionShippingOption]shipping_options: The shipping rate options applied to this Session.
checkout'sessionShippingRate :: Maybe (Nullable Checkout'sessionShippingRate'NonNullableVariants)shipping_rate: The ID of the ShippingRate for Checkout Sessions in `payment` mode.
checkout'sessionStatus :: Maybe (Nullable Checkout'sessionStatus'NonNullable)status: The status of the Checkout Session, one of `open`, `complete`, or `expired`.
checkout'sessionSubmitType :: Maybe (Nullable Checkout'sessionSubmitType'NonNullable)submit_type: Describes the type of transaction being performed by Checkout in order to customize relevant text on the page, such as the submit button. `submit_type` can only be specified on Checkout Sessions in `payment` mode, but not Checkout Sessions in `subscription` or `setup` mode.
checkout'sessionSubscription :: Maybe (Nullable Checkout'sessionSubscription'NonNullableVariants)subscription: The ID of the subscription for Checkout Sessions in `subscription` mode.
checkout'sessionSuccessUrl :: Textsuccess_url: The URL the customer will be directed to after the payment or subscription creation is successful.
Constraints:
Maximum length of 5000
checkout'sessionTaxIdCollection :: Maybe PaymentPagesCheckoutSessionTaxIdCollectiontax_id_collection:
checkout'sessionTotalDetails :: Maybe (Nullable Checkout'sessionTotalDetails'NonNullable)total_details: Tax and discount details for the computed total amount.
checkout'sessionUrl :: Maybe (Nullable Text)url: The URL to the Checkout Session. 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.`
Constraints:
Maximum length of 5000
Instances4Eq, Show, FromJSON, ToJSON
Eq Checkout'sessionDefined in stripeapi-3.0.0.0 · StripeAPI.Types.Checkout_SessionShow Checkout'sessionDefined in stripeapi-3.0.0.0 · StripeAPI.Types.Checkout_SessionFromJSON Checkout'sessionDefined in stripeapi-3.0.0.0 · StripeAPI.Types.Checkout_SessionToJSON Checkout'sessionDefined in stripeapi-3.0.0.0 · StripeAPI.Types.Checkout_Session