POST /v1/checkout/sessions

Creates a Checkout Session object.

Servers

Request headers

Name Type Required Description
Content-Type String Yes The media type of the request body.

Default value: "application/x-www-form-urlencoded"

Request body fields

Name Type Required Description
optional_items[] Array No

A list of optional items the customer can add to their order at checkout. Use this parameter to pass one-time or recurring Prices.

There is a maximum of 10 optional items allowed on a Checkout Session, and the existing limits on the number of line items allowed on a Checkout Session apply to the combined number of line items and optional items.

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

For subscription mode, there is a maximum of 20 line items and optional items with recurring Prices and 20 line items and optional items with one-time Prices.

optional_items[].price String Yes
optional_items[].adjustable_quantity Object No
optional_items[].adjustable_quantity.minimum Integer No
optional_items[].adjustable_quantity.enabled Boolean Yes
optional_items[].adjustable_quantity.maximum Integer No
optional_items[].quantity Integer Yes
discounts[] Array No

The coupon or promotion code to apply to this Session. Currently, only up to one may be specified.

discounts[].promotion_code String No
discounts[].coupon String No
setup_intent_data Object No

A subset of parameters to be passed to SetupIntent creation for Checkout Sessions in setup mode.

setup_intent_data.on_behalf_of String No
setup_intent_data.description String No
setup_intent_data.metadata Object No
success_url String No

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

submit_type String No

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 or subscription mode. If blank or auto, pay is used.

Possible values:

  • "subscribe"
  • "auto"
  • "book"
  • "donate"
  • "pay"
cancel_url String No

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. This parameter is not allowed if ui_mode is embedded or custom.

allow_promotion_codes Boolean No

Enables user redeemable promotion codes.

customer_update Object No

Controls what fields on Customer can be updated by the Checkout Session. Can only be provided when customer is provided.

customer_update.name String No

Possible values:

  • "auto"
  • "never"
customer_update.shipping String No

Possible values:

  • "auto"
  • "never"
customer_update.address String No

Possible values:

  • "auto"
  • "never"
metadata Object No

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

payment_method_options Object No

Payment-method-specific configuration.

payment_method_options.swish Object No
payment_method_options.swish.reference String No
payment_method_options.amazon_pay Object No
payment_method_options.amazon_pay.setup_future_usage String No

Possible values:

  • "off_session"
  • "none"
payment_method_options.paypal Object No
payment_method_options.paypal.setup_future_usage String No

Possible values:

  • ""
  • "off_session"
  • "none"
payment_method_options.paypal.preferred_locale String No

Possible values:

  • "es-ES"
  • "nl-BE"
  • "fr-LU"
  • "hu-HU"
  • "el-GR"
  • "nl-NL"
  • "fi-FI"
  • "da-DK"
  • "fr-FR"
  • "de-DE"
  • "pl-PL"
  • "sv-SE"
  • "it-IT"
  • "de-LU"
  • "en-US"
  • "en-GB"
  • "de-AT"
  • "cs-CZ"
  • "pt-PT"
  • "sk-SK"
  • "fr-BE"
payment_method_options.paypal.capture_method String No

Possible values:

  • ""
  • "manual"
payment_method_options.paypal.risk_correlation_id String No
payment_method_options.paypal.reference String No
payment_method_options.bacs_debit Object No
payment_method_options.bacs_debit.setup_future_usage String No

Possible values:

  • "off_session"
  • "none"
  • "on_session"
payment_method_options.bacs_debit.mandate_options Object No
payment_method_options.bacs_debit.mandate_options.reference_prefix No
payment_method_options.bacs_debit.target_date String No
payment_method_options.multibanco Object No
payment_method_options.multibanco.setup_future_usage String No

Possible values:

  • "none"
payment_method_options.affirm Object No
payment_method_options.affirm.setup_future_usage String No

Possible values:

  • "none"
payment_method_options.naver_pay Object No
payment_method_options.naver_pay.setup_future_usage String No

Possible values:

  • "off_session"
  • "none"
payment_method_options.naver_pay.capture_method String No

Possible values:

  • "manual"
payment_method_options.klarna Object No
payment_method_options.klarna.setup_future_usage String No

Possible values:

  • "none"
payment_method_options.klarna.subscriptions No
payment_method_options.mobilepay Object No
payment_method_options.mobilepay.setup_future_usage String No

