Stripe: Checkout schemas (part 1)
46 Stripe schemas with complete fields and constraints.
← Checkout operations · All schemas
Create a Checkout Session — request body — body payment method options customer balance
| Field | Type | Presence | Description and constraints |
|---|---|---|---|
$ | object | Root | |
bank_transfer | object | Optional | |
bank_transfer.eu_bank_transfer | object | Optional | |
bank_transfer.eu_bank_transfer.country | string | Required within parent | Maximum length: 5000 |
bank_transfer.requested_address_types | array | Optional | |
bank_transfer.requested_address_types[] | string | Each item | One of: aba, iban, sepa, sort_code, spei, swift, zengin |
bank_transfer.type | string | Required within parent | One of: eu_bank_transfer, gb_bank_transfer, jp_bank_transfer, mx_bank_transfer, us_bank_transfer |
funding_type | string | Optional | One of: bank_transfer |
setup_future_usage | string | Optional | One of: none |
Create a Checkout Session — request body — body payment method options paypal
| Field | Type | Presence | Description and constraints |
|---|---|---|---|
$ | object | Root | |
capture_method | string | Optional | One of: , manual |
preferred_locale | string | Optional | One of: cs-CZ, da-DK, de-AT, de-DE, de-LU, el-GR, en-GB, en-US, es-ES, fi-FI, fr-BE, fr-FR, fr-LU, hu-HU, it-IT, nl-BE, nl-NL, pl-PL, pt-PT, sk-SK, sv-SE |
reference | string | Optional | Maximum length: 127 |
risk_correlation_id | string | Optional | Maximum length: 32 |
setup_future_usage | string | Optional | One of: , none, off_session |
Create a Checkout Session — request body — body shipping options item
| Field | Type | Presence | Description and constraints |
|---|---|---|---|
$ | object | Root | |
shipping_rate | string | Optional | Maximum length: 5000 |
shipping_rate_data | Model | Optional | Expand Create an invoice — request body — body shipping cost shipping rate data |
Referenced models: Create an invoice — request body — body shipping cost shipping rate data
Create a Checkout Session — response body
| Field | Type | Presence | Description and constraints |
|---|---|---|---|
$ | object | Root | A Checkout Session represents your customer's session as they pay for one-time purchases or subscriptions through [Checkout](https://docs.stripe.com/payments/checkout) or [Payment Links](https://docs.stripe.com/payments/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](https://docs.stripe.com/api/customers), and either the successful [PaymentIntent](https://docs.stripe.com/api/payment_intents) or an active [Subscription](https://docs.stripe.com/api/subscriptions). 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/checkout/quickstart) |
adaptive_pricing | JSON | Optional | |
adaptive_pricing (anyOf 1) | JSON | Alternative | Settings for price localization with [Adaptive Pricing](https://docs.stripe.com/payments/checkout/adaptive-pricing). |
adaptive_pricing (anyOf 1) (anyOf 1) | Model | Alternative | Expand Create a Checkout Session — response body — adaptive pricing value enabled |
adaptive_pricing (anyOf 2) | null | Alternative | |
after_expiration | JSON | Optional | |
after_expiration (anyOf 1) | JSON | Alternative | When set, provides configuration for actions to take if this Checkout Session expires. |
after_expiration (anyOf 1) (anyOf 1) | Model | Alternative | Expand Create a Checkout Session — response body — after expiration value recovery |
after_expiration (anyOf 2) | null | Alternative | |
allow_promotion_codes | JSON | Optional | |
allow_promotion_codes (anyOf 1) | boolean | Alternative | Enables user redeemable promotion codes. |
allow_promotion_codes (anyOf 2) | null | Alternative | |
allowed_payment_method_types | JSON | Optional | |
allowed_payment_method_types (anyOf 1) | array | Alternative | A list of the types of payment methods (e.g., `card`) this Checkout Session can accept. |
allowed_payment_method_types (anyOf 1)[] | string | Each item | Maximum length: 5000 |
allowed_payment_method_types (anyOf 2) | null | Alternative | |
amount_subtotal | JSON | Optional | |
amount_subtotal (anyOf 1) | JSON | Alternative | |
amount_subtotal (anyOf 1) (anyOf 1) | integer | Alternative | Total of all items before discounts or taxes are applied. |
amount_subtotal (anyOf 1) (anyOf 2) | string | Alternative | Pattern: ^-?[0-9]+(?:\.[0-9]+)?(?:[eE][+-]?[0-9]+)?$ |
amount_subtotal (anyOf 2) | null | Alternative | |
amount_total | JSON | Optional | |
amount_total (anyOf 1) | JSON | Alternative | |
amount_total (anyOf 1) (anyOf 1) | integer | Alternative | Total of all items after discounts and taxes are applied. |
amount_total (anyOf 1) (anyOf 2) | string | Alternative | Pattern: ^-?[0-9]+(?:\.[0-9]+)?(?:[eE][+-]?[0-9]+)?$ |
amount_total (anyOf 2) | null | Alternative | |
automatic_tax | Model | Required within parent | Expand Create a Checkout Session — response body — automatic tax |
billing_address_collection | JSON | Optional | |
billing_address_collection (anyOf 1) | string | Alternative | Describes whether Checkout should collect the customer's billing address. Defaults to `auto`. Known values: auto, required |
billing_address_collection (anyOf 2) | null | Alternative | |
branding_settings | Model | Optional | Expand Create a Checkout Session — response body — branding settings |
cancel_url | JSON | Optional | |
cancel_url (anyOf 1) | string | Alternative | If set, Checkout displays a back button and customers will be directed to this URL if they decide to cancel payment and return to your website. Maximum length: 5000 |
cancel_url (anyOf 2) | null | Alternative | |
client_reference_id | JSON | Optional | |
client_reference_id (anyOf 1) | string | Alternative | 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. Maximum length: 5000 |
client_reference_id (anyOf 2) | null | Alternative | |
client_secret | JSON | Optional | |
client_secret (anyOf 1) | string | Alternative | The client secret of your Checkout Session. Applies to Checkout Sessions with `ui_mode: embedded_page` or `ui_mode: elements`. For `ui_mode: embedded_page`, the client secret is to be used when initializing Stripe.js embedded checkout. For `ui_mode: elements`, use the client secret with [initCheckout](https://docs.stripe.com/js/custom_checkout/init) on your front end. Maximum length: 5000 |
client_secret (anyOf 2) | null | Alternative | |
collected_information | JSON | Optional | |
collected_information (anyOf 1) | JSON | Alternative | Information about the customer collected within the Checkout Session. |
collected_information (anyOf 1) (anyOf 1) | Model | Alternative | Expand Create a Checkout Session — response body — collected information value business name, individual name, shipping details |
collected_information (anyOf 2) | null | Alternative | |
consent | JSON | Optional | |
consent (anyOf 1) | JSON | Alternative | Results of `consent_collection` for this session. |
consent (anyOf 1) (anyOf 1) | Model | Alternative | Expand Create a Checkout Session — response body — consent Results of `consent collection` for this session promotions, terms of service |
consent (anyOf 2) | null | Alternative | |
consent_collection | JSON | Optional | |
consent_collection (anyOf 1) | JSON | Alternative | When set, provides configuration for the Checkout Session to gather active consent from customers. |
consent_collection (anyOf 1) (anyOf 1) | Model | Alternative | Expand Create a Checkout Session — response body — consent collection value payment method reuse agreement, promotions, terms of service |
consent_collection (anyOf 2) | null | Alternative | |
created | JSON | Required within parent | |
created (anyOf 1) | integer | Alternative | Time at which the object was created. Measured in seconds since the Unix epoch. Format: unix-time |
created (anyOf 2) | string | Alternative | Pattern: ^-?[0-9]+(?:\.[0-9]+)?(?:[eE][+-]?[0-9]+)?$ |
currency | JSON | Optional | |
currency (anyOf 1) | string | Alternative | Three-letter [ISO currency code](https://www.iso.org/iso-4217-currency-codes.html), in lowercase. Must be a [supported currency](https://stripe.com/docs/currencies). Format: currency |
currency (anyOf 2) | null | Alternative | |
currency_conversion | JSON | Optional | |
currency_conversion (anyOf 1) | JSON | Alternative | Currency conversion details for [Adaptive Pricing](https://docs.stripe.com/payments/checkout/adaptive-pricing) sessions created before 2025-03-31. |
currency_conversion (anyOf 1) (anyOf 1) | Model | Alternative | Expand Create a Checkout Session — response body — currency conversion value amount subtotal, amount total, fx rate, source currency |
currency_conversion (anyOf 2) | null | Alternative | |
custom_fields | array | Required within parent | Collect additional information from your customer using custom fields. Up to 3 fields are supported. You can't set this parameter if `ui_mode` is `elements`. |
custom_fields[] | Model | Each item | Expand Create a Checkout Session — response body — custom fields item |
custom_text | Model | Required within parent | Expand Create a payment link — response body — custom text |
customer | JSON | Optional | |
customer (anyOf 1) | JSON | Alternative | 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 (anyOf 1) (anyOf 1) | string | Alternative | Maximum length: 5000 |
customer (anyOf 1) (anyOf 2) | Model | Alternative | Expand Create a customer — response body |
customer (anyOf 1) (anyOf 3) | Model | Alternative | Expand Delete a customer — response body |
customer (anyOf 2) | null | Alternative | |
customer_account | JSON | Optional | |
customer_account (anyOf 1) | string | Alternative | The ID of the account for this Session. Maximum length: 5000 |
customer_account (anyOf 2) | null | Alternative | |
customer_creation | JSON | Optional | |
customer_creation (anyOf 1) | string | Alternative | Configure whether a Checkout Session creates a Customer when the Checkout Session completes. Known values: always, if_required |
customer_creation (anyOf 2) | null | Alternative | |
customer_details | JSON | Optional | |
customer_details (anyOf 1) | JSON | Alternative | The customer details including the customer's tax exempt status and the customer's tax IDs. Customer's address details are not present on Sessions in `setup` mode. |
customer_details (anyOf 1) (anyOf 1) | Model | Alternative | Expand Create a Checkout Session — response body — customer details value address, business name, email, individual name, name, phone, tax exempt, tax ids |
customer_details (anyOf 2) | null | Alternative | |
customer_email | JSON | Optional | |
customer_email (anyOf 1) | string | Alternative | 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. Maximum length: 5000 |
customer_email (anyOf 2) | null | Alternative | |
discounts | JSON | Optional | |
discounts (anyOf 1) | array | Alternative | List of coupons and promotion codes attached to the Checkout Session. |
discounts (anyOf 1)[] | Model | Each item | Expand Create a Checkout Session — response body — discounts array item |
discounts (anyOf 2) | null | Alternative | |
excluded_payment_method_types | array | Optional | A list of the types of payment methods (e.g., `card`) that should be excluded from this Checkout Session. This should only be used when payment methods for this Checkout Session are managed through the [Stripe Dashboard](https://dashboard.stripe.com/settings/payment_methods). |
excluded_payment_method_types[] | string | Each item | Maximum length: 5000 |
expires_at | JSON | Required within parent | |
expires_at (anyOf 1) | integer | Alternative | The timestamp at which the Checkout Session will expire. Format: unix-time |
expires_at (anyOf 2) | string | Alternative | Pattern: ^-?[0-9]+(?:\.[0-9]+)?(?:[eE][+-]?[0-9]+)?$ |
id | string | Required within parent | Unique identifier for the object. Maximum length: 5000 |
integration_identifier | JSON | Optional | |
integration_identifier (anyOf 1) | string | Alternative | The integration identifier for this Checkout Session. Multiple Checkout Sessions can have the same integration identifier. Maximum length: 5000 |
integration_identifier (anyOf 2) | null | Alternative | |
invoice | JSON | Optional | |
invoice (anyOf 1) | JSON | Alternative | ID of the invoice created by the Checkout Session, if it exists. |
invoice (anyOf 1) (anyOf 1) | string | Alternative | Maximum length: 5000 |
invoice (anyOf 1) (anyOf 2) | Model | Alternative | Expand Pay an invoice — response body |
invoice (anyOf 2) | null | Alternative | |
invoice_creation | JSON | Optional | |
invoice_creation (anyOf 1) | JSON | Alternative | Details on the state of invoice creation for the Checkout Session. |
invoice_creation (anyOf 1) (anyOf 1) | Model | Alternative | Expand Create a Checkout Session — response body — invoice creation value enabled, invoice data |
invoice_creation (anyOf 2) | null | Alternative | |
line_items | object | Optional | The line items purchased by the customer. |
line_items.data | array | Required within parent | Details about each object. |
line_items.data[] | Model | Each item | Expand Retrieve a quote's line items — response body — data item |
line_items.has_more | boolean | Required within parent | True if this list has another page of items after this one that can be fetched. |
line_items.object | string | Required within parent | String representing the object's type. Objects of the same type share the same value. Always has the value `list`. Known values: list |
line_items.url | string | Required within parent | The URL where this list can be accessed. Maximum length: 5000 |
livemode | boolean | Required within parent | If the object exists in live mode, the value is `true`. If the object exists in test mode, the value is `false`. |
locale | JSON | Optional | |
locale (anyOf 1) | string | Alternative | The IETF language tag of the locale Checkout is displayed in. If blank or `auto`, the browser's locale is used. Known values: auto, bg, cs, da, de, el, en, en-GB, es, es-419, et, fi, fil, fr, fr-CA, hr, hu, id, it, ja, ko, lt, lv, ms, mt, nb, nl, pl, pt, pt-BR, ro, ru, sk, sl, sv, th, tr, vi, zh, zh-HK, zh-TW |
locale (anyOf 2) | null | Alternative | |
managed_payments | JSON | Optional | |
managed_payments (anyOf 1) | JSON | Alternative | Settings for Managed Payments for this Checkout Session and resulting [PaymentIntents](/api/payment_intents/object), [Invoices](/api/invoices/object), and [Subscriptions](/api/subscriptions/object). |
managed_payments (anyOf 1) (anyOf 1) | Model | Alternative | Expand Cancel a Setup Intent — response body — managed payments value enabled |
managed_payments (anyOf 2) | null | Alternative | |
metadata | JSON | Optional | |
metadata (anyOf 1) | object | Alternative | Set of [key-value pairs](https://docs.stripe.com/api/metadata) that you can attach to an object. This can be useful for storing additional information about the object in a structured format. Additional keys: see wildcard field |
metadata (anyOf 1).* | string | Additional keys | Maximum length: 500 |
metadata (anyOf 2) | null | Alternative | |
mode | string | Required within parent | The mode of the Checkout Session. Known values: payment, setup, subscription |
name_collection | Model | Optional | Expand Create a Checkout Session — response body — name collection |
object | string | Required within parent | String representing the object's type. Objects of the same type share the same value. Known values: checkout.session |
optional_items | JSON | Optional | |
optional_items (anyOf 1) | array | Alternative | The optional items presented to the customer at checkout. |
optional_items (anyOf 1)[] | Model | Each item | Expand Create a Checkout Session — response body — optional items array item |
optional_items (anyOf 2) | null | Alternative | |
origin_context | JSON | Optional | |
origin_context (anyOf 1) | string | Alternative | Where the user is coming from. This informs the optimizations that are applied to the session. Known values: mobile_app, web |
origin_context (anyOf 2) | null | Alternative | |
payment_intent | JSON | Optional | |
payment_intent (anyOf 1) | JSON | Alternative | 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](https://docs.stripe.com/api/checkout/sessions/expire) instead. |
payment_intent (anyOf 1) (anyOf 1) | string | Alternative | Maximum length: 5000 |
payment_intent (anyOf 1) (anyOf 2) | Model | Alternative | Expand Cancel a Payment Intent — response body |
payment_intent (anyOf 2) | null | Alternative | |
payment_link | JSON | Optional | |
payment_link (anyOf 1) | JSON | Alternative | The ID of the Payment Link that created this Session. |
payment_link (anyOf 1) (anyOf 1) | string | Alternative | Maximum length: 5000 |
payment_link (anyOf 1) (anyOf 2) | Model | Alternative | Expand Create a payment link — response body |
payment_link (anyOf 2) | null | Alternative | |
payment_method_collection | JSON | Optional | |
payment_method_collection (anyOf 1) | string | Alternative | Configure whether a Checkout Session should collect a payment method for sessions with mode `payment`. Defaults to `always`. Known values: always, if_required |
payment_method_collection (anyOf 2) | null | Alternative | |
payment_method_configuration_details | JSON | Optional | |
payment_method_configuration_details (anyOf 1) | JSON | Alternative | Information about the payment method configuration used for this Checkout session if using dynamic payment methods. |
payment_method_configuration_details (anyOf 1) (anyOf 1) | Model | Alternative | Expand Cancel a Setup Intent — response body — payment method configuration details value id, parent |
payment_method_configuration_details (anyOf 2) | null | Alternative | |
payment_method_options | JSON | Optional | |
payment_method_options (anyOf 1) | JSON | Alternative | Payment-method-specific configuration for the PaymentIntent or SetupIntent of this CheckoutSession. |
payment_method_options (anyOf 1) (anyOf 1) | Model | Alternative | Expand Create a Checkout Session — response body — payment method options value acss debit, affirm, afterpay clearpay, alipay, alma, amazon pay, au becs debit, bacs debit, bancontact, billie, boleto, card, cashapp, customer balance, eps, fpx, giropay, grabpay, ideal, kakao pay, klarna, konbini, kr card, link, mobilepay, multibanco, naver pay, oxxo, p24, payco, paynow, paypal, payto, pix, revolut pay, samsung pay, satispay, scalapay, sepa debit, sequra, sofort, sunbit, swish, twint, upi, us bank account, wechat pay |
payment_method_options (anyOf 2) | null | Alternative | |
payment_method_types | array | Required within parent | A list of the types of payment methods (e.g. card) this Checkout Session is allowed to accept. |
payment_method_types[] | string | Each item | Maximum length: 5000 |
payment_status | string | Required within parent | 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. Known values: no_payment_required, paid, unpaid |
permissions | JSON | Optional | |
permissions (anyOf 1) | JSON | Alternative | This property is used to set up permissions for various actions (e.g., update) on the CheckoutSession object. For specific permissions, please refer to their dedicated subsections, such as `permissions.update_shipping_details`. |
permissions (anyOf 1) (anyOf 1) | Model | Alternative | Expand Create a Checkout Session — response body — permissions value update shipping details |
permissions (anyOf 2) | null | Alternative | |
phone_number_collection | Model | Optional | Expand Create a Checkout Session — response body — phone number collection |
presentment_details | Model | Optional | Expand Cancel a refund — response body — presentment details |
recovered_from | JSON | Optional | |
recovered_from (anyOf 1) | string | Alternative | The ID of the original expired Checkout Session that triggered the recovery flow. Maximum length: 5000 |
recovered_from (anyOf 2) | null | Alternative | |
redirect_on_completion | string | Optional | This parameter applies to `ui_mode: embedded_page`. Learn more about the [redirect behavior](https://docs.stripe.com/payments/checkout/custom-success-page?payment-ui=embedded-form) of embedded sessions. Defaults to `always`. Known values: always, if_required, never |
return_url | string | Optional | Applies to Checkout Sessions with `ui_mode: embedded_page` or `ui_mode: elements`. The URL to redirect your customer back to after they authenticate or cancel their payment on the payment method's app or site. Maximum length: 5000 |
saved_payment_method_options | JSON | Optional | |
saved_payment_method_options (anyOf 1) | JSON | Alternative | Controls saved payment method settings for the session. Only available in `payment` and `subscription` mode. |
saved_payment_method_options (anyOf 1) (anyOf 1) | Model | Alternative | Expand Create a Checkout Session — response body — saved payment method options value allow redisplay filters, payment method remove, payment method save |
saved_payment_method_options (anyOf 2) | null | Alternative | |
setup_intent | JSON | Optional | |
setup_intent (anyOf 1) | JSON | Alternative | The ID of the SetupIntent for Checkout Sessions in `setup` mode. You can't confirm or cancel the SetupIntent for a Checkout Session. To cancel, [expire the Checkout Session](https://docs.stripe.com/api/checkout/sessions/expire) instead. |
setup_intent (anyOf 1) (anyOf 1) | string | Alternative | Maximum length: 5000 |
setup_intent (anyOf 1) (anyOf 2) | Model | Alternative | Expand Cancel a Setup Intent — response body |
setup_intent (anyOf 2) | null | Alternative | |
shipping_address_collection | JSON | Optional | |
shipping_address_collection (anyOf 1) | JSON | Alternative | When set, provides configuration for Checkout to collect a shipping address from a customer. |
shipping_address_collection (anyOf 1) (anyOf 1) | Model | Alternative | Expand Create a Checkout Session — response body — shipping address collection value allowed countries |
shipping_address_collection (anyOf 2) | null | Alternative | |
shipping_cost | JSON | Optional | |
shipping_cost (anyOf 1) | JSON | Alternative | The details of the customer cost of shipping, including the customer chosen ShippingRate. |
shipping_cost (anyOf 1) (anyOf 1) | Model | Alternative | Expand Create a Checkout Session — response body — shipping cost value amount subtotal, amount tax, amount total, shipping rate, taxes |
shipping_cost (anyOf 2) | null | Alternative | |
shipping_options | array | Required within parent | The shipping rate options applied to this Session. |
shipping_options[] | Model | Each item | Expand Create a Checkout Session — response body — shipping options item |
status | JSON | Optional | |
status (anyOf 1) | string | Alternative | The status of the Checkout Session, one of `open`, `complete`, or `expired`. Known values: complete, expired, open |
status (anyOf 2) | null | Alternative | |
submit_type | JSON | Optional | |
submit_type (anyOf 1) | string | Alternative | 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. If blank or `auto`, `pay` is used. Known values: auto, book, donate, pay, subscribe |
submit_type (anyOf 2) | null | Alternative | |
subscription | JSON | Optional | |
subscription (anyOf 1) | JSON | Alternative | The ID of the [Subscription](https://docs.stripe.com/api/subscriptions) for Checkout Sessions in `subscription` mode. |
subscription (anyOf 1) (anyOf 1) | string | Alternative | Maximum length: 5000 |
subscription (anyOf 1) (anyOf 2) | Model | Alternative | Expand Pause a subscription — response body |
subscription (anyOf 2) | null | Alternative | |
success_url | JSON | Optional | |
success_url (anyOf 1) | string | Alternative | The URL the customer will be directed to after the payment or subscription creation is successful. Maximum length: 5000 |
success_url (anyOf 2) | null | Alternative | |
tax_id_collection | Model | Optional | Expand Create a Checkout Session — response body — tax id collection |
total_details | JSON | Optional | |
total_details (anyOf 1) | JSON | Alternative | Tax and discount details for the computed total amount. |
total_details (anyOf 1) (anyOf 1) | Model | Alternative | Expand Accept a quote — response body — total details |
total_details (anyOf 2) | null | Alternative | |
ui_mode | JSON | Optional | |
ui_mode (anyOf 1) | string | Alternative | The UI mode of the Session. Defaults to `hosted_page`. Known values: elements, embedded_page, form, hosted_page |
ui_mode (anyOf 2) | null | Alternative | |
url | JSON | Optional | |
url (anyOf 1) | string | Alternative | The URL to the Checkout Session. Applies to Checkout Sessions with `ui_mode: hosted_page`. Redirect customers to this URL to take them to Checkout. If you’re using [Custom Domains](https://docs.stripe.com/payments/checkout/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. Maximum length: 5000 |
url (anyOf 2) | null | Alternative | |
wallet_options | JSON | Optional | |
wallet_options (anyOf 1) | JSON | Alternative | Wallet-specific configuration for this Checkout Session. |
wallet_options (anyOf 1) (anyOf 1) | Model | Alternative | Expand Create a Checkout Session — response body — wallet options value link |
wallet_options (anyOf 2) | null | Alternative |
Referenced models: Create a Checkout Session — response body — payment method options value acss debit, affirm, afterpay clearpay, alipay, alma, amazon pay, au becs debit, bacs debit, bancontact, billie, boleto, card, cashapp, customer balance, eps, fpx, giropay, grabpay, ideal, kakao pay, klarna, konbini, kr card, link, mobilepay, multibanco, naver pay, oxxo, p24, payco, paynow, paypal, payto, pix, revolut pay, samsung pay, satispay, scalapay, sepa debit, sequra, sofort, sunbit, swish, twint, upi, us bank account, wechat pay, Create a Checkout Session — response body — wallet options value link, Create a customer — response body, Delete a customer — response body, Pay an invoice — response body, Retrieve a quote's line items — response body — data item, Cancel a refund — response body — presentment details, Cancel a Payment Intent — response body, Create a payment link — response body, Create a payment link — response body — custom text, Cancel a Setup Intent — response body — payment method configuration details value id, parent, Create a Checkout Session — response body — adaptive pricing value enabled, Create a Checkout Session — response body — after expiration value recovery, Create a Checkout Session — response body — automatic tax, Create a Checkout Session — response body — branding settings, Create a Checkout Session — response body — collected information value business name, individual name, shipping details, Create a Checkout Session — response body — consent Results of `consent collection` for this session promotions, terms of service, Create a Checkout Session — response body — consent collection value payment method reuse agreement, promotions, terms of service, Create a Checkout Session — response body — currency conversion value amount subtotal, amount total, fx rate, source currency, Create a Checkout Session — response body — custom fields item, Create a Checkout Session — response body — customer details value address, business name, email, individual name, name, phone, tax exempt, tax ids, Create a Checkout Session — response body — discounts array item, Create a Checkout Session — response body — invoice creation value enabled, invoice data, Cancel a Setup Intent — response body — managed payments value enabled, Create a Checkout Session — response body — name collection, Create a Checkout Session — response body — optional items array item, Create a Checkout Session — response body — permissions value update shipping details, Create a Checkout Session — response body — phone number collection, Create a Checkout Session — response body — saved payment method options value allow redisplay filters, payment method remove, payment method save, Create a Checkout Session — response body — shipping address collection value allowed countries, Create a Checkout Session — response body — shipping cost value amount subtotal, amount tax, amount total, shipping rate, taxes, Create a Checkout Session — response body — shipping options item, Create a Checkout Session — response body — tax id collection, Accept a quote — response body — total details, Cancel a Setup Intent — response body, Pause a subscription — response body
Create a Checkout Session — response body — adaptive pricing value enabled
| Field | Type | Presence | Description and constraints |
|---|---|---|---|
$ | object | Root | |
enabled | boolean | Required within parent | If enabled, Adaptive Pricing is available on [eligible sessions](https://docs.stripe.com/payments/currencies/localize-prices/adaptive-pricing?payment-ui=stripe-hosted#restrictions). |
Create a Checkout Session — response body — after expiration value recovery
| Field | Type | Presence | Description and constraints |
|---|---|---|---|
$ | object | Root | |
recovery | JSON | Optional | |
recovery (anyOf 1) | JSON | Alternative | When set, configuration used to recover the Checkout Session on expiry. |
recovery (anyOf 1) (anyOf 1) | Model | Alternative | Expand Create a Checkout Session — response body — after expiration value recovery recovery value allow promotion codes, enabled, expires at, url |
recovery (anyOf 2) | null | Alternative |
Referenced models: Create a Checkout Session — response body — after expiration value recovery recovery value allow promotion codes, enabled, expires at, url
Create a Checkout Session — response body — after expiration value recovery recovery value allow promotion codes, enabled, expires at, url
| Field | Type | Presence | Description and constraints |
|---|---|---|---|
$ | object | Root | |
allow_promotion_codes | boolean | Required within parent | Enables user redeemable promotion codes on the recovered Checkout Sessions. Defaults to `false` |
enabled | boolean | Required within parent | If `true`, a recovery url will be generated to recover this Checkout Session if it expires before a transaction is completed. It will be attached to the Checkout Session object upon expiration. |
expires_at | JSON | Optional | |
expires_at (anyOf 1) | JSON | Alternative | |
expires_at (anyOf 1) (anyOf 1) | integer | Alternative | The timestamp at which the recovery URL will expire. Format: unix-time |
expires_at (anyOf 1) (anyOf 2) | string | Alternative | Pattern: ^-?[0-9]+(?:\.[0-9]+)?(?:[eE][+-]?[0-9]+)?$ |
expires_at (anyOf 2) | null | Alternative | |
url | JSON | Optional | |
url (anyOf 1) | string | Alternative | URL that creates a new Checkout Session when clicked that is a copy of this expired Checkout Session Maximum length: 5000 |
url (anyOf 2) | null | Alternative |
Create a Checkout Session — response body — automatic tax
| Field | Type | Presence | Description and constraints |
|---|---|---|---|
$ | object | Root | |
enabled | boolean | Required within parent | Indicates whether automatic tax is enabled for the session |
liability | JSON | Optional | |
liability (anyOf 1) | JSON | Alternative | The account that's liable for tax. If set, the business address and tax registrations required to perform the tax calculation are loaded from this account. The tax transaction is returned in the report of the connected account. |
liability (anyOf 1) (anyOf 1) | Model | Alternative | Expand Pay an invoice — response body — issuer |
liability (anyOf 2) | null | Alternative | |
provider | JSON | Optional | |
provider (anyOf 1) | string | Alternative | The tax provider powering automatic tax. Maximum length: 5000 |
provider (anyOf 2) | null | Alternative | |
status | JSON | Optional | |
status (anyOf 1) | string | Alternative | The status of the most recent automated tax calculation for this session. Known values: complete, failed, requires_location_inputs |
status (anyOf 2) | null | Alternative |
Referenced models: Pay an invoice — response body — issuer
Create a Checkout Session — response body — branding settings
| Field | Type | Presence | Description and constraints |
|---|---|---|---|
$ | object | Root | |
background_color | string | Required within parent | A hex color value starting with `#` representing the background color for the Checkout Session. Maximum length: 5000 |
border_style | string | Required within parent | The border style for the Checkout Session. Must be one of `rounded`, `rectangular`, or `pill`. Known values: pill, rectangular, rounded |
button_color | string | Required within parent | A hex color value starting with `#` representing the button color for the Checkout Session. Maximum length: 5000 |
display_name | string | Required within parent | The display name shown on the Checkout Session. Maximum length: 5000 |
font_family | string | Required within parent | The font family for the Checkout Session. Must be one of the [supported font families](https://docs.stripe.com/payments/checkout/customization/appearance?payment-ui=stripe-hosted#font-compatibility). Maximum length: 5000 |
icon | JSON | Optional | |
icon (anyOf 1) | JSON | Alternative | The icon for the Checkout Session. You cannot set both `logo` and `icon`. |
icon (anyOf 1) (anyOf 1) | Model | Alternative | Expand Create a Checkout Session — response body — branding_settings / icon / value / type: file, url |
icon (anyOf 2) | null | Alternative | |
logo | JSON | Optional | |
logo (anyOf 1) | JSON | Alternative | The logo for the Checkout Session. You cannot set both `logo` and `icon`. |
logo (anyOf 1) (anyOf 1) | Model | Alternative | Expand Create a Checkout Session — response body — branding_settings / logo / value / type: file, url |
logo (anyOf 2) | null | Alternative |
Referenced models: Create a Checkout Session — response body — branding_settings / icon / value / type: file, url, Create a Checkout Session — response body — branding_settings / logo / value / type: file, url
Create a Checkout Session — response body — branding_settings / icon / value / type: file, url
| Field | Type | Presence | Description and constraints |
|---|---|---|---|
$ | object | Root | |
file | string | Optional | The ID of a [File upload](https://stripe.com/docs/api/files) representing the icon. Purpose must be `business_icon`. Required if `type` is `file` and disallowed otherwise. Maximum length: 5000 |
type | string | Required within parent | The type of image for the icon. Must be one of `file` or `url`. Known values: file, url |
url | string | Optional | The URL of the image. Present when `type` is `url`. Maximum length: 5000 |
Create a Checkout Session — response body — branding_settings / logo / value / type: file, url
| Field | Type | Presence | Description and constraints |
|---|---|---|---|
$ | object | Root | |
file | string | Optional | The ID of a [File upload](https://stripe.com/docs/api/files) representing the logo. Purpose must be `business_logo`. Required if `type` is `file` and disallowed otherwise. Maximum length: 5000 |
type | string | Required within parent | The type of image for the logo. Must be one of `file` or `url`. Known values: file, url |
url | string | Optional | The URL of the image. Present when `type` is `url`. Maximum length: 5000 |
Create a Checkout Session — response body — collected information value business name, individual name, shipping details
| Field | Type | Presence | Description and constraints |
|---|---|---|---|
$ | object | Root | |
business_name | JSON | Optional | |
business_name (anyOf 1) | string | Alternative | Customer’s business name for this Checkout Session Maximum length: 5000 |
business_name (anyOf 2) | null | Alternative | |
individual_name | JSON | Optional | |
individual_name (anyOf 1) | string | Alternative | Customer’s individual name for this Checkout Session Maximum length: 5000 |
individual_name (anyOf 2) | null | Alternative | |
shipping_details | JSON | Optional | |
shipping_details (anyOf 1) | JSON | Alternative | Shipping information for this Checkout Session. |
shipping_details (anyOf 1) (anyOf 1) | Model | Alternative | Expand Create a Checkout Session — response body — collected information value business name, individual name, shipping details shipping details Shipping information for this Checkout Session address, name |
shipping_details (anyOf 2) | null | Alternative |
Create a Checkout Session — response body — collected information value business name, individual name, shipping details shipping details Shipping information for this Checkout Session address, name
| Field | Type | Presence | Description and constraints |
|---|---|---|---|
$ | object | Root | |
address | Model | Required within parent | Expand Create a Location — response body — address |
name | string | Required within parent | Customer name. Maximum length: 5000 |
Referenced models: Create a Location — response body — address
Create a Checkout Session — response body — consent Results of `consent collection` for this session promotions, terms of service
| Field | Type | Presence | Description and constraints |
|---|---|---|---|
$ | object | Root | |
promotions | JSON | Optional | |
promotions (anyOf 1) | string | Alternative | If `opt_in`, the customer consents to receiving promotional communications from the merchant about this Checkout Session. Known values: opt_in, opt_out |
promotions (anyOf 2) | null | Alternative | |
terms_of_service | JSON | Optional | |
terms_of_service (anyOf 1) | string | Alternative | If `accepted`, the customer in this Checkout Session has agreed to the merchant's terms of service. Known values: accepted |
terms_of_service (anyOf 2) | null | Alternative |
Create a Checkout Session — response body — consent collection value payment method reuse agreement, promotions, terms of service
| Field | Type | Presence | Description and constraints |
|---|---|---|---|
$ | object | Root | |
payment_method_reuse_agreement | JSON | Optional | |
payment_method_reuse_agreement (anyOf 1) | JSON | Alternative | If set to `hidden`, it will hide legal text related to the reuse of a payment method. |
payment_method_reuse_agreement (anyOf 1) (anyOf 1) | Model | Alternative | Expand Create a payment link — response body — consent_collection / value / payment_method_reuse_agreement, promotions, terms_of_service / payment_method_reuse_agreement / value / position: auto, hidden |
payment_method_reuse_agreement (anyOf 2) | null | Alternative | |
promotions | JSON | Optional | |
promotions (anyOf 1) | string | Alternative | If set to `auto`, enables the collection of customer consent for promotional communications. The Checkout Session will determine whether to display an option to opt into promotional communication from the merchant depending on the customer's locale. Only available to US merchants and US customers. Known values: auto, none |
promotions (anyOf 2) | null | Alternative | |
terms_of_service | JSON | Optional | |
terms_of_service (anyOf 1) | string | Alternative | If set to `required`, it requires customers to accept the terms of service before being able to pay. Known values: none, required |
terms_of_service (anyOf 2) | null | Alternative |
Create a Checkout Session — response body — currency conversion value amount subtotal, amount total, fx rate, source currency
| Field | Type | Presence | Description and constraints |
|---|---|---|---|
$ | object | Root | |
amount_subtotal | JSON | Required within parent | |
amount_subtotal (anyOf 1) | integer | Alternative | Total of all items in source currency before discounts or taxes are applied. |
amount_subtotal (anyOf 2) | string | Alternative | Pattern: ^-?[0-9]+(?:\.[0-9]+)?(?:[eE][+-]?[0-9]+)?$ |
amount_total | JSON | Required within parent | |
amount_total (anyOf 1) | integer | Alternative | Total of all items in source currency after discounts and taxes are applied. |
amount_total (anyOf 2) | string | Alternative | Pattern: ^-?[0-9]+(?:\.[0-9]+)?(?:[eE][+-]?[0-9]+)?$ |
fx_rate | string | Required within parent | Exchange rate used to convert source currency amounts to customer currency amounts Format: decimal |
source_currency | string | Required within parent | Creation currency of the CheckoutSession before localization Maximum length: 5000 |
Create a Checkout Session — response body — custom fields item
| Field | Type | Presence | Description and constraints |
|---|---|---|---|
$ | object | Root | |
dropdown | Model | Optional | Expand Create a Checkout Session — response body — custom fields item dropdown |
key | string | Required within parent | String of your choice that your integration can use to reconcile this field. Must be unique to this field, alphanumeric, and up to 200 characters. Maximum length: 5000 |
label | Model | Required within parent | Expand Create a payment link — response body — custom fields item label |
numeric | Model | Optional | Expand Create a Checkout Session — response body — custom fields item numeric |
optional | boolean | Required within parent | Whether the customer is required to complete the field before completing the Checkout Session. Defaults to `false`. |
text | Model | Optional | Expand Create a Checkout Session — response body — custom fields item text |
type | string | Required within parent | The type of the field. Known values: dropdown, numeric, text |
Referenced models: Create a payment link — response body — custom fields item label, Create a Checkout Session — response body — custom fields item dropdown, Create a Checkout Session — response body — custom fields item numeric, Create a Checkout Session — response body — custom fields item text
Create a Checkout Session — response body — custom fields item dropdown
| Field | Type | Presence | Description and constraints |
|---|---|---|---|
$ | object | Root | |
default_value | JSON | Optional | |
default_value (anyOf 1) | string | Alternative | The value that pre-fills on the payment page. Maximum length: 5000 |
default_value (anyOf 2) | null | Alternative | |
options | array | Required within parent | The options available for the customer to select. Up to 200 options allowed. |
options[] | Model | Each item | Expand Create a payment link — response body — custom fields item dropdown options item |
value | JSON | Optional | |
value (anyOf 1) | string | Alternative | The option selected by the customer. This will be the `value` for the option. Maximum length: 5000 |
value (anyOf 2) | null | Alternative |
Referenced models: Create a payment link — response body — custom fields item dropdown options item
Create a Checkout Session — response body — custom fields item numeric
| Field | Type | Presence | Description and constraints |
|---|---|---|---|
$ | object | Root | |
default_value | JSON | Optional | |
default_value (anyOf 1) | string | Alternative | The value that pre-fills the field on the payment page. Maximum length: 5000 |
default_value (anyOf 2) | null | Alternative | |
maximum_length | JSON | Optional | |
maximum_length (anyOf 1) | JSON | Alternative | |
maximum_length (anyOf 1) (anyOf 1) | integer | Alternative | The maximum character length constraint for the customer's input. |
maximum_length (anyOf 1) (anyOf 2) | string | Alternative | Pattern: ^-?[0-9]+(?:\.[0-9]+)?(?:[eE][+-]?[0-9]+)?$ |
maximum_length (anyOf 2) | null | Alternative | |
minimum_length | JSON | Optional | |
minimum_length (anyOf 1) | JSON | Alternative | |
minimum_length (anyOf 1) (anyOf 1) | integer | Alternative | The minimum character length requirement for the customer's input. |
minimum_length (anyOf 1) (anyOf 2) | string | Alternative | Pattern: ^-?[0-9]+(?:\.[0-9]+)?(?:[eE][+-]?[0-9]+)?$ |
minimum_length (anyOf 2) | null | Alternative | |
value | JSON | Optional | |
value (anyOf 1) | string | Alternative | The value entered by the customer, containing only digits. Maximum length: 5000 |
value (anyOf 2) | null | Alternative |
Create a Checkout Session — response body — custom fields item text
| Field | Type | Presence | Description and constraints |
|---|---|---|---|
$ | object | Root | |
default_value | JSON | Optional | |
default_value (anyOf 1) | string | Alternative | The value that pre-fills the field on the payment page. Maximum length: 5000 |
default_value (anyOf 2) | null | Alternative | |
maximum_length | JSON | Optional | |
maximum_length (anyOf 1) | JSON | Alternative | |
maximum_length (anyOf 1) (anyOf 1) | integer | Alternative | The maximum character length constraint for the customer's input. |
maximum_length (anyOf 1) (anyOf 2) | string | Alternative | Pattern: ^-?[0-9]+(?:\.[0-9]+)?(?:[eE][+-]?[0-9]+)?$ |
maximum_length (anyOf 2) | null | Alternative | |
minimum_length | JSON | Optional | |
minimum_length (anyOf 1) | JSON | Alternative | |
minimum_length (anyOf 1) (anyOf 1) | integer | Alternative | The minimum character length requirement for the customer's input. |
minimum_length (anyOf 1) (anyOf 2) | string | Alternative | Pattern: ^-?[0-9]+(?:\.[0-9]+)?(?:[eE][+-]?[0-9]+)?$ |
minimum_length (anyOf 2) | null | Alternative | |
value | JSON | Optional | |
value (anyOf 1) | string | Alternative | The value entered by the customer. Maximum length: 5000 |
value (anyOf 2) | null | Alternative |
Create a Checkout Session — response body — customer details value address, business name, email, individual name, name, phone, tax exempt, tax ids
| Field | Type | Presence | Description and constraints |
|---|---|---|---|
$ | object | Root | |
address | JSON | Optional | |
address (anyOf 1) | JSON | Alternative | The customer's address after a completed Checkout Session. Note: This property is populated only for sessions on or after March 30, 2022. |
address (anyOf 1) (anyOf 1) | Model | Alternative | Expand Create a Location — response body — address |
address (anyOf 2) | null | Alternative | |
business_name | JSON | Optional | |
business_name (anyOf 1) | string | Alternative | The customer's business name after a completed Checkout Session. Maximum length: 150 |
business_name (anyOf 2) | null | Alternative | |
email | JSON | Optional | |
email (anyOf 1) | string | Alternative | The email associated with the Customer, if one exists, on the Checkout Session after a completed Checkout Session or at time of session expiry. Otherwise, if the customer has consented to promotional content, this value is the most recent valid email provided by the customer on the Checkout form. Maximum length: 5000 |
email (anyOf 2) | null | Alternative | |
individual_name | JSON | Optional | |
individual_name (anyOf 1) | string | Alternative | The customer's individual name after a completed Checkout Session. Maximum length: 150 |
individual_name (anyOf 2) | null | Alternative | |
name | JSON | Optional | |
name (anyOf 1) | string | Alternative | The customer's name after a completed Checkout Session. Note: This property is populated only for sessions on or after March 30, 2022. Maximum length: 5000 |
name (anyOf 2) | null | Alternative | |
phone | JSON | Optional | |
phone (anyOf 1) | string | Alternative | The customer's phone number after a completed Checkout Session. Maximum length: 5000 |
phone (anyOf 2) | null | Alternative | |
tax_exempt | JSON | Optional | |
tax_exempt (anyOf 1) | string | Alternative | The customer’s tax exempt status after a completed Checkout Session. Known values: exempt, none, reverse |
tax_exempt (anyOf 2) | null | Alternative | |
tax_ids | JSON | Optional | |
tax_ids (anyOf 1) | array | Alternative | The customer’s tax IDs after a completed Checkout Session. |
tax_ids (anyOf 1)[] | Model | Each item | Expand Pay an invoice — response body — customer tax ids array item |
tax_ids (anyOf 2) | null | Alternative |
Referenced models: Create a Location — response body — address, Pay an invoice — response body — customer tax ids array item
Create a Checkout Session — response body — discounts array item
| Field | Type | Presence | Description and constraints |
|---|---|---|---|
$ | object | Root | |
coupon | JSON | Optional | |
coupon (anyOf 1) | JSON | Alternative | Coupon attached to the Checkout Session. |
coupon (anyOf 1) (anyOf 1) | string | Alternative | Maximum length: 5000 |
coupon (anyOf 1) (anyOf 2) | Model | Alternative | Expand Create a coupon — response body |
coupon (anyOf 2) | null | Alternative | |
promotion_code | JSON | Optional | |
promotion_code (anyOf 1) | JSON | Alternative | Promotion code attached to the Checkout Session. |
promotion_code (anyOf 1) (anyOf 1) | string | Alternative | Maximum length: 5000 |
promotion_code (anyOf 1) (anyOf 2) | Model | Alternative | Expand Create a promotion code — response body |
promotion_code (anyOf 2) | null | Alternative |
Referenced models: Create a coupon — response body, Create a promotion code — response body
Create a Checkout Session — response body — invoice creation value enabled, invoice data
| Field | Type | Presence | Description and constraints |
|---|---|---|---|
$ | object | Root | |
enabled | boolean | Required within parent | Indicates whether invoice creation is enabled for the Checkout Session. |
invoice_data | Model | Required within parent | Expand Create a Checkout Session — response body — invoice creation value enabled, invoice data invoice data |
Referenced models: Create a Checkout Session — response body — invoice creation value enabled, invoice data invoice data
Create a Checkout Session — response body — invoice creation value enabled, invoice data invoice data
| Field | Type | Presence | Description and constraints |
|---|---|---|---|
$ | object | Root | |
account_tax_ids | JSON | Optional | |
account_tax_ids (anyOf 1) | array | Alternative | The account tax IDs associated with the invoice. |
account_tax_ids (anyOf 1)[] | JSON | Each item | |
account_tax_ids (anyOf 1)[] (anyOf 1) | string | Alternative | Maximum length: 5000 |
account_tax_ids (anyOf 1)[] (anyOf 2) | Model | Alternative | Expand Create a tax ID — response body |
account_tax_ids (anyOf 1)[] (anyOf 3) | Model | Alternative | Expand Delete a tax ID — response body |
account_tax_ids (anyOf 2) | null | Alternative | |
custom_fields | JSON | Optional | |
custom_fields (anyOf 1) | array | Alternative | Custom fields displayed on the invoice. |
custom_fields (anyOf 1)[] | Model | Each item | Expand Pay an invoice — response body — custom fields Custom fields displayed on the invoice item |
custom_fields (anyOf 2) | null | Alternative | |
description | JSON | Optional | |
description (anyOf 1) | string | Alternative | An arbitrary string attached to the object. Often useful for displaying to users. Maximum length: 5000 |
description (anyOf 2) | null | Alternative | |
footer | JSON | Optional | |
footer (anyOf 1) | string | Alternative | Footer displayed on the invoice. Maximum length: 5000 |
footer (anyOf 2) | null | Alternative | |
issuer | JSON | Optional | |
issuer (anyOf 1) | JSON | Alternative | The connected account that issues the invoice. The invoice is presented with the branding and support information of the specified account. |
issuer (anyOf 1) (anyOf 1) | Model | Alternative | Expand Pay an invoice — response body — issuer |
issuer (anyOf 2) | null | Alternative | |
metadata | JSON | Optional | |
metadata (anyOf 1) | object | Alternative | Set of [key-value pairs](https://docs.stripe.com/api/metadata) that you can attach to an object. This can be useful for storing additional information about the object in a structured format. Additional keys: see wildcard field |
metadata (anyOf 1).* | string | Additional keys | Maximum length: 500 |
metadata (anyOf 2) | null | Alternative | |
rendering_options | JSON | Optional | |
rendering_options (anyOf 1) | JSON | Alternative | Options for invoice PDF rendering. |
rendering_options (anyOf 1) (anyOf 1) | Model | Alternative | Expand Create a Checkout Session — response body — invoice creation value enabled, invoice data invoice data rendering options Options for invoice PDF rendering amount tax display, template |
rendering_options (anyOf 2) | null | Alternative |
Referenced models: Pay an invoice — response body — issuer, Delete a tax ID — response body, Create a Checkout Session — response body — invoice creation value enabled, invoice data invoice data rendering options Options for invoice PDF rendering amount tax display, template, Pay an invoice — response body — custom fields Custom fields displayed on the invoice item, Create a tax ID — response body
Create a Checkout Session — response body — invoice creation value enabled, invoice data invoice data rendering options Options for invoice PDF rendering amount tax display, template
| Field | Type | Presence | Description and constraints |
|---|---|---|---|
$ | object | Root | |
amount_tax_display | JSON | Optional | |
amount_tax_display (anyOf 1) | string | Alternative | How line-item prices and amounts will be displayed with respect to tax on invoice PDFs. Maximum length: 5000 |
amount_tax_display (anyOf 2) | null | Alternative | |
template | JSON | Optional | |
template (anyOf 1) | string | Alternative | ID of the invoice rendering template to be used for the generated invoice. Maximum length: 5000 |
template (anyOf 2) | null | Alternative |
Create a Checkout Session — response body — name collection
| Field | Type | Presence | Description and constraints |
|---|---|---|---|
$ | object | Root | |
business | Model | Optional | Expand Create a Checkout Session — response body — name collection business |
individual | Model | Optional | Expand Create a Checkout Session — response body — name collection individual |
Referenced models: Create a Checkout Session — response body — name collection business, Create a Checkout Session — response body — name collection individual
Create a Checkout Session — response body — name collection business
| Field | Type | Presence | Description and constraints |
|---|---|---|---|
$ | object | Root | |
enabled | boolean | Required within parent | Indicates whether business name collection is enabled for the session |
optional | boolean | Required within parent | Whether the customer is required to complete the field before completing the Checkout Session. Defaults to `false`. |
Create a Checkout Session — response body — name collection individual
| Field | Type | Presence | Description and constraints |
|---|---|---|---|
$ | object | Root | |
enabled | boolean | Required within parent | Indicates whether individual name collection is enabled for the session |
optional | boolean | Required within parent | Whether the customer is required to complete the field before completing the Checkout Session. Defaults to `false`. |
Create a Checkout Session — response body — optional items array item
| Field | Type | Presence | Description and constraints |
|---|---|---|---|
$ | object | Root | |
adjustable_quantity | JSON | Optional | |
adjustable_quantity (anyOf 1) | JSON | Alternative | |
adjustable_quantity (anyOf 1) (anyOf 1) | Model | Alternative | Expand Create a Checkout Session — response body — optional items array item adjustable quantity value enabled, maximum, minimum |
adjustable_quantity (anyOf 2) | null | Alternative | |
price | string | Required within parent | Maximum length: 5000 |
quantity | JSON | Required within parent | |
quantity (anyOf 1) | integer | Alternative | |
quantity (anyOf 2) | string | Alternative | Pattern: ^-?[0-9]+(?:\.[0-9]+)?(?:[eE][+-]?[0-9]+)?$ |
Referenced models: Create a Checkout Session — response body — optional items array item adjustable quantity value enabled, maximum, minimum
Create a Checkout Session — response body — optional items array item adjustable quantity value enabled, maximum, minimum
| Field | Type | Presence | Description and constraints |
|---|---|---|---|
$ | object | Root | |
enabled | boolean | Required within parent | Set to true if the quantity can be adjusted to any non-negative integer. |
maximum | JSON | Optional | |
maximum (anyOf 1) | JSON | Alternative | |
maximum (anyOf 1) (anyOf 1) | integer | Alternative | The maximum quantity of this item the customer can purchase. By default this value is 99. You can specify a value up to 999999. |
maximum (anyOf 1) (anyOf 2) | string | Alternative | Pattern: ^-?[0-9]+(?:\.[0-9]+)?(?:[eE][+-]?[0-9]+)?$ |
maximum (anyOf 2) | null | Alternative | |
minimum | JSON | Optional | |
minimum (anyOf 1) | JSON | Alternative | |
minimum (anyOf 1) (anyOf 1) | integer | Alternative | The minimum quantity of this item the customer must purchase, if they choose to purchase it. Because this item is optional, the customer will always be able to remove it from their order, even if the `minimum` configured here is greater than 0. By default this value is 0. |
minimum (anyOf 1) (anyOf 2) | string | Alternative | Pattern: ^-?[0-9]+(?:\.[0-9]+)?(?:[eE][+-]?[0-9]+)?$ |
minimum (anyOf 2) | null | Alternative |
Create a Checkout Session — response body — payment method options value acss debit, affirm, afterpay clearpay, alipay, alma, amazon pay, au becs debit, bacs debit, bancontact, billie, boleto, card, cashapp, customer balance, eps, fpx, giropay, grabpay, ideal, kakao pay, klarna, konbini, kr card, link, mobilepay, multibanco, naver pay, oxxo, p24, payco, paynow, paypal, payto, pix, revolut pay, samsung pay, satispay, scalapay, sepa debit, sequra, sofort, sunbit, swish, twint, upi, us bank account, wechat pay
Referenced models: Create a Checkout Session — response body — payment method options value acss debit, affirm, afterpay clearpay, alipay, alma, amazon pay, au becs debit, bacs debit, bancontact, billie, boleto, card, cashapp, customer balance, eps, fpx, giropay, grabpay, ideal, kakao pay, klarna, konbini, kr card, link, mobilepay, multibanco, naver pay, oxxo, p24, payco, paynow, paypal, payto, pix, revolut pay, samsung pay, satispay, scalapay, sepa debit, sequra, sofort, sunbit, swish, twint, upi, us bank account, wechat pay acss debit, Create a Checkout Session — response body — payment method options value acss debit, affirm, afterpay clearpay, alipay, alma, amazon pay, au becs debit, bacs debit, bancontact, billie, boleto, card, cashapp, customer balance, eps, fpx, giropay, grabpay, ideal, kakao pay, klarna, konbini, kr card, link, mobilepay, multibanco, naver pay, oxxo, p24, payco, paynow, paypal, payto, pix, revolut pay, samsung pay, satispay, scalapay, sepa debit, sequra, sofort, sunbit, swish, twint, upi, us bank account, wechat pay payco, Create a Checkout Session — response body — payment method options value acss debit, affirm, afterpay clearpay, alipay, alma, amazon pay, au becs debit, bacs debit, bancontact, billie, boleto, card, cashapp, customer balance, eps, fpx, giropay, grabpay, ideal, kakao pay, klarna, konbini, kr card, link, mobilepay, multibanco, naver pay, oxxo, p24, payco, paynow, paypal, payto, pix, revolut pay, samsung pay, satispay, scalapay, sepa debit, sequra, sofort, sunbit, swish, twint, upi, us bank account, wechat pay eps, Create a Checkout Session — response body — payment method options value acss debit, affirm, afterpay clearpay, alipay, alma, amazon pay, au becs debit, bacs debit, bancontact, billie, boleto, card, cashapp, customer balance, eps, fpx, giropay, grabpay, ideal, kakao pay, klarna, konbini, kr card, link, mobilepay, multibanco, naver pay, oxxo, p24, payco, paynow, paypal, payto, pix, revolut pay, samsung pay, satispay, scalapay, sepa debit, sequra, sofort, sunbit, swish, twint, upi, us bank account, wechat pay alma, Create a Checkout Session — response body — payment method options value acss debit, affirm, afterpay clearpay, alipay, alma, amazon pay, au becs debit, bacs debit, bancontact, billie, boleto, card, cashapp, customer balance, eps, fpx, giropay, grabpay, ideal, kakao pay, klarna, konbini, kr card, link, mobilepay, multibanco, naver pay, oxxo, p24, payco, paynow, paypal, payto, pix, revolut pay, samsung pay, satispay, scalapay, sepa debit, sequra, sofort, sunbit, swish, twint, upi, us bank account, wechat pay link, Create a Checkout Session — response body — payment method options value acss debit, affirm, afterpay clearpay, alipay, alma, amazon pay, au becs debit, bacs debit, bancontact, billie, boleto, card, cashapp, customer balance, eps, fpx, giropay, grabpay, ideal, kakao pay, klarna, konbini, kr card, link, mobilepay, multibanco, naver pay, oxxo, p24, payco, paynow, paypal, payto, pix, revolut pay, samsung pay, satispay, scalapay, sepa debit, sequra, sofort, sunbit, swish, twint, upi, us bank account, wechat pay au becs debit, Create a Checkout Session — response body — payment method options value acss debit, affirm, afterpay clearpay, alipay, alma, amazon pay, au becs debit, bacs debit, bancontact, billie, boleto, card, cashapp, customer balance, eps, fpx, giropay, grabpay, ideal, kakao pay, klarna, konbini, kr card, link, mobilepay, multibanco, naver pay, oxxo, p24, payco, paynow, paypal, payto, pix, revolut pay, samsung pay, satispay, scalapay, sepa debit, sequra, sofort, sunbit, swish, twint, upi, us bank account, wechat pay bacs debit, Create a Checkout Session — response body — payment method options value acss debit, affirm, afterpay clearpay, alipay, alma, amazon pay, au becs debit, bacs debit, bancontact, billie, boleto, card, cashapp, customer balance, eps, fpx, giropay, grabpay, ideal, kakao pay, klarna, konbini, kr card, link, mobilepay, multibanco, naver pay, oxxo, p24, payco, paynow, paypal, payto, pix, revolut pay, samsung pay, satispay, scalapay, sepa debit, sequra, sofort, sunbit, swish, twint, upi, us bank account, wechat pay twint, Create a Checkout Session — response body — payment method options value acss debit, affirm, afterpay clearpay, alipay, alma, amazon pay, au becs debit, bacs debit, bancontact, billie, boleto, card, cashapp, customer balance, eps, fpx, giropay, grabpay, ideal, kakao pay, klarna, konbini, kr card, link, mobilepay, multibanco, naver pay, oxxo, p24, payco, paynow, paypal, payto, pix, revolut pay, samsung pay, satispay, scalapay, sepa debit, sequra, sofort, sunbit, swish, twint, upi, us bank account, wechat pay boleto, Create a Checkout Session — response body — payment method options value acss debit, affirm, afterpay clearpay, alipay, alma, amazon pay, au becs debit, bacs debit, bancontact, billie, boleto, card, cashapp, customer balance, eps, fpx, giropay, grabpay, ideal, kakao pay, klarna, konbini, kr card, link, mobilepay, multibanco, naver pay, oxxo, p24, payco, paynow, paypal, payto, pix, revolut pay, samsung pay, satispay, scalapay, sepa debit, sequra, sofort, sunbit, swish, twint, upi, us bank account, wechat pay card, Create a Checkout Session — response body — payment method options value acss debit, affirm, afterpay clearpay, alipay, alma, amazon pay, au becs debit, bacs debit, bancontact, billie, boleto, card, cashapp, customer balance, eps, fpx, giropay, grabpay, ideal, kakao pay, klarna, konbini, kr card, link, mobilepay, multibanco, naver pay, oxxo, p24, payco, paynow, paypal, payto, pix, revolut pay, samsung pay, satispay, scalapay, sepa debit, sequra, sofort, sunbit, swish, twint, upi, us bank account, wechat pay customer balance, Create a Checkout Session — response body — payment method options value acss debit, affirm, afterpay clearpay, alipay, alma, amazon pay, au becs debit, bacs debit, bancontact, billie, boleto, card, cashapp, customer balance, eps, fpx, giropay, grabpay, ideal, kakao pay, klarna, konbini, kr card, link, mobilepay, multibanco, naver pay, oxxo, p24, payco, paynow, paypal, payto, pix, revolut pay, samsung pay, satispay, scalapay, sepa debit, sequra, sofort, sunbit, swish, twint, upi, us bank account, wechat pay klarna, Create a Checkout Session — response body — payment method options value acss debit, affirm, afterpay clearpay, alipay, alma, amazon pay, au becs debit, bacs debit, bancontact, billie, boleto, card, cashapp, customer balance, eps, fpx, giropay, grabpay, ideal, kakao pay, klarna, konbini, kr card, link, mobilepay, multibanco, naver pay, oxxo, p24, payco, paynow, paypal, payto, pix, revolut pay, samsung pay, satispay, scalapay, sepa debit, sequra, sofort, sunbit, swish, twint, upi, us bank account, wechat pay konbini, Create a Checkout Session — response body — payment method options value acss debit, affirm, afterpay clearpay, alipay, alma, amazon pay, au becs debit, bacs debit, bancontact, billie, boleto, card, cashapp, customer balance, eps, fpx, giropay, grabpay, ideal, kakao pay, klarna, konbini, kr card, link, mobilepay, multibanco, naver pay, oxxo, p24, payco, paynow, paypal, payto, pix, revolut pay, samsung pay, satispay, scalapay, sepa debit, sequra, sofort, sunbit, swish, twint, upi, us bank account, wechat pay oxxo, Create a Checkout Session — response body — payment method options value acss debit, affirm, afterpay clearpay, alipay, alma, amazon pay, au becs debit, bacs debit, bancontact, billie, boleto, card, cashapp, customer balance, eps, fpx, giropay, grabpay, ideal, kakao pay, klarna, konbini, kr card, link, mobilepay, multibanco, naver pay, oxxo, p24, payco, paynow, paypal, payto, pix, revolut pay, samsung pay, satispay, scalapay, sepa debit, sequra, sofort, sunbit, swish, twint, upi, us bank account, wechat pay paypal, Create a Checkout Session — response body — payment method options value acss debit, affirm, afterpay clearpay, alipay, alma, amazon pay, au becs debit, bacs debit, bancontact, billie, boleto, card, cashapp, customer balance, eps, fpx, giropay, grabpay, ideal, kakao pay, klarna, konbini, kr card, link, mobilepay, multibanco, naver pay, oxxo, p24, payco, paynow, paypal, payto, pix, revolut pay, samsung pay, satispay, scalapay, sepa debit, sequra, sofort, sunbit, swish, twint, upi, us bank account, wechat pay payto, Create a Checkout Session — response body — payment method options value acss debit, affirm, afterpay clearpay, alipay, alma, amazon pay, au becs debit, bacs debit, bancontact, billie, boleto, card, cashapp, customer balance, eps, fpx, giropay, grabpay, ideal, kakao pay, klarna, konbini, kr card, link, mobilepay, multibanco, naver pay, oxxo, p24, payco, paynow, paypal, payto, pix, revolut pay, samsung pay, satispay, scalapay, sepa debit, sequra, sofort, sunbit, swish, twint, upi, us bank account, wechat pay pix, Create a Checkout Session — response body — payment method options value acss debit, affirm, afterpay clearpay, alipay, alma, amazon pay, au becs debit, bacs debit, bancontact, billie, boleto, card, cashapp, customer balance, eps, fpx, giropay, grabpay, ideal, kakao pay, klarna, konbini, kr card, link, mobilepay, multibanco, naver pay, oxxo, p24, payco, paynow, paypal, payto, pix, revolut pay, samsung pay, satispay, scalapay, sepa debit, sequra, sofort, sunbit, swish, twint, upi, us bank account, wechat pay sepa debit, Create a Checkout Session — response body — payment method options value acss debit, affirm, afterpay clearpay, alipay, alma, amazon pay, au becs debit, bacs debit, bancontact, billie, boleto, card, cashapp, customer balance, eps, fpx, giropay, grabpay, ideal, kakao pay, klarna, konbini, kr card, link, mobilepay, multibanco, naver pay, oxxo, p24, payco, paynow, paypal, payto, pix, revolut pay, samsung pay, satispay, scalapay, sepa debit, sequra, sofort, sunbit, swish, twint, upi, us bank account, wechat pay swish, Create a Checkout Session — response body — payment method options value acss debit, affirm, afterpay clearpay, alipay, alma, amazon pay, au becs debit, bacs debit, bancontact, billie, boleto, card, cashapp, customer balance, eps, fpx, giropay, grabpay, ideal, kakao pay, klarna, konbini, kr card, link, mobilepay, multibanco, naver pay, oxxo, p24, payco, paynow, paypal, payto, pix, revolut pay, samsung pay, satispay, scalapay, sepa debit, sequra, sofort, sunbit, swish, twint, upi, us bank account, wechat pay upi, Create a Checkout Session — response body — payment method options value acss debit, affirm, afterpay clearpay, alipay, alma, amazon pay, au becs debit, bacs debit, bancontact, billie, boleto, card, cashapp, customer balance, eps, fpx, giropay, grabpay, ideal, kakao pay, klarna, konbini, kr card, link, mobilepay, multibanco, naver pay, oxxo, p24, payco, paynow, paypal, payto, pix, revolut pay, samsung pay, satispay, scalapay, sepa debit, sequra, sofort, sunbit, swish, twint, upi, us bank account, wechat pay us bank account, Create a Checkout Session — response body — payment method options value acss debit, affirm, afterpay clearpay, alipay, alma, amazon pay, au becs debit, bacs debit, bancontact, billie, boleto, card, cashapp, customer balance, eps, fpx, giropay, grabpay, ideal, kakao pay, klarna, konbini, kr card, link, mobilepay, multibanco, naver pay, oxxo, p24, payco, paynow, paypal, payto, pix, revolut pay, samsung pay, satispay, scalapay, sepa debit, sequra, sofort, sunbit, swish, twint, upi, us bank account, wechat pay wechat pay
Create a Checkout Session — response body — payment method options value acss debit, affirm, afterpay clearpay, alipay, alma, amazon pay, au becs debit, bacs debit, bancontact, billie, boleto, card, cashapp, customer balance, eps, fpx, giropay, grabpay, ideal, kakao pay, klarna, konbini, kr card, link, mobilepay, multibanco, naver pay, oxxo, p24, payco, paynow, paypal, payto, pix, revolut pay, samsung pay, satispay, scalapay, sepa debit, sequra, sofort, sunbit, swish, twint, upi, us bank account, wechat pay acss debit
| Field | Type | Presence | Description and constraints |
|---|---|---|---|
$ | object | Root | |
currency | string | Optional | Currency supported by the bank account. Returned when the Session is in `setup` mode. Known values: cad, usd |
mandate_options | Model | Optional | Expand Create a Checkout Session — response body — payment method options value acss debit, affirm, afterpay clearpay, alipay, alma, amazon pay, au becs debit, bacs debit, bancontact, billie, boleto, card, cashapp, customer balance, eps, fpx, giropay, grabpay, ideal, kakao pay, klarna, konbini, kr card, link, mobilepay, multibanco, naver pay, oxxo, p24, payco, paynow, paypal, payto, pix, revolut pay, samsung pay, satispay, scalapay, sepa debit, sequra, sofort, sunbit, swish, twint, upi, us bank account, wechat pay acss debit mandate options |
setup_future_usage | string | Optional | Indicates that you intend to make future payments with this PaymentIntent's payment method. If you provide a Customer with the PaymentIntent, you can use this parameter to [attach the payment method](/payments/save-during-payment) to the Customer after the PaymentIntent is confirmed and the customer completes any required actions. If you don't provide a Customer, you can still [attach](/api/payment_methods/attach) the payment method to a Customer after the transaction completes. If the payment method is `card_present` and isn't a digital wallet, Stripe creates and attaches a [generated_card](/api/charges/object#charge_object-payment_method_details-card_present-generated_card) payment method representing the card to the Customer instead. When processing card payments, Stripe uses `setup_future_usage` to help you comply with regional legislation and network rules, such as [SCA](/strong-customer-authentication). Known values: none, off_session, on_session |
target_date | string | Optional | Controls when Stripe will attempt to debit the funds from the customer's account. The date must be a string in YYYY-MM-DD format. The date must be in the future and between 3 and 15 calendar days from now. Maximum length: 5000 |
verification_method | string | Optional | Bank account verification method. The default value is `automatic`. Known values: automatic, instant, microdeposits |
Create a Checkout Session — response body — payment method options value acss debit, affirm, afterpay clearpay, alipay, alma, amazon pay, au becs debit, bacs debit, bancontact, billie, boleto, card, cashapp, customer balance, eps, fpx, giropay, grabpay, ideal, kakao pay, klarna, konbini, kr card, link, mobilepay, multibanco, naver pay, oxxo, p24, payco, paynow, paypal, payto, pix, revolut pay, samsung pay, satispay, scalapay, sepa debit, sequra, sofort, sunbit, swish, twint, upi, us bank account, wechat pay acss debit mandate options
| Field | Type | Presence | Description and constraints |
|---|---|---|---|
$ | object | Root | |
custom_mandate_url | string | Optional | A URL for custom mandate text Maximum length: 5000 |
default_for | array | Optional | List of Stripe products where this mandate can be selected automatically. Returned when the Session is in `setup` mode. |
default_for[] | string | Each item | Known values: invoice, subscription |
interval_description | JSON | Optional | |
interval_description (anyOf 1) | string | Alternative | Description of the interval. Only required if the 'payment_schedule' parameter is 'interval' or 'combined'. Maximum length: 5000 |
interval_description (anyOf 2) | null | Alternative | |
payment_schedule | JSON | Optional | |
payment_schedule (anyOf 1) | string | Alternative | Payment schedule for the mandate. Known values: combined, interval, sporadic |
payment_schedule (anyOf 2) | null | Alternative | |
transaction_type | JSON | Optional | |
transaction_type (anyOf 1) | string | Alternative | Transaction type of the mandate. Known values: business, personal |
transaction_type (anyOf 2) | null | Alternative |
Create a Checkout Session — response body — payment method options value acss debit, affirm, afterpay clearpay, alipay, alma, amazon pay, au becs debit, bacs debit, bancontact, billie, boleto, card, cashapp, customer balance, eps, fpx, giropay, grabpay, ideal, kakao pay, klarna, konbini, kr card, link, mobilepay, multibanco, naver pay, oxxo, p24, payco, paynow, paypal, payto, pix, revolut pay, samsung pay, satispay, scalapay, sepa debit, sequra, sofort, sunbit, swish, twint, upi, us bank account, wechat pay alma
| Field | Type | Presence | Description and constraints |
|---|---|---|---|
$ | object | Root | |
capture_method | string | Optional | Controls when the funds will be captured from the customer's account. Known values: manual |
Create a Checkout Session — response body — payment method options value acss debit, affirm, afterpay clearpay, alipay, alma, amazon pay, au becs debit, bacs debit, bancontact, billie, boleto, card, cashapp, customer balance, eps, fpx, giropay, grabpay, ideal, kakao pay, klarna, konbini, kr card, link, mobilepay, multibanco, naver pay, oxxo, p24, payco, paynow, paypal, payto, pix, revolut pay, samsung pay, satispay, scalapay, sepa debit, sequra, sofort, sunbit, swish, twint, upi, us bank account, wechat pay au becs debit
| Field | Type | Presence | Description and constraints |
|---|---|---|---|
$ | object | Root | |
setup_future_usage | string | Optional | Indicates that you intend to make future payments with this PaymentIntent's payment method. If you provide a Customer with the PaymentIntent, you can use this parameter to [attach the payment method](/payments/save-during-payment) to the Customer after the PaymentIntent is confirmed and the customer completes any required actions. If you don't provide a Customer, you can still [attach](/api/payment_methods/attach) the payment method to a Customer after the transaction completes. If the payment method is `card_present` and isn't a digital wallet, Stripe creates and attaches a [generated_card](/api/charges/object#charge_object-payment_method_details-card_present-generated_card) payment method representing the card to the Customer instead. When processing card payments, Stripe uses `setup_future_usage` to help you comply with regional legislation and network rules, such as [SCA](/strong-customer-authentication). Known values: none |
target_date | string | Optional | Controls when Stripe will attempt to debit the funds from the customer's account. The date must be a string in YYYY-MM-DD format. The date must be in the future and between 3 and 15 calendar days from now. Maximum length: 5000 |
Create a Checkout Session — response body — payment method options value acss debit, affirm, afterpay clearpay, alipay, alma, amazon pay, au becs debit, bacs debit, bancontact, billie, boleto, card, cashapp, customer balance, eps, fpx, giropay, grabpay, ideal, kakao pay, klarna, konbini, kr card, link, mobilepay, multibanco, naver pay, oxxo, p24, payco, paynow, paypal, payto, pix, revolut pay, samsung pay, satispay, scalapay, sepa debit, sequra, sofort, sunbit, swish, twint, upi, us bank account, wechat pay bacs debit
| Field | Type | Presence | Description and constraints |
|---|---|---|---|
$ | object | Root | |
mandate_options | Model | Optional | Expand Create a Checkout Session — response body — payment method options value acss debit, affirm, afterpay clearpay, alipay, alma, amazon pay, au becs debit, bacs debit, bancontact, billie, boleto, card, cashapp, customer balance, eps, fpx, giropay, grabpay, ideal, kakao pay, klarna, konbini, kr card, link, mobilepay, multibanco, naver pay, oxxo, p24, payco, paynow, paypal, payto, pix, revolut pay, samsung pay, satispay, scalapay, sepa debit, sequra, sofort, sunbit, swish, twint, upi, us bank account, wechat pay bacs debit mandate options |
setup_future_usage | string | Optional | Indicates that you intend to make future payments with this PaymentIntent's payment method. If you provide a Customer with the PaymentIntent, you can use this parameter to [attach the payment method](/payments/save-during-payment) to the Customer after the PaymentIntent is confirmed and the customer completes any required actions. If you don't provide a Customer, you can still [attach](/api/payment_methods/attach) the payment method to a Customer after the transaction completes. If the payment method is `card_present` and isn't a digital wallet, Stripe creates and attaches a [generated_card](/api/charges/object#charge_object-payment_method_details-card_present-generated_card) payment method representing the card to the Customer instead. When processing card payments, Stripe uses `setup_future_usage` to help you comply with regional legislation and network rules, such as [SCA](/strong-customer-authentication). Known values: none, off_session, on_session |
target_date | string | Optional | Controls when Stripe will attempt to debit the funds from the customer's account. The date must be a string in YYYY-MM-DD format. The date must be in the future and between 3 and 15 calendar days from now. Maximum length: 5000 |
Create a Checkout Session — response body — payment method options value acss debit, affirm, afterpay clearpay, alipay, alma, amazon pay, au becs debit, bacs debit, bancontact, billie, boleto, card, cashapp, customer balance, eps, fpx, giropay, grabpay, ideal, kakao pay, klarna, konbini, kr card, link, mobilepay, multibanco, naver pay, oxxo, p24, payco, paynow, paypal, payto, pix, revolut pay, samsung pay, satispay, scalapay, sepa debit, sequra, sofort, sunbit, swish, twint, upi, us bank account, wechat pay bacs debit mandate options
| Field | Type | Presence | Description and constraints |
|---|---|---|---|
$ | object | Root | |
reference_prefix | string | Optional | Prefix used to generate the Mandate reference. Must be at most 12 characters long. Must consist of only uppercase letters, numbers, spaces, or the following special characters: '/', '_', '-', '&', '.'. Cannot begin with 'DDIC' or 'STRIPE'. Maximum length: 5000 |
Create a Checkout Session — response body — payment method options value acss debit, affirm, afterpay clearpay, alipay, alma, amazon pay, au becs debit, bacs debit, bancontact, billie, boleto, card, cashapp, customer balance, eps, fpx, giropay, grabpay, ideal, kakao pay, klarna, konbini, kr card, link, mobilepay, multibanco, naver pay, oxxo, p24, payco, paynow, paypal, payto, pix, revolut pay, samsung pay, satispay, scalapay, sepa debit, sequra, sofort, sunbit, swish, twint, upi, us bank account, wechat pay boleto
| Field | Type | Presence | Description and constraints |
|---|---|---|---|
$ | object | Root | |
expires_after_days | JSON | Required within parent | |
expires_after_days (anyOf 1) | integer | Alternative | The number of calendar days before a Boleto voucher expires. For example, if you create a Boleto voucher on Monday and you set expires_after_days to 2, the Boleto voucher will expire on Wednesday at 23:59 America/Sao_Paulo time. |
expires_after_days (anyOf 2) | string | Alternative | Pattern: ^-?[0-9]+(?:\.[0-9]+)?(?:[eE][+-]?[0-9]+)?$ |
setup_future_usage | string | Optional | Indicates that you intend to make future payments with this PaymentIntent's payment method. If you provide a Customer with the PaymentIntent, you can use this parameter to [attach the payment method](/payments/save-during-payment) to the Customer after the PaymentIntent is confirmed and the customer completes any required actions. If you don't provide a Customer, you can still [attach](/api/payment_methods/attach) the payment method to a Customer after the transaction completes. If the payment method is `card_present` and isn't a digital wallet, Stripe creates and attaches a [generated_card](/api/charges/object#charge_object-payment_method_details-card_present-generated_card) payment method representing the card to the Customer instead. When processing card payments, Stripe uses `setup_future_usage` to help you comply with regional legislation and network rules, such as [SCA](/strong-customer-authentication). Known values: none, off_session, on_session |
Create a Checkout Session — response body — payment method options value acss debit, affirm, afterpay clearpay, alipay, alma, amazon pay, au becs debit, bacs debit, bancontact, billie, boleto, card, cashapp, customer balance, eps, fpx, giropay, grabpay, ideal, kakao pay, klarna, konbini, kr card, link, mobilepay, multibanco, naver pay, oxxo, p24, payco, paynow, paypal, payto, pix, revolut pay, samsung pay, satispay, scalapay, sepa debit, sequra, sofort, sunbit, swish, twint, upi, us bank account, wechat pay card
| Field | Type | Presence | Description and constraints |
|---|---|---|---|
$ | object | Root | |
capture_method | string | Optional | Controls when the funds will be captured from the customer's account. Known values: manual |
installments | Model | Optional | Expand Create a Checkout Session — response body — payment method options value acss debit, affirm, afterpay clearpay, alipay, alma, amazon pay, au becs debit, bacs debit, bancontact, billie, boleto, card, cashapp, customer balance, eps, fpx, giropay, grabpay, ideal, kakao pay, klarna, konbini, kr card, link, mobilepay, multibanco, naver pay, oxxo, p24, payco, paynow, paypal, payto, pix, revolut pay, samsung pay, satispay, scalapay, sepa debit, sequra, sofort, sunbit, swish, twint, upi, us bank account, wechat pay card installments |
request_extended_authorization | string | Optional | Request ability to [capture beyond the standard authorization validity window](/payments/extended-authorization) for this CheckoutSession. Known values: if_available, never |
request_incremental_authorization | string | Optional | Request ability to [increment the authorization](/payments/incremental-authorization) for this CheckoutSession. Known values: if_available, never |
request_multicapture | string | Optional | Request ability to make [multiple captures](/payments/multicapture) for this CheckoutSession. Known values: if_available, never |
request_overcapture | string | Optional | Request ability to [overcapture](/payments/overcapture) for this CheckoutSession. Known values: if_available, never |
request_three_d_secure | string | Required within parent | We strongly recommend that you rely on our SCA Engine to automatically prompt your customers for authentication based on risk level and [other requirements](https://docs.stripe.com/strong-customer-authentication). However, if you wish to request 3D Secure based on logic from your own fraud engine, provide this option. If not provided, this value defaults to `automatic`. Read our guide on [manually requesting 3D Secure](https://docs.stripe.com/payments/3d-secure/authentication-flow#manual-three-ds) for more information on how this configuration interacts with Radar and our SCA Engine. Known values: any, automatic, challenge |
restrictions | Model | Optional | Expand Create a Checkout Session — response body — payment method options value acss debit, affirm, afterpay clearpay, alipay, alma, amazon pay, au becs debit, bacs debit, bancontact, billie, boleto, card, cashapp, customer balance, eps, fpx, giropay, grabpay, ideal, kakao pay, klarna, konbini, kr card, link, mobilepay, multibanco, naver pay, oxxo, p24, payco, paynow, paypal, payto, pix, revolut pay, samsung pay, satispay, scalapay, sepa debit, sequra, sofort, sunbit, swish, twint, upi, us bank account, wechat pay card restrictions |
setup_future_usage | string | Optional | Indicates that you intend to make future payments with this PaymentIntent's payment method. If you provide a Customer with the PaymentIntent, you can use this parameter to [attach the payment method](/payments/save-during-payment) to the Customer after the PaymentIntent is confirmed and the customer completes any required actions. If you don't provide a Customer, you can still [attach](/api/payment_methods/attach) the payment method to a Customer after the transaction completes. If the payment method is `card_present` and isn't a digital wallet, Stripe creates and attaches a [generated_card](/api/charges/object#charge_object-payment_method_details-card_present-generated_card) payment method representing the card to the Customer instead. When processing card payments, Stripe uses `setup_future_usage` to help you comply with regional legislation and network rules, such as [SCA](/strong-customer-authentication). Known values: none, off_session, on_session |
statement_descriptor_suffix_kana | string | Optional | Provides information about a card payment that customers see on their statements. Concatenated with the Kana prefix (shortened Kana descriptor) or Kana statement descriptor that’s set on the account to form the complete statement descriptor. Maximum 22 characters. On card statements, the *concatenation* of both prefix and suffix (including separators) will appear truncated to 22 characters. Maximum length: 5000 |
statement_descriptor_suffix_kanji | string | Optional | Provides information about a card payment that customers see on their statements. Concatenated with the Kanji prefix (shortened Kanji descriptor) or Kanji statement descriptor that’s set on the account to form the complete statement descriptor. Maximum 17 characters. On card statements, the *concatenation* of both prefix and suffix (including separators) will appear truncated to 17 characters. Maximum length: 5000 |
Referenced models: Create a Checkout Session — response body — payment method options value acss debit, affirm, afterpay clearpay, alipay, alma, amazon pay, au becs debit, bacs debit, bancontact, billie, boleto, card, cashapp, customer balance, eps, fpx, giropay, grabpay, ideal, kakao pay, klarna, konbini, kr card, link, mobilepay, multibanco, naver pay, oxxo, p24, payco, paynow, paypal, payto, pix, revolut pay, samsung pay, satispay, scalapay, sepa debit, sequra, sofort, sunbit, swish, twint, upi, us bank account, wechat pay card installments, Create a Checkout Session — response body — payment method options value acss debit, affirm, afterpay clearpay, alipay, alma, amazon pay, au becs debit, bacs debit, bancontact, billie, boleto, card, cashapp, customer balance, eps, fpx, giropay, grabpay, ideal, kakao pay, klarna, konbini, kr card, link, mobilepay, multibanco, naver pay, oxxo, p24, payco, paynow, paypal, payto, pix, revolut pay, samsung pay, satispay, scalapay, sepa debit, sequra, sofort, sunbit, swish, twint, upi, us bank account, wechat pay card restrictions
Create a Checkout Session — response body — payment method options value acss debit, affirm, afterpay clearpay, alipay, alma, amazon pay, au becs debit, bacs debit, bancontact, billie, boleto, card, cashapp, customer balance, eps, fpx, giropay, grabpay, ideal, kakao pay, klarna, konbini, kr card, link, mobilepay, multibanco, naver pay, oxxo, p24, payco, paynow, paypal, payto, pix, revolut pay, samsung pay, satispay, scalapay, sepa debit, sequra, sofort, sunbit, swish, twint, upi, us bank account, wechat pay card installments
| Field | Type | Presence | Description and constraints |
|---|---|---|---|
$ | object | Root | |
enabled | boolean | Optional | Indicates if installments are enabled |
Create a Checkout Session — response body — payment method options value acss debit, affirm, afterpay clearpay, alipay, alma, amazon pay, au becs debit, bacs debit, bancontact, billie, boleto, card, cashapp, customer balance, eps, fpx, giropay, grabpay, ideal, kakao pay, klarna, konbini, kr card, link, mobilepay, multibanco, naver pay, oxxo, p24, payco, paynow, paypal, payto, pix, revolut pay, samsung pay, satispay, scalapay, sepa debit, sequra, sofort, sunbit, swish, twint, upi, us bank account, wechat pay card restrictions
| Field | Type | Presence | Description and constraints |
|---|---|---|---|
$ | object | Root | |
brands_blocked | array | Optional | The card brands to block. If a customer enters or selects a card belonging to a blocked brand, they can't complete the payment. |
brands_blocked[] | string | Each item | Known values: american_express, discover_global_network, mastercard, visa |
funding_types_blocked | array | Optional | Card funding types to block for this Checkout Session. Supported values are `credit`, `debit`, and `prepaid`. |
funding_types_blocked[] | string | Each item | Known values: credit, debit, prepaid |
Create a Checkout Session — response body — payment method options value acss debit, affirm, afterpay clearpay, alipay, alma, amazon pay, au becs debit, bacs debit, bancontact, billie, boleto, card, cashapp, customer balance, eps, fpx, giropay, grabpay, ideal, kakao pay, klarna, konbini, kr card, link, mobilepay, multibanco, naver pay, oxxo, p24, payco, paynow, paypal, payto, pix, revolut pay, samsung pay, satispay, scalapay, sepa debit, sequra, sofort, sunbit, swish, twint, upi, us bank account, wechat pay customer balance
| Field | Type | Presence | Description and constraints |
|---|---|---|---|
$ | object | Root | |
bank_transfer | Model | Optional | Expand Create a Checkout Session — response body — payment method options value acss debit, affirm, afterpay clearpay, alipay, alma, amazon pay, au becs debit, bacs debit, bancontact, billie, boleto, card, cashapp, customer balance, eps, fpx, giropay, grabpay, ideal, kakao pay, klarna, konbini, kr card, link, mobilepay, multibanco, naver pay, oxxo, p24, payco, paynow, paypal, payto, pix, revolut pay, samsung pay, satispay, scalapay, sepa debit, sequra, sofort, sunbit, swish, twint, upi, us bank account, wechat pay customer balance bank transfer |
funding_type | JSON | Optional | |
funding_type (anyOf 1) | string | Alternative | The funding method type to be used when there are not enough funds in the customer balance. Permitted values include: `bank_transfer`. Known values: bank_transfer |
funding_type (anyOf 2) | null | Alternative | |
setup_future_usage | string | Optional | Indicates that you intend to make future payments with this PaymentIntent's payment method. If you provide a Customer with the PaymentIntent, you can use this parameter to [attach the payment method](/payments/save-during-payment) to the Customer after the PaymentIntent is confirmed and the customer completes any required actions. If you don't provide a Customer, you can still [attach](/api/payment_methods/attach) the payment method to a Customer after the transaction completes. If the payment method is `card_present` and isn't a digital wallet, Stripe creates and attaches a [generated_card](/api/charges/object#charge_object-payment_method_details-card_present-generated_card) payment method representing the card to the Customer instead. When processing card payments, Stripe uses `setup_future_usage` to help you comply with regional legislation and network rules, such as [SCA](/strong-customer-authentication). Known values: none |
Create a Checkout Session — response body — payment method options value acss debit, affirm, afterpay clearpay, alipay, alma, amazon pay, au becs debit, bacs debit, bancontact, billie, boleto, card, cashapp, customer balance, eps, fpx, giropay, grabpay, ideal, kakao pay, klarna, konbini, kr card, link, mobilepay, multibanco, naver pay, oxxo, p24, payco, paynow, paypal, payto, pix, revolut pay, samsung pay, satispay, scalapay, sepa debit, sequra, sofort, sunbit, swish, twint, upi, us bank account, wechat pay customer balance bank transfer
| Field | Type | Presence | Description and constraints |
|---|---|---|---|
$ | object | Root | |
eu_bank_transfer | Model | Optional | Expand Create a Checkout Session — response body — payment method options value acss debit, affirm, afterpay clearpay, alipay, alma, amazon pay, au becs debit, bacs debit, bancontact, billie, boleto, card, cashapp, customer balance, eps, fpx, giropay, grabpay, ideal, kakao pay, klarna, konbini, kr card, link, mobilepay, multibanco, naver pay, oxxo, p24, payco, paynow, paypal, payto, pix, revolut pay, samsung pay, satispay, scalapay, sepa debit, sequra, sofort, sunbit, swish, twint, upi, us bank account, wechat pay customer balance bank transfer eu bank transfer |
requested_address_types | array | Optional | List of address types that should be returned in the financial_addresses response. If not specified, all valid types will be returned. Permitted values include: `sort_code`, `zengin`, `iban`, or `spei`. |
requested_address_types[] | string | Each item | Known values: aba, iban, sepa, sort_code, spei, swift, zengin |
type | JSON | Optional | |
type (anyOf 1) | string | Alternative | The bank transfer type that this PaymentIntent is allowed to use for funding Permitted values include: `eu_bank_transfer`, `gb_bank_transfer`, `jp_bank_transfer`, `mx_bank_transfer`, or `us_bank_transfer`. Known values: eu_bank_transfer, gb_bank_transfer, jp_bank_transfer, mx_bank_transfer, us_bank_transfer |
type (anyOf 2) | null | Alternative |
Create a Checkout Session — response body — payment method options value acss debit, affirm, afterpay clearpay, alipay, alma, amazon pay, au becs debit, bacs debit, bancontact, billie, boleto, card, cashapp, customer balance, eps, fpx, giropay, grabpay, ideal, kakao pay, klarna, konbini, kr card, link, mobilepay, multibanco, naver pay, oxxo, p24, payco, paynow, paypal, payto, pix, revolut pay, samsung pay, satispay, scalapay, sepa debit, sequra, sofort, sunbit, swish, twint, upi, us bank account, wechat pay customer balance bank transfer eu bank transfer
| Field | Type | Presence | Description and constraints |
|---|---|---|---|
$ | object | Root | |
country | string | Required within parent | The desired country code of the bank account information. Permitted values include: `DE`, `FR`, `IE`, or `NL`. Known values: BE, DE, ES, FR, IE, NL |
Create a Checkout Session — response body — payment method options value acss debit, affirm, afterpay clearpay, alipay, alma, amazon pay, au becs debit, bacs debit, bancontact, billie, boleto, card, cashapp, customer balance, eps, fpx, giropay, grabpay, ideal, kakao pay, klarna, konbini, kr card, link, mobilepay, multibanco, naver pay, oxxo, p24, payco, paynow, paypal, payto, pix, revolut pay, samsung pay, satispay, scalapay, sepa debit, sequra, sofort, sunbit, swish, twint, upi, us bank account, wechat pay eps
| Field | Type | Presence | Description and constraints |
|---|---|---|---|
$ | object | Root | |
setup_future_usage | string | Optional | Indicates that you intend to make future payments with this PaymentIntent's payment method. If you provide a Customer with the PaymentIntent, you can use this parameter to [attach the payment method](/payments/save-during-payment) to the Customer after the PaymentIntent is confirmed and the customer completes any required actions. If you don't provide a Customer, you can still [attach](/api/payment_methods/attach) the payment method to a Customer after the transaction completes. If the payment method is `card_present` and isn't a digital wallet, Stripe creates and attaches a [generated_card](/api/charges/object#charge_object-payment_method_details-card_present-generated_card) payment method representing the card to the Customer instead. When processing card payments, Stripe uses `setup_future_usage` to help you comply with regional legislation and network rules, such as [SCA](/strong-customer-authentication). Known values: none |
Create a Checkout Session — response body — payment method options value acss debit, affirm, afterpay clearpay, alipay, alma, amazon pay, au becs debit, bacs debit, bancontact, billie, boleto, card, cashapp, customer balance, eps, fpx, giropay, grabpay, ideal, kakao pay, klarna, konbini, kr card, link, mobilepay, multibanco, naver pay, oxxo, p24, payco, paynow, paypal, payto, pix, revolut pay, samsung pay, satispay, scalapay, sepa debit, sequra, sofort, sunbit, swish, twint, upi, us bank account, wechat pay klarna
| Field | Type | Presence | Description and constraints |
|---|---|---|---|
$ | object | Root | |
capture_method | string | Optional | Controls when the funds will be captured from the customer's account. Known values: manual |
setup_future_usage | string | Optional | Indicates that you intend to make future payments with this PaymentIntent's payment method. If you provide a Customer with the PaymentIntent, you can use this parameter to [attach the payment method](/payments/save-during-payment) to the Customer after the PaymentIntent is confirmed and the customer completes any required actions. If you don't provide a Customer, you can still [attach](/api/payment_methods/attach) the payment method to a Customer after the transaction completes. If the payment method is `card_present` and isn't a digital wallet, Stripe creates and attaches a [generated_card](/api/charges/object#charge_object-payment_method_details-card_present-generated_card) payment method representing the card to the Customer instead. When processing card payments, Stripe uses `setup_future_usage` to help you comply with regional legislation and network rules, such as [SCA](/strong-customer-authentication). Known values: none, off_session, on_session |