Possible values:

  • "none"
payment_method_options.paynow Object No
payment_method_options.paynow.setup_future_usage String No

Possible values:

  • "none"
payment_method_options.acss_debit Object No
payment_method_options.acss_debit.setup_future_usage String No

Possible values:

  • "off_session"
  • "none"
  • "on_session"
payment_method_options.acss_debit.mandate_options Object No
payment_method_options.acss_debit.mandate_options.custom_mandate_url No
payment_method_options.acss_debit.mandate_options.payment_schedule String No

Possible values:

  • "interval"
  • "sporadic"
  • "combined"
payment_method_options.acss_debit.mandate_options.transaction_type String No

Possible values:

  • "business"
  • "personal"
payment_method_options.acss_debit.mandate_options.interval_description String No
payment_method_options.acss_debit.mandate_options.default_for[] Array No
payment_method_options.acss_debit.verification_method String No

Possible values:

  • "microdeposits"
  • "automatic"
  • "instant"
payment_method_options.acss_debit.target_date String No
payment_method_options.acss_debit.currency String No

Possible values:

  • "cad"
  • "usd"
payment_method_options.payco Object No
payment_method_options.payco.capture_method String No

Possible values:

  • "manual"
payment_method_options.wechat_pay Object No
payment_method_options.wechat_pay.client String Yes

Possible values:

  • "android"
  • "web"
  • "ios"
payment_method_options.wechat_pay.setup_future_usage String No

Possible values:

  • "none"
payment_method_options.wechat_pay.app_id String No
payment_method_options.customer_balance Object No
payment_method_options.customer_balance.setup_future_usage String No

Possible values:

  • "none"
payment_method_options.customer_balance.funding_type String No

Possible values:

  • "bank_transfer"
payment_method_options.customer_balance.bank_transfer Object No
payment_method_options.customer_balance.bank_transfer.type String Yes

Possible values:

  • "jp_bank_transfer"
  • "mx_bank_transfer"
  • "eu_bank_transfer"
  • "gb_bank_transfer"
  • "us_bank_transfer"
payment_method_options.customer_balance.bank_transfer.eu_bank_transfer Object No
payment_method_options.customer_balance.bank_transfer.eu_bank_transfer.country String Yes
payment_method_options.customer_balance.bank_transfer.requested_address_types[] Array No
payment_method_options.pay_by_bank Object No
payment_method_options.pix Object No
payment_method_options.pix.expires_after_seconds Integer No
payment_method_options.sofort Object No
payment_method_options.sofort.setup_future_usage String No

Possible values:

  • "none"
payment_method_options.alipay Object No
payment_method_options.alipay.setup_future_usage String No

Possible values:

  • "none"
payment_method_options.cashapp Object No
payment_method_options.cashapp.setup_future_usage String No

Possible values:

  • "off_session"
  • "none"
  • "on_session"
payment_method_options.giropay Object No
payment_method_options.giropay.setup_future_usage String No

Possible values:

  • "none"
payment_method_options.kakao_pay Object No
payment_method_options.kakao_pay.setup_future_usage String No

Possible values:

  • "off_session"
  • "none"
payment_method_options.kakao_pay.capture_method String No

Possible values:

  • "manual"
payment_method_options.afterpay_clearpay Object No
payment_method_options.afterpay_clearpay.setup_future_usage String No

Possible values:

  • "none"
payment_method_options.eps Object No
payment_method_options.eps.setup_future_usage String No

Possible values:

  • "none"
payment_method_options.link Object No
payment_method_options.link.setup_future_usage String No

Possible values:

  • "off_session"
  • "none"
payment_method_options.us_bank_account Object No
payment_method_options.us_bank_account.setup_future_usage String No

Possible values:

  • "off_session"
  • "none"
  • "on_session"
payment_method_options.us_bank_account.financial_connections Object No
payment_method_options.us_bank_account.financial_connections.permissions[] Array No
payment_method_options.us_bank_account.financial_connections.prefetch[] Array No
payment_method_options.us_bank_account.verification_method String No

Possible values:

  • "automatic"
  • "instant"
payment_method_options.us_bank_account.target_date String No
payment_method_options.au_becs_debit Object No
payment_method_options.au_becs_debit.setup_future_usage String No

Possible values:

  • "none"
payment_method_options.au_becs_debit.target_date String No
payment_method_options.konbini Object No
payment_method_options.konbini.setup_future_usage String No

Possible values:

  • "none"
payment_method_options.konbini.expires_after_days Integer No
payment_method_options.oxxo Object No
payment_method_options.oxxo.setup_future_usage String No

Possible values:

  • "none"
payment_method_options.oxxo.expires_after_days Integer No
payment_method_options.fpx Object No
payment_method_options.fpx.setup_future_usage String No

Possible values:

  • "none"
payment_method_options.bancontact Object No
payment_method_options.bancontact.setup_future_usage String No

Possible values:

  • "none"
payment_method_options.p24 Object No
payment_method_options.p24.setup_future_usage String No

Possible values:

  • "none"
payment_method_options.p24.tos_shown_and_accepted Boolean No
payment_method_options.card Object No
payment_method_options.card.installments Object No
payment_method_options.card.installments.enabled Boolean No
payment_method_options.card.request_incremental_authorization String No

Possible values:

  • "if_available"
  • "never"
payment_method_options.card.restrictions Object No
payment_method_options.card.restrictions.brands_blocked[] Array No
payment_method_options.card.setup_future_usage String No

Possible values:

  • "off_session"
  • "on_session"
payment_method_options.card.request_extended_authorization String No

Possible values:

  • "if_available"
  • "never"
payment_method_options.card.statement_descriptor_suffix_kana String No
payment_method_options.card.statement_descriptor_suffix_kanji String No
payment_method_options.card.request_multicapture String No

Possible values:

  • "if_available"
  • "never"
payment_method_options.card.request_overcapture String No

Possible values:

  • "if_available"
  • "never"
payment_method_options.card.request_three_d_secure String No

Possible values:

  • "any"
  • "challenge"
  • "automatic"
payment_method_options.revolut_pay Object No
payment_method_options.revolut_pay.setup_future_usage String No

Possible values:

  • "off_session"
  • "none"
payment_method_options.sepa_debit Object No
payment_method_options.sepa_debit.setup_future_usage String No

Possible values:

  • "off_session"
  • "none"
  • "on_session"
payment_method_options.sepa_debit.mandate_options Object No
payment_method_options.sepa_debit.mandate_options.reference_prefix No
payment_method_options.sepa_debit.target_date String No
payment_method_options.kr_card Object No
payment_method_options.kr_card.setup_future_usage String No

Possible values:

  • "off_session"
  • "none"
payment_method_options.kr_card.capture_method String No

Possible values:

  • "manual"
payment_method_options.samsung_pay Object No
payment_method_options.samsung_pay.capture_method String No

Possible values:

  • "manual"
payment_method_options.ideal Object No
payment_method_options.ideal.setup_future_usage String No

Possible values:

  • "none"
payment_method_options.grabpay Object No
payment_method_options.grabpay.setup_future_usage String No

Possible values:

  • "none"
payment_method_options.boleto Object No
payment_method_options.boleto.setup_future_usage String No

Possible values:

  • "off_session"
  • "none"
  • "on_session"
payment_method_options.boleto.expires_after_days Integer No
currency String No

Three-letter ISO currency code, in lowercase. Must be a supported currency. Required in setup mode when payment_method_types is not set.

redirect_on_completion String No

This parameter applies to ui_mode: embedded. Learn more about the redirect behavior of embedded sessions. Defaults to always.

Possible values:

  • "never"
  • "always"
  • "if_required"
billing_address_collection String No

Specify whether Checkout should collect the customer's billing address. Defaults to auto.

Possible values:

  • "auto"
  • "required"
payment_method_data Object No

This parameter allows you to set some attributes on the payment method created during a Checkout session.

payment_method_data.allow_redisplay String No

Possible values:

  • "limited"
  • "unspecified"
  • "always"
line_items[] Array No

A list of items the customer is purchasing. Use this parameter to pass one-time or recurring Prices. The parameter is required for payment and subscription mode.

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

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

line_items[].price String No
line_items[].adjustable_quantity Object No
line_items[].adjustable_quantity.minimum Integer No
line_items[].adjustable_quantity.enabled Boolean Yes
line_items[].adjustable_quantity.maximum Integer No
line_items[].dynamic_tax_rates[] Array No
line_items[].tax_rates[] Array No
line_items[].price_data Object No
line_items[].price_data.unit_amount Integer No
line_items[].price_data.unit_amount_decimal String No
line_items[].price_data.product String No
line_items[].price_data.recurring Object No
line_items[].price_data.recurring.interval String Yes

Possible values:

  • "month"
  • "day"
  • "week"
  • "year"
line_items[].price_data.recurring.interval_count Integer No
line_items[].price_data.tax_behavior String No

Possible values:

  • "inclusive"
  • "unspecified"
  • "exclusive"
line_items[].price_data.currency String Yes
line_items[].price_data.product_data Object No
line_items[].price_data.product_data.name String Yes
line_items[].price_data.product_data.description String No
line_items[].price_data.product_data.tax_code String No
line_items[].price_data.product_data.images[] Array No
line_items[].price_data.product_data.metadata Object No
line_items[].quantity Integer No
after_expiration Object No

Configure actions after a Checkout Session has expired.

after_expiration.recovery Object No
after_expiration.recovery.allow_promotion_codes Boolean No
after_expiration.recovery.enabled Boolean Yes
payment_method_configuration String No

The ID of the payment method configuration to use with this Checkout session.

saved_payment_method_options Object No

Controls saved payment method settings for the session. Only available in payment and subscription mode.

saved_payment_method_options.allow_redisplay_filters[] Array No
saved_payment_method_options.payment_method_save String No

Possible values:

  • "disabled"
  • "enabled"
saved_payment_method_options.payment_method_remove String No

Possible values:

  • "disabled"
  • "enabled"
locale String No

The IETF language tag of the locale Checkout is displayed in. If blank or auto, the browser's locale is used.

Possible values:

  • "cs"
  • "pt-BR"
  • "es"
  • "hu"
  • "zh"
  • "bg"
  • "ms"
  • "fi"
  • "ru"
  • "ko"
  • "de"
  • "zh-HK"
  • "zh-TW"
  • "nl"
  • "tr"
  • "fil"
  • "id"
  • "pl"
  • "sl"
  • "fr-CA"
  • "nb"
  • "th"
  • "et"
  • "auto"
  • "it"
  • "fr"
  • "en"
  • "hr"
  • "lv"
  • "mt"
  • "el"
  • "lt"
  • "sv"
  • "pt"
  • "es-419"
  • "ro"
  • "da"
  • "en-GB"
  • "ja"
  • "sk"
  • "vi"
custom_fields[] Array No

Collect additional information from your customer using custom fields. Up to 3 fields are supported.

custom_fields[].text Object No
custom_fields[].text.default_value String No
custom_fields[].text.minimum_length Integer No
custom_fields[].text.maximum_length Integer No
custom_fields[].key String Yes
custom_fields[].label Object Yes
custom_fields[].label.custom String Yes
custom_fields[].label.type String Yes

Possible values:

  • "custom"
custom_fields[].numeric Object No
custom_fields[].numeric.default_value String No
custom_fields[].numeric.minimum_length Integer No
custom_fields[].numeric.maximum_length Integer No
custom_fields[].dropdown Object No
custom_fields[].dropdown.default_value String No
custom_fields[].dropdown.options[] Array Yes
custom_fields[].dropdown.options[].label String Yes
custom_fields[].dropdown.options[].value String Yes
custom_fields[].type String Yes

Possible values:

  • "numeric"
  • "text"
  • "dropdown"
custom_fields[].optional Boolean No
expires_at Integer No

The Epoch time in seconds at which the Checkout Session will expire. It can be anywhere from 30 minutes to 24 hours after Checkout Session creation. By default, this value is 24 hours from creation.

subscription_data Object No

A subset of parameters to be passed to subscription creation for Checkout Sessions in subscription mode.

subscription_data.application_fee_percent Number No
subscription_data.trial_settings Object No
subscription_data.trial_settings.end_behavior Object Yes
subscription_data.trial_settings.end_behavior.missing_payment_method String Yes

Possible values:

  • "cancel"
  • "create_invoice"
  • "pause"
subscription_data.description String No
subscription_data.trial_period_days Integer No
subscription_data.metadata Object No
subscription_data.proration_behavior String No

Possible values:

  • "create_prorations"
  • "none"
subscription_data.on_behalf_of String No
subscription_data.default_tax_rates[] Array No
subscription_data.billing_cycle_anchor Integer No
subscription_data.trial_end Integer No
subscription_data.transfer_data Object No
subscription_data.transfer_data.destination String Yes
subscription_data.transfer_data.amount_percent Number No
subscription_data.billing_mode Object No
subscription_data.billing_mode.type String Yes

Possible values:

  • "flexible"
  • "classic"
subscription_data.invoice_settings Object No
subscription_data.invoice_settings.issuer Object No
subscription_data.invoice_settings.issuer.account String No
subscription_data.invoice_settings.issuer.type String Yes

Possible values:

  • "account"
  • "self"
customer_creation String No

Configure whether a Checkout Session creates a Customer during Session confirmation.

When a Customer is not created, you can still retrieve email, address, and other customer data entered in Checkout with customer_details.

Sessions that don't create Customers instead are grouped by guest customers in the Dashboard. Promotion codes limited to first time customers will return invalid for these Sessions.

Can only be set in payment and setup mode.

Possible values:

  • "always"
  • "if_required"
client_reference_id String No

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.

phone_number_collection Object No

Controls phone number collection settings for the session.

We recommend that you review your privacy policy and check with your legal contacts before using this feature. Learn more about collecting phone numbers with Checkout.

phone_number_collection.enabled Boolean Yes
shipping_options[] Array No

The shipping rate options to apply to this Session. Up to a maximum of 5.

shipping_options[].shipping_rate_data Object No
shipping_options[].shipping_rate_data.tax_code String No
shipping_options[].shipping_rate_data.delivery_estimate Object No
shipping_options[].shipping_rate_data.delivery_estimate.minimum Object No
shipping_options[].shipping_rate_data.delivery_estimate.minimum.value Integer Yes
shipping_options[].shipping_rate_data.delivery_estimate.minimum.unit String Yes

Possible values:

  • "month"
  • "day"
  • "business_day"
  • "week"
  • "hour"
shipping_options[].shipping_rate_data.delivery_estimate.maximum Object No
shipping_options[].shipping_rate_data.delivery_estimate.maximum.value Integer Yes
shipping_options[].shipping_rate_data.delivery_estimate.maximum.unit String Yes

Possible values:

  • "month"
  • "day"
  • "business_day"
  • "week"
  • "hour"
shipping_options[].shipping_rate_data.display_name String Yes
shipping_options[].shipping_rate_data.fixed_amount Object No
shipping_options[].shipping_rate_data.fixed_amount.amount Integer Yes
shipping_options[].shipping_rate_data.fixed_amount.currency_options Object No
shipping_options[].shipping_rate_data.fixed_amount.currency_options.name Object No
shipping_options[].shipping_rate_data.fixed_amount.currency_options.name.amount Integer Yes
shipping_options[].shipping_rate_data.fixed_amount.currency_options.name.tax_behavior String No

Possible values:

  • "inclusive"
  • "unspecified"
  • "exclusive"
shipping_options[].shipping_rate_data.fixed_amount.currency String Yes
shipping_options[].shipping_rate_data.metadata Object No
shipping_options[].shipping_rate_data.type String No

Possible values:

  • "fixed_amount"
shipping_options[].shipping_rate_data.tax_behavior String No

Possible values:

  • "inclusive"
  • "unspecified"
  • "exclusive"
shipping_options[].shipping_rate String No
expand[] Array No

Specifies which fields in the response should be expanded.

automatic_tax Object No

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

automatic_tax.enabled Boolean Yes
automatic_tax.liability Object No
automatic_tax.liability.account String No
automatic_tax.liability.type String Yes

Possible values:

  • "account"
  • "self"
consent_collection Object No

Configure fields for the Checkout Session to gather active consent from customers.

consent_collection.payment_method_reuse_agreement Object No
consent_collection.payment_method_reuse_agreement.position String Yes

Possible values:

  • "auto"
  • "hidden"
consent_collection.promotions String No

Possible values:

  • "auto"
  • "none"
consent_collection.terms_of_service String No

Possible values:

  • "required"
  • "none"
mode String No

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

Possible values:

  • "setup"
  • "subscription"
  • "payment"
permissions Object No

This property is used to set up permissions for various actions (e.g., update) on the CheckoutSession object. Can only be set when creating embedded or custom sessions.

For specific permissions, please refer to their dedicated subsections, such as permissions.update_shipping_details.

permissions.update_shipping_details String No

Possible values:

  • "client_only"
  • "server_only"
return_url String No

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

shipping_address_collection Object No

When set, provides configuration for Checkout to collect a shipping address from a customer.

shipping_address_collection.allowed_countries[] Array Yes
ui_mode String No

The UI mode of the Session. Defaults to hosted.

Possible values:

  • "embedded"
  • "custom"
  • "hosted"
wallet_options Object No

Wallet-specific configuration.

wallet_options.link Object No
wallet_options.link.display String No

Possible values:

  • "auto"
  • "never"
customer String No

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

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

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

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

invoice_creation Object No

Generate a post-purchase Invoice for one-time payments.

invoice_creation.enabled Boolean Yes
invoice_creation.invoice_data Object No
invoice_creation.invoice_data.rendering_options No
invoice_creation.invoice_data.description String No
invoice_creation.invoice_data.account_tax_ids No
invoice_creation.invoice_data.issuer Object No
invoice_creation.invoice_data.issuer.account String No
invoice_creation.invoice_data.issuer.type String Yes

Possible values:

  • "account"
  • "self"
invoice_creation.invoice_data.metadata Object No
invoice_creation.invoice_data.custom_fields No
invoice_creation.invoice_data.footer String No
payment_intent_data Object No

A subset of parameters to be passed to PaymentIntent creation for Checkout Sessions in payment mode.

payment_intent_data.on_behalf_of String No
payment_intent_data.setup_future_usage String No

Possible values:

  • "off_session"
  • "on_session"
payment_intent_data.description String No
payment_intent_data.capture_method String No

Possible values:

  • "manual"
  • "automatic"
  • "automatic_async"
payment_intent_data.application_fee_amount Integer No
payment_intent_data.metadata Object No
payment_intent_data.shipping Object No
payment_intent_data.shipping.name String Yes
payment_intent_data.shipping.carrier String No
payment_intent_data.shipping.phone String No
payment_intent_data.shipping.address Object Yes
payment_intent_data.shipping.address.line2 String No
payment_intent_data.shipping.address.line1 String Yes
payment_intent_data.shipping.address.postal_code String No
payment_intent_data.shipping.address.country String No
payment_intent_data.shipping.address.state String No
payment_intent_data.shipping.address.city String No
payment_intent_data.shipping.tracking_number String No
payment_intent_data.transfer_group String No
payment_intent_data.receipt_email String No
payment_intent_data.statement_descriptor String No
payment_intent_data.statement_descriptor_suffix String No
payment_intent_data.transfer_data Object No
payment_intent_data.transfer_data.destination String Yes
payment_intent_data.transfer_data.amount Integer No
adaptive_pricing Object No

Settings for price localization with Adaptive Pricing.

adaptive_pricing.enabled Boolean No
tax_id_collection Object No

Controls tax ID collection during checkout.

tax_id_collection.required String No

Possible values:

  • "if_supported"
  • "never"
tax_id_collection.enabled Boolean Yes
payment_method_collection String No

Specify whether Checkout should collect a payment method. When set to if_required, Checkout will not collect a payment method when the total due for the session is 0. This may occur if the Checkout Session includes a free trial or a discount.

Can only be set in subscription mode. Defaults to always.

If you'd like information on how to collect a payment method outside of Checkout, read the guide on configuring subscriptions with a free trial.

Possible values:

  • "always"
  • "if_required"
payment_method_types[] Array No

A list of the types of payment methods (e.g., card) this Checkout Session can accept.

You can omit this attribute to manage your payment methods from the Stripe Dashboard. See Dynamic Payment Methods for more details.

Read more about the supported payment methods and their requirements in our payment method details guide.

If multiple payment methods are passed, Checkout will dynamically reorder them to prioritize the most relevant payment methods based on the customer's location and other characteristics.

custom_text Object No

Display additional text for your customers using custom text.

custom_text.shipping_address No
custom_text.terms_of_service_acceptance No
custom_text.submit No
custom_text.after_submit No
customer_email String No

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

How to start integrating

  1. Add HTTP Task to your workflow definition.
  2. Search for the API you want to integrate with and click on the name.
    • This loads the API reference documentation and prepares the Http request settings.
  3. Click Test request to test run your request to the API and see the API's response.