Attributes
- idstring
Unique identifier for the object.
- automatic_
taxdictionary Details on the state of automatic tax for the session, including the status of the latest tax calculation.
- automatic_tax.
enabledboolean Indicates whether automatic tax is enabled for the session
- automatic_tax.
liabilitynullable dictionaryConnect only 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.
- automatic_tax.
liability. accountnullable stringExpandable The connected account being referenced when
type
isaccount
. - automatic_tax.
liability. typeenum Type of the account referenced.
Possible enum valuesaccount
Indicates that the account being referenced is a connected account which is different from the account making the API request but related to it.
self
Indicates that the account being referenced is the account making the API request.
- automatic_tax.
providernullable string The tax provider powering automatic tax.
- automatic_tax.
statusnullable enum The status of the most recent automated tax calculation for this session.
Possible enum valuescomplete
The automatic tax calculation was successful.
failed
The tax calculation failed, please try again later.
requires_
location_ inputs The location details supplied on the customer aren’t valid or don’t provide enough location information to accurately determine tax rates for the customer.
- client_
reference_ idnullable string A unique string to reference the Checkout Session. This can be a customer ID, a cart ID, or similar, and can be used to reconcile the Session with your internal systems.
- currencynullable enum
Three-letter ISO currency code, in lowercase. Must be a supported currency.
- customernullable stringExpandable
The ID of the customer for this Session. For Checkout Sessions in
subscription
mode or Checkout Sessions withcustomer_
set ascreation always
inpayment
mode, Checkout will create a new customer object based on information provided during the payment flow unless an existing customer was provided when the Session was created. - customer_
emailnullable string If provided, this value will be used when the Customer object is created. If not provided, customers will be asked to enter their email address. Use this parameter to prefill customer data if you already have an email on file. To access information about the customer once the payment flow is complete, use the
customer
attribute. - line_
itemsnullable dictionaryExpandable The line items purchased by the customer.
- line_items.
objectstring String representing the object’s type. Objects of the same type share the same value. Always has the value
list
. - line_items.
dataarray of dictionaries Details about each object.
- line_items.
data. idstring Unique identifier for the object.
- line_items.
data. objectstring String representing the object’s type. Objects of the same type share the same value.
- line_items.
data. amount_ discountinteger Total discount amount applied. If no discounts were applied, defaults to 0.
- line_items.
data. amount_ subtotalinteger Total before any discounts or taxes are applied.
- line_items.
data. amount_ taxinteger Total tax amount applied. If no tax was applied, defaults to 0.
- line_items.
data. amount_ totalinteger Total after discounts and taxes.
- line_items.
data. currencyenum Three-letter ISO currency code, in lowercase. Must be a supported currency.
- line_items.
data. descriptionnullable string An arbitrary string attached to the object. Often useful for displaying to users. Defaults to product name.
- line_items.
data. discountsnullable array of dictionariesExpandable The discounts applied to the line item.
- line_items.
data. discounts. amountinteger The amount discounted.
- line_items.
data. discounts. discountdictionary The discount applied.
- line_items.
data. discounts. discount. idstring The ID of the discount object. Discounts cannot be fetched by ID. Use
expand[]=discounts
in API calls to expand discount IDs in an array. - line_items.
data. discounts. discount. objectstring String representing the object’s type. Objects of the same type share the same value.
- line_items.
data. discounts. discount. checkout_ sessionnullable string The Checkout session that this coupon is applied to, if it is applied to a particular session in payment mode. Will not be present for subscription mode.
- line_items.
data. discounts. discount. coupondictionary Hash describing the coupon applied to create this discount.
- line_items.
data. discounts. discount. coupon. idstring Unique identifier for the object.
- line_items.
data. discounts. discount. coupon. objectstring String representing the object’s type. Objects of the same type share the same value.
- line_items.
data. discounts. discount. coupon. amount_ offnullable integer Amount (in the
currency
specified) that will be taken off the subtotal of any invoices for this customer. - line_items.
data. discounts. discount. coupon. applies_ tonullable dictionaryExpandable Contains information about what this coupon applies to.
- line_items.
data. discounts. discount. coupon. applies_to. productsarray of strings A list of product IDs this coupon applies to
- line_items.
data. discounts. discount. coupon. createdtimestamp Time at which the object was created. Measured in seconds since the Unix epoch.
- line_items.
data. discounts. discount. coupon. currencynullable enum If
amount_
has been set, the three-letter ISO code for the currency of the amount to take off.off - line_items.
data. discounts. discount. coupon. currency_ optionsnullable dictionaryExpandable Coupons defined in each available currency option. Each key must be a three-letter ISO currency code and a supported currency.
- line_items.
data. discounts. discount. coupon. currency_options. <currency>. amount_ offinteger Amount (in the
currency
specified) that will be taken off the subtotal of any invoices for this customer.
- line_items.
data. discounts. discount. coupon. durationenum One of
forever
,once
, orrepeating
. Describes how long a customer who applies this coupon will get the discount.Possible enum valuesforever
Applies to all charges from a subscription with this coupon applied.
once
Applies to the first charge from a subscription with this coupon applied.
repeating
Applies to charges in the first
duration_
months from a subscription with this coupon applied. This value is deprecated and will be replaced in future versions of the API.in_ months - line_items.
data. discounts. discount. coupon. duration_ in_ monthsnullable integerDeprecated If
duration
isrepeating
, the number of months the coupon applies. Null if couponduration
isforever
oronce
. - line_items.
data. discounts. discount. coupon. livemodeboolean Has the value
true
if the object exists in live mode or the valuefalse
if the object exists in test mode. - line_items.
data. discounts. discount. coupon. max_ redemptionsnullable integer Maximum number of times this coupon can be redeemed, in total, across all customers, before it is no longer valid.
- line_items.
data. discounts. discount. coupon. metadatanullable dictionary Set of key-value pairs that you can attach to an object. This can be useful for storing additional information about the object in a structured format.
- line_items.
data. discounts. discount. coupon. namenullable string Name of the coupon displayed to customers on for instance invoices or receipts.
- line_items.
data. discounts. discount. coupon. percent_ offnullable float Percent that will be taken off the subtotal of any invoices for this customer for the duration of the coupon. For example, a coupon with percent_off of 50 will make a $100 invoice $50 instead.
- line_items.
data. discounts. discount. coupon. redeem_ bynullable timestamp Date after which the coupon can no longer be redeemed.
- line_items.
data. discounts. discount. coupon. times_ redeemedinteger Number of times this coupon has been applied to a customer.
- line_items.
data. discounts. discount. coupon. validboolean Taking account of the above properties, whether this coupon can still be applied to a customer.
- line_items.
data. discounts. discount. customernullable stringExpandable The ID of the customer associated with this discount.
- line_items.
data. discounts. discount. endnullable timestamp If the coupon has a duration of
repeating
, the date that this discount will end. If the coupon has a duration ofonce
orforever
, this attribute will be null. - line_items.
data. discounts. discount. invoicenullable string The invoice that the discount’s coupon was applied to, if it was applied directly to a particular invoice.
- line_items.
data. discounts. discount. invoice_ itemnullable string The invoice item
id
(or invoice line itemid
for invoice line items of type=‘subscription’) that the discount’s coupon was applied to, if it was applied directly to a particular invoice item or invoice line item. - line_items.
data. discounts. discount. promotion_ codenullable stringExpandable The promotion code applied to create this discount.
- line_items.
data. discounts. discount. starttimestamp Date that the coupon was applied.
- line_items.
data. discounts. discount. subscriptionnullable string The subscription that this coupon is applied to, if it is applied to a particular subscription.
- line_items.
data. discounts. discount. subscription_ itemnullable string The subscription item that this coupon is applied to, if it is applied to a particular subscription item.
- line_items.
data. pricenullable dictionary The price used to generate the line item.
- line_items.
data. price. idstring Unique identifier for the object.
- line_items.
data. price. objectstring String representing the object’s type. Objects of the same type share the same value.
- line_items.
data. price. activeboolean Whether the price can be used for new purchases.
- line_items.
data. price. billing_ schemeenum Describes how to compute the price per period. Either
per_
orunit tiered
.per_
indicates that the fixed amount (specified inunit unit_
oramount unit_
) will be charged per unit inamount_ decimal quantity
(for prices withusage_
), or per unit of total usage (for prices withtype=licensed usage_
).type=metered tiered
indicates that the unit pricing will be computed using a tiering strategy as defined using thetiers
andtiers_
attributes.mode Possible enum valuesper_
unit tiered
- line_items.
data. price. createdtimestamp Time at which the object was created. Measured in seconds since the Unix epoch.
- line_items.
data. price. currencyenum Three-letter ISO currency code, in lowercase. Must be a supported currency.
- line_items.
data. price. currency_ optionsnullable dictionaryExpandable Prices defined in each available currency option. Each key must be a three-letter ISO currency code and a supported currency.
- line_items.
data. price. currency_options. <currency>. custom_ unit_ amountnullable dictionary When set, provides configuration for the amount to be adjusted by the customer during Checkout Sessions and Payment Links.
- line_items.
data. price. currency_options. <currency>.custom_unit_amount. maximumnullable integer The maximum unit amount the customer can specify for this item.
- line_items.
data. price. currency_options. <currency>.custom_unit_amount. minimumnullable integer The minimum unit amount the customer can specify for this item. Must be at least the minimum charge amount.
- line_items.
data. price. currency_options. <currency>.custom_unit_amount. presetnullable integer The starting unit amount which can be updated by the customer.
- line_items.
data. price. currency_options. <currency>. tax_ behaviornullable enum Only required if a default tax behavior was not provided in the Stripe Tax settings. Specifies whether the price is considered inclusive of taxes or exclusive of taxes. One of
inclusive
,exclusive
, orunspecified
. Once specified as eitherinclusive
orexclusive
, it cannot be changed.Possible enum valuesexclusive
inclusive
unspecified
- line_items.
data. price. currency_options. <currency>. tiersnullable array of dictionariesExpandable Each element represents a pricing tier. This parameter requires
billing_
to be set toscheme tiered
. See also the documentation forbilling_
.scheme - line_items.
data. price. currency_options. <currency>.tiers. flat_ amountnullable integer Price for the entire tier.
- line_items.
data. price. currency_options. <currency>.tiers. flat_ amount_ decimalnullable decimal string Same as
flat_
, but contains a decimal value with at most 12 decimal places.amount - line_items.
data. price. currency_options. <currency>.tiers. unit_ amountnullable integer Per unit price for units relevant to the tier.
- line_items.
data. price. currency_options. <currency>.tiers. unit_ amount_ decimalnullable decimal string Same as
unit_
, but contains a decimal value with at most 12 decimal places.amount - line_items.
data. price. currency_options. <currency>.tiers. up_ tonullable integer Up to and including to this quantity will be contained in the tier.
- line_items.
data. price. currency_options. <currency>. unit_ amountnullable integer The unit amount in cents to be charged, represented as a whole integer if possible. Only set if
billing_
.scheme=per_ unit - line_items.
data. price. currency_options. <currency>. unit_ amount_ decimalnullable decimal string The unit amount in cents to be charged, represented as a decimal string with at most 12 decimal places. Only set if
billing_
.scheme=per_ unit
- line_items.
data. price. custom_ unit_ amountnullable dictionary When set, provides configuration for the amount to be adjusted by the customer during Checkout Sessions and Payment Links.
- line_items.
data. price. custom_unit_amount. maximumnullable integer The maximum unit amount the customer can specify for this item.
- line_items.
data. price. custom_unit_amount. minimumnullable integer The minimum unit amount the customer can specify for this item. Must be at least the minimum charge amount.
- line_items.
data. price. custom_unit_amount. presetnullable integer The starting unit amount which can be updated by the customer.
- line_items.
data. price. livemodeboolean Has the value
true
if the object exists in live mode or the valuefalse
if the object exists in test mode. - line_items.
data. price. lookup_ keynullable string A lookup key used to retrieve prices dynamically from a static string. This may be up to 200 characters.
- line_items.
data. price. metadatadictionary Set of key-value pairs that you can attach to an object. This can be useful for storing additional information about the object in a structured format.
- line_items.
data. price. nicknamenullable string A brief description of the price, hidden from customers.
- line_items.
data. price. productstringExpandable The ID of the product this price is associated with.
- line_items.
data. price. recurringnullable dictionary The recurring components of a price such as
interval
andusage_
.type - line_items.
data. price. recurring. intervalenum The frequency at which a subscription is billed. One of
day
,week
,month
oryear
. - line_items.
data. price. recurring. interval_ countinteger The number of intervals (specified in the
interval
attribute) between subscription billings. For example,interval=month
andinterval_
bills every 3 months.count=3 - line_items.
data. price. recurring. meternullable string The meter tracking the usage of a metered price
- line_items.
data. price. recurring. usage_ typeenum Configures how the quantity per period should be determined. Can be either
metered
orlicensed
.licensed
automatically bills thequantity
set when adding it to a subscription.metered
aggregates the total usage based on usage records. Defaults tolicensed
.
- line_items.
data. price. tax_ behaviornullable enum Only required if a default tax behavior was not provided in the Stripe Tax settings. Specifies whether the price is considered inclusive of taxes or exclusive of taxes. One of
inclusive
,exclusive
, orunspecified
. Once specified as eitherinclusive
orexclusive
, it cannot be changed.Possible enum valuesexclusive
inclusive
unspecified
- line_items.
data. price. tiersnullable array of dictionariesExpandable Each element represents a pricing tier. This parameter requires
billing_
to be set toscheme tiered
. See also the documentation forbilling_
.scheme - line_items.
data. price. tiers. flat_ amountnullable integer Price for the entire tier.
- line_items.
data. price. tiers. flat_ amount_ decimalnullable decimal string Same as
flat_
, but contains a decimal value with at most 12 decimal places.amount - line_items.
data. price. tiers. unit_ amountnullable integer Per unit price for units relevant to the tier.
- line_items.
data. price. tiers. unit_ amount_ decimalnullable decimal string Same as
unit_
, but contains a decimal value with at most 12 decimal places.amount - line_items.
data. price. tiers. up_ tonullable integer Up to and including to this quantity will be contained in the tier.
- line_items.
data. price. tiers_ modenullable enum Defines if the tiering price should be
graduated
orvolume
based. Involume
-based tiering, the maximum quantity within a period determines the per unit price. Ingraduated
tiering, pricing can change as the quantity grows.Possible enum valuesgraduated
volume
- line_items.
data. price. transform_ quantitynullable dictionary Apply a transformation to the reported usage or set quantity before computing the amount billed. Cannot be combined with
tiers
.- line_items.
data. price. transform_quantity. divide_ byinteger Divide usage by this number.
- line_items.
data. price. transform_quantity. roundenum After division, either round the result
up
ordown
.
- line_items.
data. price. typeenum One of
one_
ortime recurring
depending on whether the price is for a one-time purchase or a recurring (subscription) purchase.Possible enum valuesone_
time recurring
- line_items.
data. price. unit_ amountnullable integer The unit amount in cents to be charged, represented as a whole integer if possible. Only set if
billing_
.scheme=per_ unit - line_items.
data. price. unit_ amount_ decimalnullable decimal string The unit amount in cents to be charged, represented as a decimal string with at most 12 decimal places. Only set if
billing_
.scheme=per_ unit
- line_items.
data. quantitynullable integer The quantity of products being purchased.
- line_items.
data. taxesnullable array of dictionariesExpandable The taxes applied to the line item.
- line_items.
data. taxes. amountinteger Amount of tax applied for this rate.
- line_items.
data. taxes. ratedictionary The tax rate applied.
- line_items.
data. taxes. rate. idstring Unique identifier for the object.
- line_items.
data. taxes. rate. objectstring String representing the object’s type. Objects of the same type share the same value.
- line_items.
data. taxes. rate. activeboolean Defaults to
true
. When set tofalse
, this tax rate cannot be used with new applications or Checkout Sessions, but will still work for subscriptions and invoices that already have it set. - line_items.
data. taxes. rate. countrynullable string Two-letter country code (ISO 3166-1 alpha-2).
- line_items.
data. taxes. rate. createdtimestamp Time at which the object was created. Measured in seconds since the Unix epoch.
- line_items.
data. taxes. rate. descriptionnullable string An arbitrary string attached to the tax rate for your internal use only. It will not be visible to your customers.
- line_items.
data. taxes. rate. display_ namestring The display name of the tax rates as it will appear to your customer on their receipt email, PDF, and the hosted invoice page.
- line_items.
data. taxes. rate. effective_ percentagenullable float Actual/effective tax rate percentage out of 100. For tax calculations with automatic_tax[enabled]=true, this percentage reflects the rate actually used to calculate tax based on the product’s taxability and whether the user is registered to collect taxes in the corresponding jurisdiction.
- line_items.
data. taxes. rate. flat_ amountnullable dictionary The amount of the tax rate when the
rate_
istype flat_
. Tax rates withamount rate_
type percentage
can vary based on the transaction, resulting in this field beingnull
. This field exposes the amount and currency of the flat tax rate.- line_items.
data. taxes. rate. flat_amount. amountinteger Amount of the tax when the
rate_
istype flat_
. This positive integer represents how much to charge in the smallest currency unit (e.g., 100 cents to charge $1.00 or 100 to charge ¥100, a zero-decimal currency). The amount value supports up to eight digits (e.g., a value of 99999999 for a USD charge of $999,999.99).amount - line_items.
data. taxes. rate. flat_amount. currencystring Three-letter ISO currency code, in lowercase.
- line_items.
data. taxes. rate. inclusiveboolean This specifies if the tax rate is inclusive or exclusive.
- line_items.
data. taxes. rate. jurisdictionnullable string The jurisdiction for the tax rate. You can use this label field for tax reporting purposes. It also appears on your customer’s invoice.
- line_items.
data. taxes. rate. jurisdiction_ levelnullable enum The level of the jurisdiction that imposes this tax rate. Will be
null
for manually defined tax rates.Possible enum valuescity
country
county
district
multiple
state
- line_items.
data. taxes. rate. livemodeboolean Has the value
true
if the object exists in live mode or the valuefalse
if the object exists in test mode. - line_items.
data. taxes. rate. metadatanullable dictionary Set of key-value pairs that you can attach to an object. This can be useful for storing additional information about the object in a structured format.
- line_items.
data. taxes. rate. percentagefloat Tax rate percentage out of 100. For tax calculations with automatic_tax[enabled]=true, this percentage includes the statutory tax rate of non-taxable jurisdictions.
- line_items.
data. taxes. rate. rate_ typenullable enum Indicates the type of tax rate applied to the taxable amount. This value can be
null
when no tax applies to the location. This field is only present for TaxRates created by Stripe Tax.Possible enum valuesflat_
amount A fixed amount applied as tax, regardless of the taxable amount, such as a retail delivery fee.
percentage
A tax rate expressed as a percentage of the taxable amount, such as the sales tax rate in California.
- line_items.
data. taxes. rate. statenullable string ISO 3166-2 subdivision code, without country prefix. For example, “NY” for New York, United States.
- line_items.
data. taxes. rate. tax_ typenullable enum The high-level tax type, such as
vat
orsales_
.tax Possible enum valuesamusement_
tax Amusement Tax
communications_
tax Communications Tax
gst
Goods and Services Tax
hst
Harmonized Sales Tax
igst
Integrated Goods and Services Tax
jct
Japanese Consumption Tax
lease_
tax Chicago Lease Tax
pst
Provincial Sales Tax
qst
Quebec Sales Tax
retail_
delivery_ fee Retail Delivery Fee
Show 4 more
- line_items.
data. taxes. taxability_ reasonnullable enum The reasoning behind this tax, for example, if the product is tax exempt. The possible values for this field may be extended as new tax rules are supported.
Possible enum valuescustomer_
exempt No tax is applied as the customer is exempt from tax.
not_
collecting No tax is collected either because you are not registered to collect tax in this jurisdiction, or because the non-taxable product tax code (
txcd_
) was used.00000000 not_
subject_ to_ tax No tax is imposed on this transaction.
not_
supported No tax applied. Stripe doesn’t support this jurisdiction, territory, or product.
portion_
product_ exempt A portion of the price is exempt from tax.
portion_
reduced_ rated A portion of the price is taxed at a reduced rate.
portion_
standard_ rated A portion of the price is taxed at the standard rate.
product_
exempt The product or service is nontaxable or exempt from tax.
product_
exempt_ holiday The product or service is not taxed due to a sales tax holiday.
proportionally_
rated The shipping cost tax rate is calculated as a weighted average of the other line items’ rates, weighted by their amounts.
Show 5 more - line_items.
data. taxes. taxable_ amountnullable integer The amount on which tax is calculated, in cents.
- line_items.
has_ moreboolean True if this list has another page of items after this one that can be fetched.
- line_items.
urlstring The URL where this list can be accessed.
- metadatanullable dictionary
Set of key-value pairs that you can attach to an object. This can be useful for storing additional information about the object in a structured format.
- modeenum
The mode of the Checkout Session.
Possible enum valuespayment
Accept one-time payments for cards, iDEAL, and more.
setup
Save payment details to charge your customers later.
subscription
Use Stripe Billing to set up fixed-price subscriptions.
- payment_
intentnullable stringExpandable The ID of the PaymentIntent for Checkout Sessions in
payment
mode. You can’t confirm or cancel the PaymentIntent for a Checkout Session. To cancel, expire the Checkout Session instead. - payment_
statusenum The payment status of the Checkout Session, one of
paid
,unpaid
, orno_
. You can use this value to decide when to fulfill your customer’s order.payment_ required Possible enum valuesno_
payment_ required The payment is delayed to a future date, or the Checkout Session is in
setup
mode and doesn’t require a payment at this time.paid
The payment funds are available in your account.
unpaid
The payment funds are not yet available in your account.
- return_
urlnullable string Applies to Checkout Sessions with
ui_
ormode: embedded ui_
. The URL to redirect your customer back to after they authenticate or cancel their payment on the payment method’s app or site.mode: custom - statusnullable enum
The status of the Checkout Session, one of
open
,complete
, orexpired
.Possible enum valuescomplete
The checkout session is complete. Payment processing may still be in progress
expired
The checkout session has expired. No further processing will occur
open
The checkout session is still in progress. Payment processing has not started
- success_
urlnullable string The URL the customer will be directed to after the payment or subscription creation is successful.
- ui_
modenullable enum The UI mode of the Session. Defaults to
hosted
.Possible enum valuescustom
The Checkout Session will be displayed using embedded components on your website
embedded
The Checkout Session will be displayed as an embedded form on your website.
hosted
The Checkout Session will be displayed on a hosted page that customers will be redirected to.
- urlnullable string
The URL to the Checkout Session. Applies to Checkout Sessions with
ui_
. Redirect customers to this URL to take them to Checkout. If you’re using Custom Domains, the URL will use your subdomain. Otherwise, it’ll usemode: hosted checkout.
This value is only present when the session is active.stripe. com.
More attributes
- objectstring
String representing the object’s type. Objects of the same type share the same value.
- adaptive_
pricingnullable dictionary Settings for price localization with Adaptive Pricing.
- adaptive_pricing.
enabledboolean If enabled, Adaptive Pricing is available on eligible sessions.
- after_
expirationnullable dictionary When set, provides configuration for actions to take if this Checkout Session expires.
- after_expiration.
recoverynullable dictionary When set, configuration used to recover the Checkout Session on expiry.
- after_expiration.
recovery. allow_ promotion_ codesboolean Enables user redeemable promotion codes on the recovered Checkout Sessions. Defaults to
false
- after_expiration.
recovery. enabledboolean 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. - after_expiration.
recovery. expires_ atnullable timestamp The timestamp at which the recovery URL will expire.
- after_expiration.
recovery. urlnullable string URL that creates a new Checkout Session when clicked that is a copy of this expired Checkout Session
- allow_
promotion_ codesnullable boolean Enables user redeemable promotion codes.
- amount_
subtotalnullable integer Total of all items before discounts or taxes are applied.
- amount_
totalnullable integer Total of all items after discounts and taxes are applied.
- billing_
address_ collectionnullable enum Describes whether Checkout should collect the customer’s billing address. Defaults to
auto
.Possible enum valuesauto
Checkout will only collect the billing address when necessary. When using automatic_tax, Checkout will collect the minimum number of fields required for tax calculation.
required
Checkout will always collect the customer’s billing address.
- cancel_
urlnullable string 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.
- client_
secretnullable string The client secret of your Checkout Session. Applies to Checkout Sessions with
ui_
ormode: embedded ui_
. Formode: custom ui_
, the client secret is to be used when initializing Stripe.js embedded checkout. Formode: embedded ui_
, use the client secret with initCheckout on your front end.mode: custom - collected_
informationnullable dictionary Information about the customer collected within the Checkout Session.
- collected_information.
shipping_ detailsnullable dictionary Shipping information for this Checkout Session.
- collected_information.
shipping_details. addressdictionary Customer address.
- collected_information.
shipping_details. address. citynullable string City, district, suburb, town, or village.
- collected_information.
shipping_details. address. countrynullable string Two-letter country code (ISO 3166-1 alpha-2).
- collected_information.
shipping_details. address. line1nullable string Address line 1 (e.g., street, PO Box, or company name).
- collected_information.
shipping_details. address. line2nullable string Address line 2 (e.g., apartment, suite, unit, or building).
- collected_information.
shipping_details. address. postal_ codenullable string ZIP or postal code.
- collected_information.
shipping_details. address. statenullable string State, county, province, or region.
- collected_information.
shipping_details. namestring Customer name.
- consentnullable dictionary
Results of
consent_
for this session.collection - consent.
promotionsnullable enum If
opt_
, the customer consents to receiving promotional communications from the merchant about this Checkout Session.in Possible enum valuesopt_
in opt_
out - consent.
terms_ of_ servicenullable enum If
accepted
, the customer in this Checkout Session has agreed to the merchant’s terms of service.Possible enum valuesaccepted
The customer has accepted the specified terms of service agreement.
- consent_
collectionnullable dictionary When set, provides configuration for the Checkout Session to gather active consent from customers.
- consent_collection.
payment_ method_ reuse_ agreementnullable dictionary If set to
hidden
, it will hide legal text related to the reuse of a payment method.- consent_collection.
payment_method_reuse_agreement. positionenum Determines the position and visibility of the payment method reuse agreement in the UI. When set to
auto
, Stripe’s defaults will be used.When set to
hidden
, the payment method reuse agreement text will always be hidden in the UI.Possible enum valuesauto
hidden
- consent_collection.
promotionsnullable enum 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.Possible enum valuesauto
none
- consent_collection.
terms_ of_ servicenullable enum If set to
required
, it requires customers to accept the terms of service before being able to pay.Possible enum valuesnone
required
- createdtimestamp
Time at which the object was created. Measured in seconds since the Unix epoch.
- currency_
conversionnullable dictionary Currency conversion details for Adaptive Pricing sessions created before 2025-03-31.
- currency_conversion.
amount_ subtotalinteger Total of all items in source currency before discounts or taxes are applied.
- currency_conversion.
amount_ totalinteger Total of all items in source currency after discounts and taxes are applied.
- currency_conversion.
fx_ ratedecimal string Exchange rate used to convert source currency amounts to customer currency amounts
- currency_conversion.
source_ currencystring Creation currency of the CheckoutSession before localization
- custom_
fieldsarray of dictionaries Collect additional information from your customer using custom fields. Up to 3 fields are supported.
- custom_fields.
dropdownnullable dictionary Configuration for
type=dropdown
fields.- custom_fields.
dropdown. default_ valuenullable string The value that will pre-fill on the payment page.
- custom_fields.
dropdown. optionsarray of dictionaries The options available for the customer to select. Up to 200 options allowed.
- custom_fields.
dropdown. options. labelstring The label for the option, displayed to the customer. Up to 100 characters.
- custom_fields.
dropdown. options. valuestring The value for this option, not displayed to the customer, used by your integration to reconcile the option selected by the customer. Must be unique to this option, alphanumeric, and up to 100 characters.
- custom_fields.
dropdown. valuenullable string The option selected by the customer. This will be the
value
for the option.
- custom_fields.
keystring 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.
- custom_fields.
labeldictionary The label for the field, displayed to the customer.
- custom_fields.
label. customnullable string Custom text for the label, displayed to the customer. Up to 50 characters.
- custom_fields.
label. typeenum The type of the label.
Possible enum valuescustom
Set a custom label for the field.
- custom_fields.
numericnullable dictionary Configuration for
type=numeric
fields.- custom_fields.
numeric. default_ valuenullable string The value that will pre-fill the field on the payment page.
- custom_fields.
numeric. maximum_ lengthnullable integer The maximum character length constraint for the customer’s input.
- custom_fields.
numeric. minimum_ lengthnullable integer The minimum character length requirement for the customer’s input.
- custom_fields.
numeric. valuenullable string The value entered by the customer, containing only digits.
- custom_fields.
optionalboolean Whether the customer is required to complete the field before completing the Checkout Session. Defaults to
false
. - custom_fields.
textnullable dictionary Configuration for
type=text
fields.- custom_fields.
text. default_ valuenullable string The value that will pre-fill the field on the payment page.
- custom_fields.
text. maximum_ lengthnullable integer The maximum character length constraint for the customer’s input.
- custom_fields.
text. minimum_ lengthnullable integer The minimum character length requirement for the customer’s input.
- custom_fields.
text. valuenullable string The value entered by the customer.
- custom_fields.
typeenum The type of the field.
Possible enum valuesdropdown
Provide a list of options for your customer to select.
numeric
Collect a numbers-only field from your customer.
text
Collect a string field from your customer.
- custom_
textdictionary Display additional text for your customers using custom text.
- custom_text.
after_ submitnullable dictionary Custom text that should be displayed after the payment confirmation button.
- custom_text.
after_submit. messagestring Text may be up to 1200 characters in length.
- custom_text.
shipping_ addressnullable dictionary Custom text that should be displayed alongside shipping address collection.
- custom_text.
shipping_address. messagestring Text may be up to 1200 characters in length.
- custom_text.
submitnullable dictionary Custom text that should be displayed alongside the payment confirmation button.
- custom_text.
submit. messagestring Text may be up to 1200 characters in length.
- custom_text.
terms_ of_ service_ acceptancenullable dictionary Custom text that should be displayed in place of the default terms of service agreement text.
- custom_text.
terms_of_service_acceptance. messagestring Text may be up to 1200 characters in length.
- customer_
creationnullable enum Configure whether a Checkout Session creates a Customer when the Checkout Session completes.
Possible enum valuesalways
The Checkout Session will always create a Customer when a Session confirmation is attempted.
if_
required The Checkout Session will only create a Customer if it is required for Session confirmation. Currently, only
subscription
mode Sessions andpayment
mode Sessions with post-purchase invoices enabled require a Customer. - customer_
detailsnullable dictionary 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.
addressnullable dictionary The customer’s address after a completed Checkout Session. Note: This property is populated only for sessions on or after March 30, 2022.
- customer_details.
address. citynullable string City, district, suburb, town, or village.
- customer_details.
address. countrynullable string Two-letter country code (ISO 3166-1 alpha-2).
- customer_details.
address. line1nullable string Address line 1 (e.g., street, PO Box, or company name).
- customer_details.
address. line2nullable string Address line 2 (e.g., apartment, suite, unit, or building).
- customer_details.
address. postal_ codenullable string ZIP or postal code.
- customer_details.
address. statenullable string State, county, province, or region.
- customer_details.
emailnullable string 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.
- customer_details.
namenullable string The customer’s name after a completed Checkout Session. Note: This property is populated only for sessions on or after March 30, 2022.
- customer_details.
phonenullable string The customer’s phone number after a completed Checkout Session.
- customer_details.
tax_ exemptnullable enum The customer’s tax exempt status after a completed Checkout Session.
Possible enum valuesexempt
none
reverse
- customer_details.
tax_ idsnullable array of dictionaries The customer’s tax IDs after a completed Checkout Session.
- customer_details.
tax_ids. typeenum The type of the tax ID, one of
ad_
,nrt ar_
,cuit eu_
,vat bo_
,tin br_
,cnpj br_
,cpf cn_
,tin co_
,nit cr_
,tin do_
,rcn ec_
,ruc eu_
,oss_ vat hr_
,oib pe_
,ruc ro_
,tin rs_
,pib sv_
,nit uy_
,ruc ve_
,rif vn_
,tin gb_
,vat nz_
,gst au_
,abn au_
,arn in_
,gst no_
,vat no_
,voec za_
,vat ch_
,vat mx_
,rfc sg_
,uen ru_
,inn ru_
,kpp ca_
,bn hk_
,br es_
,cif tw_
,vat th_
,vat jp_
,cn jp_
,rn jp_
,trn li_
,uid li_
,vat my_
,itn us_
,ein kr_
,brn ca_
,qst ca_
,gst_ hst ca_
,pst_ bc ca_
,pst_ mb ca_
,pst_ sk my_
,sst sg_
,gst ae_
,trn cl_
,tin sa_
,vat id_
,npwp my_
,frp il_
,vat ge_
,vat ua_
,vat is_
,vat bg_
,uic hu_
,tin si_
,tin ke_
,pin tr_
,tin eg_
,tin ph_
,tin al_
,tin bh_
,vat kz_
,bin ng_
,tin om_
,vat de_
,stn ch_
,uid tz_
,vat uz_
,vat uz_
,tin md_
,vat ma_
,vat by_
,tin ao_
,tin bs_
,tin bb_
,tin cd_
,nif mr_
,nif me_
,pib zw_
,tin ba_
,tin gn_
,nif mk_
,vat sr_
,fin sn_
,ninea am_
,tin np_
,pan tj_
,tin ug_
,tin zm_
,tin kh_
,tin aw_
,tin az_
,tin bd_
,bin bj_
,ifu et_
,tin kg_
,tin la_
,tin cm_
,niu cv_
,nif bf_
, orifu unknown
Possible enum valuesad_
nrt ae_
trn al_
tin am_
tin ao_
tin ar_
cuit au_
abn au_
arn aw_
tin az_
tin Show 101 more - customer_details.
tax_ids. valuenullable string The value of the tax ID.
- discountsnullable array of dictionaries
List of coupons and promotion codes attached to the Checkout Session.
- discounts.
couponnullable stringExpandable Coupon attached to the Checkout Session.
- discounts.
promotion_ codenullable stringExpandable Promotion code attached to the Checkout Session.
- expires_
attimestamp The timestamp at which the Checkout Session will expire.
- invoicenullable stringExpandable
ID of the invoice created by the Checkout Session, if it exists.
- invoice_
creationnullable dictionary Details on the state of invoice creation for the Checkout Session.
- invoice_creation.
enabledboolean Indicates whether invoice creation is enabled for the Checkout Session.
- invoice_creation.
invoice_ datadictionary Parameters passed when creating invoices for payment-mode Checkout Sessions.
- invoice_creation.
invoice_data. account_ tax_ idsnullable array of stringsExpandable The account tax IDs associated with the invoice.
- invoice_creation.
invoice_data. custom_ fieldsnullable array of dictionaries Custom fields displayed on the invoice.
- invoice_creation.
invoice_data. custom_fields. namestring The name of the custom field.
- invoice_creation.
invoice_data. custom_fields. valuestring The value of the custom field.
- invoice_creation.
invoice_data. descriptionnullable string An arbitrary string attached to the object. Often useful for displaying to users.
- invoice_creation.
invoice_data. nullable string Footer displayed on the invoice.
- invoice_creation.
invoice_data. issuernullable dictionaryConnect only The connected account that issues the invoice. The invoice is presented with the branding and support information of the specified account.
- invoice_creation.
invoice_data. issuer. accountnullable stringExpandable The connected account being referenced when
type
isaccount
. - invoice_creation.
invoice_data. issuer. typeenum Type of the account referenced.
Possible enum valuesaccount
Indicates that the account being referenced is a connected account which is different from the account making the API request but related to it.
self
Indicates that the account being referenced is the account making the API request.
- invoice_creation.
invoice_data. metadatanullable dictionary Set of key-value pairs that you can attach to an object. This can be useful for storing additional information about the object in a structured format.
- invoice_creation.
invoice_data. rendering_ optionsnullable dictionary Options for invoice PDF rendering.
- invoice_creation.
invoice_data. rendering_options. amount_ tax_ displaynullable string How line-item prices and amounts will be displayed with respect to tax on invoice PDFs.
- invoice_creation.
invoice_data. rendering_options. templatenullable string ID of the invoice rendering template to be used for the generated invoice.
- livemodeboolean
Has the value
true
if the object exists in live mode or the valuefalse
if the object exists in test mode. - localenullable enum
The IETF language tag of the locale Checkout is displayed in. If blank or
auto
, the browser’s locale is used.Possible enum valuesauto
bg
cs
da
de
el
en
en-GB
es
es-419
Show 31 more - optional_
itemsnullable array of dictionariesExpandable The optional items presented to the customer at checkout.
- origin_
contextnullable enum Where the user is coming from. This informs the optimizations that are applied to the session.
Possible enum valuesmobile_
app The Checkout Session originates from a mobile app.
web
The Checkout Session originates from a web page.
- payment_
linknullable stringExpandable The ID of the Payment Link that created this Session.
- payment_
method_ collectionnullable enum Configure whether a Checkout Session should collect a payment method. Defaults to
always
.Possible enum valuesalways
The Checkout Session will always collect a PaymentMethod.
if_
required The Checkout Session will only collect a PaymentMethod if there is an amount due.
- payment_
method_ configuration_ detailsnullable dictionary Information about the payment method configuration used for this Checkout session if using dynamic payment methods.
- payment_method_configuration_details.
idstring ID of the payment method configuration used.
- payment_method_configuration_details.
parentnullable string ID of the parent payment method configuration used.
- payment_
method_ optionsnullable dictionary Payment-method-specific configuration for the PaymentIntent or SetupIntent of this CheckoutSession.
- payment_method_options.
acss_ debitnullable dictionary If the Checkout Session’s payment_method_types includes
acss_
, this hash contains the configurations that will be applied to each payment attempt of that type.debit - payment_method_options.
acss_debit. currencynullable enum Currency supported by the bank account. Returned when the Session is in
setup
mode.Possible enum valuescad
Canadian dollars
usd
US dollars
- payment_method_options.
acss_debit. mandate_ optionsnullable dictionary Additional fields for Mandate creation
- payment_method_options.
acss_debit. mandate_options. custom_ mandate_ urlnullable string A URL for custom mandate text
- payment_method_options.
acss_debit. mandate_options. default_ fornullable array of enums List of Stripe products where this mandate can be selected automatically. Returned when the Session is in
setup
mode.Possible enum valuesinvoice
Enables payments for Stripe Invoices. ‘subscription’ must also be provided.
subscription
Enables payments for Stripe Subscriptions. ‘invoice’ must also be provided.
- payment_method_options.
acss_debit. mandate_options. interval_ descriptionnullable string Description of the interval. Only required if the ‘payment_schedule’ parameter is ‘interval’ or ‘combined’.
- payment_method_options.
acss_debit. mandate_options. payment_ schedulenullable enum Payment schedule for the mandate.
Possible enum valuescombined
Payments can be initiated at a pre-defined interval or sporadically
interval
Payments are initiated at a regular pre-defined interval
sporadic
Payments are initiated sporadically
- payment_method_options.
acss_debit. mandate_options. transaction_ typenullable enum Transaction type of the mandate.
Possible enum valuesbusiness
Transactions are made for business reasons
personal
Transactions are made for personal reasons
- payment_method_options.
acss_debit. setup_ future_ usagenullable enum 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 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 the payment method to a Customer after the transaction completes.
If the payment method is
card_
and isn’t a digital wallet, Stripe creates and attaches a generated_card payment method representing the card to the Customer instead.present When processing card payments, Stripe uses
setup_
to help you comply with regional legislation and network rules, such as SCA.future_ usage Possible enum valuesnone
Use
none
if you do not intend to reuse this payment method and want to override the top-levelsetup_
value for this payment method.future_ usage off_
session Use
off_
if your customer may or may not be present in your checkout flow.session on_
session Use
on_
if you intend to only reuse the payment method when your customer is present in your checkout flow.session - payment_method_options.
acss_debit. target_ datenullable string 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.
- payment_method_options.
acss_debit. verification_ methodnullable enum Bank account verification method.
Possible enum valuesautomatic
Instant verification with fallback to microdeposits.
instant
Instant verification.
microdeposits
Verification using microdeposits.
- payment_method_options.
affirmnullable dictionary If the Checkout Session’s payment_method_types includes
affirm
, this hash contains the configurations that will be applied to each payment attempt of that type.- payment_method_options.
affirm. setup_ future_ usagenullable enum 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 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 the payment method to a Customer after the transaction completes.
If the payment method is
card_
and isn’t a digital wallet, Stripe creates and attaches a generated_card payment method representing the card to the Customer instead.present When processing card payments, Stripe uses
setup_
to help you comply with regional legislation and network rules, such as SCA.future_ usage Possible enum valuesnone
Use
none
if you do not intend to reuse this payment method and want to override the top-levelsetup_
value for this payment method.future_ usage
- payment_method_options.
afterpay_ clearpaynullable dictionary If the Checkout Session’s payment_method_types includes
afterpay_
, this hash contains the configurations that will be applied to each payment attempt of that type.clearpay - payment_method_options.
afterpay_clearpay. setup_ future_ usagenullable enum 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 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 the payment method to a Customer after the transaction completes.
If the payment method is
card_
and isn’t a digital wallet, Stripe creates and attaches a generated_card payment method representing the card to the Customer instead.present When processing card payments, Stripe uses
setup_
to help you comply with regional legislation and network rules, such as SCA.future_ usage Possible enum valuesnone
Use
none
if you do not intend to reuse this payment method and want to override the top-levelsetup_
value for this payment method.future_ usage
- payment_method_options.
alipaynullable dictionary If the Checkout Session’s payment_method_types includes
alipay
, this hash contains the configurations that will be applied to each payment attempt of that type.- payment_method_options.
alipay. setup_ future_ usagenullable enum 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 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 the payment method to a Customer after the transaction completes.
If the payment method is
card_
and isn’t a digital wallet, Stripe creates and attaches a generated_card payment method representing the card to the Customer instead.present When processing card payments, Stripe uses
setup_
to help you comply with regional legislation and network rules, such as SCA.future_ usage Possible enum valuesnone
Use
none
if you do not intend to reuse this payment method and want to override the top-levelsetup_
value for this payment method.future_ usage
- payment_method_options.
amazon_ paynullable dictionary If the Checkout Session’s payment_method_types includes
amazon_
, this hash contains the configurations that will be applied to each payment attempt of that type.pay - payment_method_options.
amazon_pay. setup_ future_ usagenullable enum 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 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 the payment method to a Customer after the transaction completes.
If the payment method is
card_
and isn’t a digital wallet, Stripe creates and attaches a generated_card payment method representing the card to the Customer instead.present When processing card payments, Stripe uses
setup_
to help you comply with regional legislation and network rules, such as SCA.future_ usage Possible enum valuesnone
Use
none
if you do not intend to reuse this payment method and want to override the top-levelsetup_
value for this payment method.future_ usage off_
session Use
off_
if your customer may or may not be present in your checkout flow.session
- payment_method_options.
au_ becs_ debitnullable dictionary If the Checkout Session’s payment_method_types includes
au_
, this hash contains the configurations that will be applied to each payment attempt of that type.becs_ debit - payment_method_options.
au_becs_debit. setup_ future_ usagenullable enum 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 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 the payment method to a Customer after the transaction completes.
If the payment method is
card_
and isn’t a digital wallet, Stripe creates and attaches a generated_card payment method representing the card to the Customer instead.present When processing card payments, Stripe uses
setup_
to help you comply with regional legislation and network rules, such as SCA.future_ usage Possible enum valuesnone
Use
none
if you do not intend to reuse this payment method and want to override the top-levelsetup_
value for this payment method.future_ usage - payment_method_options.
au_becs_debit. target_ datenullable string 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.
- payment_method_options.
bacs_ debitnullable dictionary If the Checkout Session’s payment_method_types includes
bacs_
, this hash contains the configurations that will be applied to each payment attempt of that type.debit - payment_method_options.
bacs_debit. mandate_ optionsnullable dictionary Additional fields for Mandate creation
- payment_method_options.
bacs_debit. mandate_options. reference_ prefixnullable stringPreview feature 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’.
- payment_method_options.
bacs_debit. setup_ future_ usagenullable enum 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 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 the payment method to a Customer after the transaction completes.
If the payment method is
card_
and isn’t a digital wallet, Stripe creates and attaches a generated_card payment method representing the card to the Customer instead.present When processing card payments, Stripe uses
setup_
to help you comply with regional legislation and network rules, such as SCA.future_ usage Possible enum valuesnone
Use
none
if you do not intend to reuse this payment method and want to override the top-levelsetup_
value for this payment method.future_ usage off_
session Use
off_
if your customer may or may not be present in your checkout flow.session on_
session Use
on_
if you intend to only reuse the payment method when your customer is present in your checkout flow.session - payment_method_options.
bacs_debit. target_ datenullable string 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.
- payment_method_options.
bancontactnullable dictionary If the Checkout Session’s payment_method_types includes
bancontact
, this hash contains the configurations that will be applied to each payment attempt of that type.- payment_method_options.
bancontact. setup_ future_ usagenullable enum 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 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 the payment method to a Customer after the transaction completes.
If the payment method is
card_
and isn’t a digital wallet, Stripe creates and attaches a generated_card payment method representing the card to the Customer instead.present When processing card payments, Stripe uses
setup_
to help you comply with regional legislation and network rules, such as SCA.future_ usage Possible enum valuesnone
Use
none
if you do not intend to reuse this payment method and want to override the top-levelsetup_
value for this payment method.future_ usage
- payment_method_options.
boletonullable dictionary If the Checkout Session’s payment_method_types includes
boleto
, this hash contains the configurations that will be applied to each payment attempt of that type.- payment_method_options.
boleto. expires_ after_ daysinteger 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.
- payment_method_options.
boleto. setup_ future_ usagenullable enum 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 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 the payment method to a Customer after the transaction completes.
If the payment method is
card_
and isn’t a digital wallet, Stripe creates and attaches a generated_card payment method representing the card to the Customer instead.present When processing card payments, Stripe uses
setup_
to help you comply with regional legislation and network rules, such as SCA.future_ usage Possible enum valuesnone
Use
none
if you do not intend to reuse this payment method and want to override the top-levelsetup_
value for this payment method.future_ usage off_
session Use
off_
if your customer may or may not be present in your checkout flow.session on_
session Use
on_
if you intend to only reuse the payment method when your customer is present in your checkout flow.session
- payment_method_options.
cardnullable dictionary If the Checkout Session’s payment_method_types includes
card
, this hash contains the configurations that will be applied to each payment attempt of that type.- payment_method_options.
card. installmentsnullable dictionary Additional fields for Installments configuration
- payment_method_options.
card. installments. enablednullable boolean Indicates if installments are enabled
- payment_method_options.
card. nullable enum Request ability to capture beyond the standard authorization validity window for this CheckoutSession.
Possible enum valuesif_
available Use
if_
if you want to extend the capture window when eligible for extended authorization.available never
Use
never
if you don’t want to extend the capture window. - payment_method_options.
card. nullable enum Request ability to increment the authorization for this CheckoutSession.
Possible enum valuesif_
available Use
if_
if you want to increment the authorization on the PaymentIntent when eligible.available never
Use
never
if you don’t want to increment the authorization on the PaymentIntent. - payment_method_options.
card. request_ multicapturenullable enum Request ability to make multiple captures for this CheckoutSession.
Possible enum valuesif_
available Use
if_
if you want to use multicapture when eligible.available never
Use
never
if you don’t want to use multicapture. - payment_method_options.
card. request_ overcapturenullable enum Request ability to overcapture for this CheckoutSession.
Possible enum valuesif_
available Use
if_
if you want to overcapture the payment when eligible.available never
Use
never
if you don’t want to overcapture the payment. - payment_method_options.
card. request_ three_ d_ secureenumadvanced We strongly recommend that you rely on our SCA Engine to automatically prompt your customers for authentication based on risk level and other requirements. 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 for more information on how this configuration interacts with Radar and our SCA Engine.Possible enum valuesany
Use
any
to manually request 3DS with a preference for africtionless
flow, increasing the likelihood of the authentication being completed without any additional input from the customer. 3DS will always be attempted if it is supported for the card, but Stripe can’t guarantee your preference because the issuer determines the ultimate authentication flow. To learn more about 3DS flows, read our guide.automatic
(Default) Our SCA Engine automatically prompts your customers for authentication based on risk level and other requirements.
challenge
Use
challenge
to request 3DS with a preference for achallenge
flow, where the customer must respond to a prompt for active authentication. Stripe can’t guarantee your preference because the issuer determines the ultimate authentication flow. To learn more about 3DS flows, read our guide. - payment_method_options.
card. restrictionsnullable dictionary Restrictions to apply to the card payment method. For example, you can block specific card brands.
- payment_method_options.
card. restrictions. brands_ blockednullable array of enums Specify the card brands to block in the Checkout Session. If a customer enters or selects a card belonging to a blocked brand, they can’t complete the Session.
Possible enum valuesamerican_
express discover_
global_ network mastercard
visa
- payment_method_options.
card. setup_ future_ usagenullable enum 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 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 the payment method to a Customer after the transaction completes.
If the payment method is
card_
and isn’t a digital wallet, Stripe creates and attaches a generated_card payment method representing the card to the Customer instead.present When processing card payments, Stripe uses
setup_
to help you comply with regional legislation and network rules, such as SCA.future_ usage Possible enum valuesnone
Use
none
if you do not intend to reuse this payment method and want to override the top-levelsetup_
value for this payment method.future_ usage off_
session Use
off_
if your customer may or may not be present in your checkout flow.session on_
session Use
on_
if you intend to only reuse the payment method when your customer is present in your checkout flow.session - payment_method_options.
card. statement_ descriptor_ suffix_ kananullable string 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.
- payment_method_options.
card. statement_ descriptor_ suffix_ kanjinullable string 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.
- payment_method_options.
cashappnullable dictionary If the Checkout Session’s payment_method_types includes
cashapp
, this hash contains the configurations that will be applied to each payment attempt of that type.- payment_method_options.
cashapp. setup_ future_ usagenullable enum 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 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 the payment method to a Customer after the transaction completes.
If the payment method is
card_
and isn’t a digital wallet, Stripe creates and attaches a generated_card payment method representing the card to the Customer instead.present When processing card payments, Stripe uses
setup_
to help you comply with regional legislation and network rules, such as SCA.future_ usage Possible enum valuesnone
Use
none
if you do not intend to reuse this payment method and want to override the top-levelsetup_
value for this payment method.future_ usage
- payment_method_options.
customer_ balancenullable dictionary If the Checkout Session’s payment_method_types includes
customer_
, this hash contains the configurations that will be applied to each payment attempt of that type.balance - payment_method_options.
customer_balance. bank_ transfernullable dictionary Configuration for the bank transfer funding type, if the
funding_
is set totype bank_
.transfer - payment_method_options.
customer_balance. bank_transfer. eu_ bank_ transfernullable dictionary Configuration for eu_bank_transfer
- payment_method_options.
customer_balance. bank_transfer. eu_bank_transfer. countryenum The desired country code of the bank account information. Permitted values include:
BE
,DE
,ES
,FR
,IE
, orNL
.Possible enum valuesBE
DE
ES
FR
IE
NL
- payment_method_options.
customer_balance. bank_transfer. requested_ address_ typesnullable array of enums 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
, orspei
.Possible enum valuesaba
aba bank account address type
iban
iban bank account address type
sepa
sepa bank account address type
sort_
code sort_code bank account address type
spei
spei bank account address type
swift
swift bank account address type
zengin
zengin bank account address type
- payment_method_options.
customer_balance. bank_transfer. typenullable enum 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_
, orbank_ transfer us_
.bank_ transfer Possible enum valueseu_
bank_ transfer A bank transfer of type eu_bank_transfer
gb_
bank_ transfer A bank transfer of type gb_bank_transfer
jp_
bank_ transfer A bank transfer of type jp_bank_transfer
mx_
bank_ transfer A bank transfer of type mx_bank_transfer
us_
bank_ transfer A bank transfer of type us_bank_transfer
- payment_method_options.
customer_balance. funding_ typenullable enum The funding method type to be used when there are not enough funds in the customer balance. Permitted values include:
bank_
.transfer Possible enum valuesbank_
transfer - payment_method_options.
customer_balance. setup_ future_ usagenullable enum 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 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 the payment method to a Customer after the transaction completes.
If the payment method is
card_
and isn’t a digital wallet, Stripe creates and attaches a generated_card payment method representing the card to the Customer instead.present When processing card payments, Stripe uses
setup_
to help you comply with regional legislation and network rules, such as SCA.future_ usage Possible enum valuesnone
Use
none
if you do not intend to reuse this payment method and want to override the top-levelsetup_
value for this payment method.future_ usage
- payment_method_options.
epsnullable dictionary If the Checkout Session’s payment_method_types includes
eps
, this hash contains the configurations that will be applied to each payment attempt of that type.- payment_method_options.
eps. setup_ future_ usagenullable enum 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 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 the payment method to a Customer after the transaction completes.
If the payment method is
card_
and isn’t a digital wallet, Stripe creates and attaches a generated_card payment method representing the card to the Customer instead.present When processing card payments, Stripe uses
setup_
to help you comply with regional legislation and network rules, such as SCA.future_ usage Possible enum valuesnone
Use
none
if you do not intend to reuse this payment method and want to override the top-levelsetup_
value for this payment method.future_ usage
- payment_method_options.
fpxnullable dictionary If the Checkout Session’s payment_method_types includes
fpx
, this hash contains the configurations that will be applied to each payment attempt of that type.- payment_method_options.
fpx. setup_ future_ usagenullable enum 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 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 the payment method to a Customer after the transaction completes.
If the payment method is
card_
and isn’t a digital wallet, Stripe creates and attaches a generated_card payment method representing the card to the Customer instead.present When processing card payments, Stripe uses
setup_
to help you comply with regional legislation and network rules, such as SCA.future_ usage Possible enum valuesnone
Use
none
if you do not intend to reuse this payment method and want to override the top-levelsetup_
value for this payment method.future_ usage
- payment_method_options.
giropaynullable dictionary If the Checkout Session’s payment_method_types includes
giropay
, this hash contains the configurations that will be applied to each payment attempt of that type.- payment_method_options.
giropay. setup_ future_ usagenullable enum 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 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 the payment method to a Customer after the transaction completes.
If the payment method is
card_
and isn’t a digital wallet, Stripe creates and attaches a generated_card payment method representing the card to the Customer instead.present When processing card payments, Stripe uses
setup_
to help you comply with regional legislation and network rules, such as SCA.future_ usage Possible enum valuesnone
Use
none
if you do not intend to reuse this payment method and want to override the top-levelsetup_
value for this payment method.future_ usage
- payment_method_options.
grabpaynullable dictionary If the Checkout Session’s payment_method_types includes
grabpay
, this hash contains the configurations that will be applied to each payment attempt of that type.- payment_method_options.
grabpay. setup_ future_ usagenullable enum 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 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 the payment method to a Customer after the transaction completes.
If the payment method is
card_
and isn’t a digital wallet, Stripe creates and attaches a generated_card payment method representing the card to the Customer instead.present When processing card payments, Stripe uses
setup_
to help you comply with regional legislation and network rules, such as SCA.future_ usage Possible enum valuesnone
Use
none
if you do not intend to reuse this payment method and want to override the top-levelsetup_
value for this payment method.future_ usage
- payment_method_options.
idealnullable dictionary If the Checkout Session’s payment_method_types includes
ideal
, this hash contains the configurations that will be applied to each payment attempt of that type.- payment_method_options.
ideal. setup_ future_ usagenullable enum 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 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 the payment method to a Customer after the transaction completes.
If the payment method is
card_
and isn’t a digital wallet, Stripe creates and attaches a generated_card payment method representing the card to the Customer instead.present When processing card payments, Stripe uses
setup_
to help you comply with regional legislation and network rules, such as SCA.future_ usage Possible enum valuesnone
Use
none
if you do not intend to reuse this payment method and want to override the top-levelsetup_
value for this payment method.future_ usage
- payment_method_options.
kakao_ paynullable dictionary If the Checkout Session’s payment_method_types includes
kakao_
, this hash contains the configurations that will be applied to each payment attempt of that type.pay - payment_method_options.
kakao_pay. capture_ methodnullable enum Controls when the funds will be captured from the customer’s account.
Possible enum valuesmanual
Use
manual
if you intend to place the funds on hold and want to override the top-levelcapture_
value for this payment method.method - payment_method_options.
kakao_pay. setup_ future_ usagenullable enum 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 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 the payment method to a Customer after the transaction completes.
If the payment method is
card_
and isn’t a digital wallet, Stripe creates and attaches a generated_card payment method representing the card to the Customer instead.present When processing card payments, Stripe uses
setup_
to help you comply with regional legislation and network rules, such as SCA.future_ usage Possible enum valuesnone
Use
none
if you do not intend to reuse this payment method and want to override the top-levelsetup_
value for this payment method.future_ usage off_
session Use
off_
if your customer may or may not be present in your checkout flow.session
- payment_method_options.
klarnanullable dictionary If the Checkout Session’s payment_method_types includes
klarna
, this hash contains the configurations that will be applied to each payment attempt of that type.- payment_method_options.
klarna. setup_ future_ usagenullable enum 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 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 the payment method to a Customer after the transaction completes.
If the payment method is
card_
and isn’t a digital wallet, Stripe creates and attaches a generated_card payment method representing the card to the Customer instead.present When processing card payments, Stripe uses
setup_
to help you comply with regional legislation and network rules, such as SCA.future_ usage Possible enum valuesnone
Use
none
if you do not intend to reuse this payment method and want to override the top-levelsetup_
value for this payment method.future_ usage off_
session Use
off_
if your customer may or may not be present in your checkout flow.session on_
session Use
on_
if you intend to only reuse the payment method when your customer is present in your checkout flow.session
- payment_method_options.
konbininullable dictionary If the Checkout Session’s payment_method_types includes
konbini
, this hash contains the configurations that will be applied to each payment attempt of that type.- payment_method_options.
konbini. expires_ after_ daysnullable integer The number of calendar days (between 1 and 60) after which Konbini payment instructions will expire. For example, if a PaymentIntent is confirmed with Konbini and
expires_
set to 2 on Monday JST, the instructions will expire on Wednesday 23:59:59 JST.after_ days - payment_method_options.
konbini. setup_ future_ usagenullable enum 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 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 the payment method to a Customer after the transaction completes.
If the payment method is
card_
and isn’t a digital wallet, Stripe creates and attaches a generated_card payment method representing the card to the Customer instead.present When processing card payments, Stripe uses
setup_
to help you comply with regional legislation and network rules, such as SCA.future_ usage Possible enum valuesnone
Use
none
if you do not intend to reuse this payment method and want to override the top-levelsetup_
value for this payment method.future_ usage
- payment_method_options.
kr_ cardnullable dictionary If the Checkout Session’s payment_method_types includes
kr_
, this hash contains the configurations that will be applied to each payment attempt of that type.card - payment_method_options.
kr_card. capture_ methodnullable enum Controls when the funds will be captured from the customer’s account.
Possible enum valuesmanual
Use
manual
if you intend to place the funds on hold and want to override the top-levelcapture_
value for this payment method.method - payment_method_options.
kr_card. setup_ future_ usagenullable enum 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 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 the payment method to a Customer after the transaction completes.
If the payment method is
card_
and isn’t a digital wallet, Stripe creates and attaches a generated_card payment method representing the card to the Customer instead.present When processing card payments, Stripe uses
setup_
to help you comply with regional legislation and network rules, such as SCA.future_ usage Possible enum valuesnone
Use
none
if you do not intend to reuse this payment method and want to override the top-levelsetup_
value for this payment method.future_ usage off_
session Use
off_
if your customer may or may not be present in your checkout flow.session
- payment_method_options.
linknullable dictionary If the Checkout Session’s payment_method_types includes
link
, this hash contains the configurations that will be applied to each payment attempt of that type.- payment_method_options.
link. setup_ future_ usagenullable enum 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 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 the payment method to a Customer after the transaction completes.
If the payment method is
card_
and isn’t a digital wallet, Stripe creates and attaches a generated_card payment method representing the card to the Customer instead.present When processing card payments, Stripe uses
setup_
to help you comply with regional legislation and network rules, such as SCA.future_ usage Possible enum valuesnone
Use
none
if you do not intend to reuse this payment method and want to override the top-levelsetup_
value for this payment method.future_ usage off_
session Use
off_
if your customer may or may not be present in your checkout flow.session
- payment_method_options.
mobilepaynullable dictionary If the Checkout Session’s payment_method_types includes
mobilepay
, this hash contains the configurations that will be applied to each payment attempt of that type.- payment_method_options.
mobilepay. setup_ future_ usagenullable enum 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 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 the payment method to a Customer after the transaction completes.
If the payment method is
card_
and isn’t a digital wallet, Stripe creates and attaches a generated_card payment method representing the card to the Customer instead.present When processing card payments, Stripe uses
setup_
to help you comply with regional legislation and network rules, such as SCA.future_ usage Possible enum valuesnone
Use
none
if you do not intend to reuse this payment method and want to override the top-levelsetup_
value for this payment method.future_ usage
- payment_method_options.
multibanconullable dictionary If the Checkout Session’s payment_method_types includes
multibanco
, this hash contains the configurations that will be applied to each payment attempt of that type.- payment_method_options.
multibanco. setup_ future_ usagenullable enum 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 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 the payment method to a Customer after the transaction completes.
If the payment method is
card_
and isn’t a digital wallet, Stripe creates and attaches a generated_card payment method representing the card to the Customer instead.present When processing card payments, Stripe uses
setup_
to help you comply with regional legislation and network rules, such as SCA.future_ usage Possible enum valuesnone
Use
none
if you do not intend to reuse this payment method and want to override the top-levelsetup_
value for this payment method.future_ usage
- payment_method_options.
nullable dictionary If the Checkout Session’s payment_method_types includes
naver_
, this hash contains the configurations that will be applied to each payment attempt of that type.pay - payment_method_options.
naver_pay. nullable enum Controls when the funds will be captured from the customer’s account.
Possible enum valuesmanual
Use
manual
if you intend to place the funds on hold and want to override the top-levelcapture_
value for this payment method.method - payment_method_options.
naver_pay. nullable enum 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 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 the payment method to a Customer after the transaction completes.
If the payment method is
card_
and isn’t a digital wallet, Stripe creates and attaches a generated_card payment method representing the card to the Customer instead.present When processing card payments, Stripe uses
setup_
to help you comply with regional legislation and network rules, such as SCA.future_ usage Possible enum valuesnone
Use
none
if you do not intend to reuse this payment method and want to override the top-levelsetup_
value for this payment method.future_ usage off_
session Use
off_
if your customer may or may not be present in your checkout flow.session
- payment_method_options.
oxxonullable dictionary If the Checkout Session’s payment_method_types includes
oxxo
, this hash contains the configurations that will be applied to each payment attempt of that type.- payment_method_options.
oxxo. expires_ after_ daysinteger The number of calendar days before an OXXO invoice expires. For example, if you create an OXXO invoice on Monday and you set expires_after_days to 2, the OXXO invoice will expire on Wednesday at 23:59 America/Mexico_City time.
- payment_method_options.
oxxo. setup_ future_ usagenullable enum 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 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 the payment method to a Customer after the transaction completes.
If the payment method is
card_
and isn’t a digital wallet, Stripe creates and attaches a generated_card payment method representing the card to the Customer instead.present When processing card payments, Stripe uses
setup_
to help you comply with regional legislation and network rules, such as SCA.future_ usage Possible enum valuesnone
Use
none
if you do not intend to reuse this payment method and want to override the top-levelsetup_
value for this payment method.future_ usage
- payment_method_options.
p24nullable dictionary If the Checkout Session’s payment_method_types includes
p24
, this hash contains the configurations that will be applied to each payment attempt of that type.- payment_method_options.
p24. setup_ future_ usagenullable enum 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 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 the payment method to a Customer after the transaction completes.
If the payment method is
card_
and isn’t a digital wallet, Stripe creates and attaches a generated_card payment method representing the card to the Customer instead.present When processing card payments, Stripe uses
setup_
to help you comply with regional legislation and network rules, such as SCA.future_ usage Possible enum valuesnone
Use
none
if you do not intend to reuse this payment method and want to override the top-levelsetup_
value for this payment method.future_ usage
- payment_method_options.
payconullable dictionary If the Checkout Session’s payment_method_types includes
payco
, this hash contains the configurations that will be applied to each payment attempt of that type.- payment_method_options.
payco. capture_ methodnullable enum Controls when the funds will be captured from the customer’s account.
Possible enum valuesmanual
Use
manual
if you intend to place the funds on hold and want to override the top-levelcapture_
value for this payment method.method
- payment_method_options.
paynownullable dictionary If the Checkout Session’s payment_method_types includes
paynow
, this hash contains the configurations that will be applied to each payment attempt of that type.- payment_method_options.
paynow. setup_ future_ usagenullable enum 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 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 the payment method to a Customer after the transaction completes.
If the payment method is
card_
and isn’t a digital wallet, Stripe creates and attaches a generated_card payment method representing the card to the Customer instead.present When processing card payments, Stripe uses
setup_
to help you comply with regional legislation and network rules, such as SCA.future_ usage Possible enum valuesnone
Use
none
if you do not intend to reuse this payment method and want to override the top-levelsetup_
value for this payment method.future_ usage
- payment_method_options.
paypalnullable dictionary If the Checkout Session’s payment_method_types includes
paypal
, this hash contains the configurations that will be applied to each payment attempt of that type.- payment_method_options.
paypal. capture_ methodnullable enum Controls when the funds will be captured from the customer’s account.
Possible enum valuesmanual
Use
manual
if you intend to place the funds on hold and want to override the top-levelcapture_
value for this payment method.method - payment_method_options.
paypal. preferred_ localenullable string Preferred locale of the PayPal checkout page that the customer is redirected to.
- payment_method_options.
paypal. referencenullable string A reference of the PayPal transaction visible to customer which is mapped to PayPal’s invoice ID. This must be a globally unique ID if you have configured in your PayPal settings to block multiple payments per invoice ID.
- payment_method_options.
paypal. setup_ future_ usagenullable enum 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 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 the payment method to a Customer after the transaction completes.
If the payment method is
card_
and isn’t a digital wallet, Stripe creates and attaches a generated_card payment method representing the card to the Customer instead.present When processing card payments, Stripe uses
setup_
to help you comply with regional legislation and network rules, such as SCA.future_ usage Possible enum valuesnone
Use
none
if you do not intend to reuse this payment method and want to override the top-levelsetup_
value for this payment method.future_ usage off_
session Use
off_
if your customer may or may not be present in your checkout flow.session
- payment_method_options.
pixnullable dictionary If the Checkout Session’s payment_method_types includes
pix
, this hash contains the configurations that will be applied to each payment attempt of that type.- payment_method_options.
pix. amount_ includes_ iofnullable enum Determines if the amount includes the IOF tax.
Possible enum valuesalways
The IOF tax is included in the amount.
never
The IOF tax is not included in the amount.
- payment_method_options.
pix. expires_ after_ secondsnullable integer The number of seconds after which Pix payment will expire.
- payment_method_options.
pix. setup_ future_ usagenullable enum 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 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 the payment method to a Customer after the transaction completes.
If the payment method is
card_
and isn’t a digital wallet, Stripe creates and attaches a generated_card payment method representing the card to the Customer instead.present When processing card payments, Stripe uses
setup_
to help you comply with regional legislation and network rules, such as SCA.future_ usage Possible enum valuesnone
Use
none
if you do not intend to reuse this payment method and want to override the top-levelsetup_
value for this payment method.future_ usage
- payment_method_options.
revolut_ paynullable dictionary If the Checkout Session’s payment_method_types includes
revolut_
, this hash contains the configurations that will be applied to each payment attempt of that type.pay - payment_method_options.
revolut_pay. setup_ future_ usagenullable enum 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 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 the payment method to a Customer after the transaction completes.
If the payment method is
card_
and isn’t a digital wallet, Stripe creates and attaches a generated_card payment method representing the card to the Customer instead.present When processing card payments, Stripe uses
setup_
to help you comply with regional legislation and network rules, such as SCA.future_ usage Possible enum valuesnone
Use
none
if you do not intend to reuse this payment method and want to override the top-levelsetup_
value for this payment method.future_ usage off_
session Use
off_
if your customer may or may not be present in your checkout flow.session
- payment_method_options.
samsung_ paynullable dictionary If the Checkout Session’s payment_method_types includes
samsung_
, this hash contains the configurations that will be applied to each payment attempt of that type.pay - payment_method_options.
samsung_pay. capture_ methodnullable enum Controls when the funds will be captured from the customer’s account.
Possible enum valuesmanual
Use
manual
if you intend to place the funds on hold and want to override the top-levelcapture_
value for this payment method.method
- payment_method_options.
sepa_ debitnullable dictionary If the Checkout Session’s payment_method_types includes
sepa_
, this hash contains the configurations that will be applied to each payment attempt of that type.debit - payment_method_options.
sepa_debit. mandate_ optionsnullable dictionary Additional fields for Mandate creation
- payment_method_options.
sepa_debit. mandate_options. reference_ prefixnullable stringPreview feature 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 ‘STRIPE’.
- payment_method_options.
sepa_debit. setup_ future_ usagenullable enum 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 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 the payment method to a Customer after the transaction completes.
If the payment method is
card_
and isn’t a digital wallet, Stripe creates and attaches a generated_card payment method representing the card to the Customer instead.present When processing card payments, Stripe uses
setup_
to help you comply with regional legislation and network rules, such as SCA.future_ usage Possible enum valuesnone
Use
none
if you do not intend to reuse this payment method and want to override the top-levelsetup_
value for this payment method.future_ usage off_
session Use
off_
if your customer may or may not be present in your checkout flow.session on_
session Use
on_
if you intend to only reuse the payment method when your customer is present in your checkout flow.session - payment_method_options.
sepa_debit. target_ datenullable string 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.
- payment_method_options.
sofortnullable dictionary If the Checkout Session’s payment_method_types includes
sofort
, this hash contains the configurations that will be applied to each payment attempt of that type.- payment_method_options.
sofort. setup_ future_ usagenullable enum 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 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 the payment method to a Customer after the transaction completes.
If the payment method is
card_
and isn’t a digital wallet, Stripe creates and attaches a generated_card payment method representing the card to the Customer instead.present When processing card payments, Stripe uses
setup_
to help you comply with regional legislation and network rules, such as SCA.future_ usage Possible enum valuesnone
Use
none
if you do not intend to reuse this payment method and want to override the top-levelsetup_
value for this payment method.future_ usage
- payment_method_options.
swishnullable dictionary If the Checkout Session’s payment_method_types includes
swish
, this hash contains the configurations that will be applied to each payment attempt of that type.- payment_method_options.
swish. referencenullable string The order reference that will be displayed to customers in the Swish application. Defaults to the
id
of the Payment Intent.
- payment_method_options.
us_ bank_ accountnullable dictionary If the Checkout Session’s payment_method_types includes
us_
, this hash contains the configurations that will be applied to each payment attempt of that type.bank_ account - payment_method_options.
us_bank_account. financial_ connectionsnullable dictionary Additional fields for Financial Connections Session creation
- payment_method_options.
us_bank_account. financial_connections. filtersnullable dictionary Filter the list of accounts that are allowed to be linked.
- payment_method_options.
us_bank_account. financial_connections. filters. account_ subcategoriesnullable array of enums The account subcategories to use to filter for possible accounts to link. Valid subcategories are
checking
andsavings
.Possible enum valueschecking
Bank account subcategory is checking
savings
Bank account subcategory is savings
- payment_method_options.
us_bank_account. financial_connections. permissionsnullable array of enums The list of permissions to request. The
payment_
permission must be included.method Possible enum valuesbalances
Allows accessing balance data from the account.
ownership
Allows accessing ownership data from the account.
payment_
method Allows the creation of a payment method from the account.
transactions
Allows accessing transactions data from the account.
- payment_method_options.
us_bank_account. financial_connections. prefetchnullable array of enums Data features requested to be retrieved upon account creation.
Possible enum valuesbalances
Requests to prefetch balance data on accounts collected in this session.
ownership
Requests to prefetch ownership data on accounts collected in this session.
transactions
Requests to prefetch transaction data on accounts collected in this session.
- payment_method_options.
us_bank_account. financial_connections. return_ urlnullable string For webview integrations only. Upon completing OAuth login in the native browser, the user will be redirected to this URL to return to your app.
- payment_method_options.
us_bank_account. setup_ future_ usagenullable enum 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 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 the payment method to a Customer after the transaction completes.
If the payment method is
card_
and isn’t a digital wallet, Stripe creates and attaches a generated_card payment method representing the card to the Customer instead.present When processing card payments, Stripe uses
setup_
to help you comply with regional legislation and network rules, such as SCA.future_ usage Possible enum valuesnone
Use
none
if you do not intend to reuse this payment method and want to override the top-levelsetup_
value for this payment method.future_ usage off_
session Use
off_
if your customer may or may not be present in your checkout flow.session on_
session Use
on_
if you intend to only reuse the payment method when your customer is present in your checkout flow.session - payment_method_options.
us_bank_account. target_ datenullable string 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.
- payment_method_options.
us_bank_account. verification_ methodnullable enum Bank account verification method.
Possible enum valuesautomatic
Instant verification with fallback to microdeposits.
instant
Instant verification only.
- payment_
method_ typesarray of strings A list of the types of payment methods (e.g. card) this Checkout Session is allowed to accept.
- permissionsnullable dictionary
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.
update_ shipping_ detailsnullable enum Determines which entity is allowed to update the shipping details.
Default is
client_
. Stripe Checkout client will automatically update the shipping details. If set toonly server_
, only your server is allowed to update the shipping details.only When set to
server_
, you must add the onShippingDetailsChange event handler when initializing the Stripe Checkout client and manually update the shipping details from your server using the Stripe API.only Possible enum valuesclient_
only server_
only
- phone_
number_ collectionnullable dictionary Details on the state of phone number collection for the session.
- phone_number_collection.
enabledboolean Indicates whether phone number collection is enabled for the session
- presentment_
detailsnullable dictionary A hash containing information about the currency presentation to the customer, including the displayed currency and amount used for conversion from the integration currency.
- presentment_details.
presentment_ amountinteger Amount intended to be collected by this payment, denominated in
presentment_
.currency - presentment_details.
presentment_ currencystring Currency presented to the customer during payment.
- recovered_
fromnullable string The ID of the original expired Checkout Session that triggered the recovery flow.
- redirect_
on_ completionnullable enum This parameter applies to
ui_
. Learn more about the redirect behavior of embedded sessions. Defaults tomode: embedded always
.Possible enum valuesalways
The Session will always redirect to the
return_
after successful confirmation.url if_
required The Session will only redirect to the
return_
after a redirect-based payment method is used.url never
The Session will never redirect to the
return_
, and redirect-based payment methods will be disabled.url - saved_
payment_ method_ optionsnullable dictionary Controls saved payment method settings for the session. Only available in
payment
andsubscription
mode.- saved_payment_method_options.
allow_ redisplay_ filtersnullable array of enums Uses the
allow_
value of each saved payment method to filter the set presented to a returning customer. By default, only saved payment methods with ’allow_redisplay: ‘always’ are shown in Checkout.redisplay Possible enum valuesalways
When set, Checkout will show eligible saved payment methods with the
allow_
value ofredisplay always
limited
When set, Checkout will show eligible saved payment methods with the
allow_
value ofredisplay limited
unspecified
When set, Checkout will show eligible saved payment methods with the
allow_
value ofredisplay unspecified
- saved_payment_method_options.
payment_ method_ removenullable enum Enable customers to choose if they wish to remove their saved payment methods. Disabled by default.
Possible enum valuesdisabled
Removing payment methods will be disabled for this Checkout Session. This is the default option.
enabled
Removing payment methods will be enabled for this Checkout Session.
- saved_payment_method_options.
payment_ method_ savenullable enum Enable customers to choose if they wish to save their payment method for future use. Disabled by default.
Possible enum valuesdisabled
Saving payment methods will be disabled for this Checkout Session. This is the default option.
enabled
Saving payment methods will be enabled for this Checkout Session.
- setup_
intentnullable stringExpandable 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 instead. - shipping_
address_ collectionnullable dictionary When set, provides configuration for Checkout to collect a shipping address from a customer.
- shipping_address_collection.
allowed_ countriesarray of enums An array of two-letter ISO country codes representing which countries Checkout should provide as options for shipping locations. Unsupported country codes:
AS, CX, CC, CU, HM, IR, KP, MH, FM, NF, MP, PW, SY, UM, VI
.Possible enum valuesAC
AD
AE
AF
AG
AI
AL
AM
AO
AQ
Show 228 more
- shipping_
costnullable dictionary The details of the customer cost of shipping, including the customer chosen ShippingRate.
- shipping_cost.
amount_ subtotalinteger Total shipping cost before any discounts or taxes are applied.
- shipping_cost.
amount_ taxinteger Total tax amount applied due to shipping costs. If no tax was applied, defaults to 0.
- shipping_cost.
amount_ totalinteger Total shipping cost after discounts and taxes are applied.
- shipping_cost.
shipping_ ratenullable stringExpandable The ID of the ShippingRate for this order.
- shipping_cost.
taxesnullable array of dictionariesExpandable The taxes applied to the shipping rate.
- shipping_cost.
taxes. amountinteger Amount of tax applied for this rate.
- shipping_cost.
taxes. ratedictionary The tax rate applied.
- shipping_cost.
taxes. rate. idstring Unique identifier for the object.
- shipping_cost.
taxes. rate. objectstring String representing the object’s type. Objects of the same type share the same value.
- shipping_cost.
taxes. rate. activeboolean Defaults to
true
. When set tofalse
, this tax rate cannot be used with new applications or Checkout Sessions, but will still work for subscriptions and invoices that already have it set. - shipping_cost.
taxes. rate. countrynullable string Two-letter country code (ISO 3166-1 alpha-2).
- shipping_cost.
taxes. rate. createdtimestamp Time at which the object was created. Measured in seconds since the Unix epoch.
- shipping_cost.
taxes. rate. descriptionnullable string An arbitrary string attached to the tax rate for your internal use only. It will not be visible to your customers.
- shipping_cost.
taxes. rate. display_ namestring The display name of the tax rates as it will appear to your customer on their receipt email, PDF, and the hosted invoice page.
- shipping_cost.
taxes. rate. effective_ percentagenullable float Actual/effective tax rate percentage out of 100. For tax calculations with automatic_tax[enabled]=true, this percentage reflects the rate actually used to calculate tax based on the product’s taxability and whether the user is registered to collect taxes in the corresponding jurisdiction.
- shipping_cost.
taxes. rate. flat_ amountnullable dictionary The amount of the tax rate when the
rate_
istype flat_
. Tax rates withamount rate_
type percentage
can vary based on the transaction, resulting in this field beingnull
. This field exposes the amount and currency of the flat tax rate.- shipping_cost.
taxes. rate. flat_amount. amountinteger Amount of the tax when the
rate_
istype flat_
. This positive integer represents how much to charge in the smallest currency unit (e.g., 100 cents to charge $1.00 or 100 to charge ¥100, a zero-decimal currency). The amount value supports up to eight digits (e.g., a value of 99999999 for a USD charge of $999,999.99).amount - shipping_cost.
taxes. rate. flat_amount. currencystring Three-letter ISO currency code, in lowercase.
- shipping_cost.
taxes. rate. inclusiveboolean This specifies if the tax rate is inclusive or exclusive.
- shipping_cost.
taxes. rate. jurisdictionnullable string The jurisdiction for the tax rate. You can use this label field for tax reporting purposes. It also appears on your customer’s invoice.
- shipping_cost.
taxes. rate. jurisdiction_ levelnullable enum The level of the jurisdiction that imposes this tax rate. Will be
null
for manually defined tax rates.Possible enum valuescity
country
county
district
multiple
state
- shipping_cost.
taxes. rate. livemodeboolean Has the value
true
if the object exists in live mode or the valuefalse
if the object exists in test mode. - shipping_cost.
taxes. rate. metadatanullable dictionary Set of key-value pairs that you can attach to an object. This can be useful for storing additional information about the object in a structured format.
- shipping_cost.
taxes. rate. percentagefloat Tax rate percentage out of 100. For tax calculations with automatic_tax[enabled]=true, this percentage includes the statutory tax rate of non-taxable jurisdictions.
- shipping_cost.
taxes. rate. rate_ typenullable enum Indicates the type of tax rate applied to the taxable amount. This value can be
null
when no tax applies to the location. This field is only present for TaxRates created by Stripe Tax.Possible enum valuesflat_
amount A fixed amount applied as tax, regardless of the taxable amount, such as a retail delivery fee.
percentage
A tax rate expressed as a percentage of the taxable amount, such as the sales tax rate in California.
- shipping_cost.
taxes. rate. statenullable string ISO 3166-2 subdivision code, without country prefix. For example, “NY” for New York, United States.
- shipping_cost.
taxes. rate. tax_ typenullable enum The high-level tax type, such as
vat
orsales_
.tax Possible enum valuesamusement_
tax Amusement Tax
communications_
tax Communications Tax
gst
Goods and Services Tax
hst
Harmonized Sales Tax
igst
Integrated Goods and Services Tax
jct
Japanese Consumption Tax
lease_
tax Chicago Lease Tax
pst
Provincial Sales Tax
qst
Quebec Sales Tax
retail_
delivery_ fee Retail Delivery Fee
Show 4 more
- shipping_cost.
taxes. taxability_ reasonnullable enum The reasoning behind this tax, for example, if the product is tax exempt. The possible values for this field may be extended as new tax rules are supported.
Possible enum valuescustomer_
exempt No tax is applied as the customer is exempt from tax.
not_
collecting No tax is collected either because you are not registered to collect tax in this jurisdiction, or because the non-taxable product tax code (
txcd_
) was used.00000000 not_
subject_ to_ tax No tax is imposed on this transaction.
not_
supported No tax applied. Stripe doesn’t support this jurisdiction, territory, or product.
portion_
product_ exempt A portion of the price is exempt from tax.
portion_
reduced_ rated A portion of the price is taxed at a reduced rate.
portion_
standard_ rated A portion of the price is taxed at the standard rate.
product_
exempt The product or service is nontaxable or exempt from tax.
product_
exempt_ holiday The product or service is not taxed due to a sales tax holiday.
proportionally_
rated The shipping cost tax rate is calculated as a weighted average of the other line items’ rates, weighted by their amounts.
Show 5 more - shipping_cost.
taxes. taxable_ amountnullable integer The amount on which tax is calculated, in cents.
- shipping_
optionsarray of dictionaries The shipping rate options applied to this Session.
- shipping_options.
shipping_ amountinteger A non-negative integer in cents representing how much to charge.
- shipping_options.
shipping_ ratestringExpandable The shipping rate.
- submit_
typenullable enum Describes the type of transaction being performed by Checkout in order to customize relevant text on the page, such as the submit button.
submit_
can only be specified on Checkout Sessions intype payment
mode. If blank orauto
,pay
is used.Possible enum valuesauto
pay
will used forpayment
mode sessions andsubscribe
will be used forsubscription
mode sessionsbook
Recommended when offering bookings. Submit button includes a ‘Book’ label
donate
Recommended when accepting donations. Submit button includes a ‘Donate’ label
pay
Submit button includes a ‘Buy’ label
subscribe
Submit button includes a ‘Subscribe’ label
- subscriptionnullable stringExpandable
The ID of the Subscription for Checkout Sessions in
subscription
mode. - tax_
id_ collectionnullable dictionary Details on the state of tax ID collection for the session.
- tax_id_collection.
enabledboolean Indicates whether tax ID collection is enabled for the session
- tax_id_collection.
requiredenum Indicates whether a tax ID is required on the payment page
Possible enum valuesif_
supported A tax ID will be required if collection is supported for the selected billing address country.
never
Tax ID collection is never required.
- total_
detailsnullable dictionary Tax and discount details for the computed total amount.
- total_details.
amount_ discountinteger This is the sum of all the discounts.
- total_details.
amount_ shippingnullable integer This is the sum of all the shipping amounts.
- total_details.
amount_ taxinteger This is the sum of all the tax amounts.
- total_details.
breakdownnullable dictionaryExpandable Breakdown of individual tax and discount amounts that add up to the totals.
- total_details.
breakdown. discountsarray of dictionaries The aggregated discounts.
- total_details.
breakdown. discounts. amountinteger The amount discounted.
- total_details.
breakdown. discounts. discountdictionary The discount applied.
- total_details.
breakdown. discounts. discount. idstring The ID of the discount object. Discounts cannot be fetched by ID. Use
expand[]=discounts
in API calls to expand discount IDs in an array. - total_details.
breakdown. discounts. discount. objectstring String representing the object’s type. Objects of the same type share the same value.
- total_details.
breakdown. discounts. discount. checkout_ sessionnullable string The Checkout session that this coupon is applied to, if it is applied to a particular session in payment mode. Will not be present for subscription mode.
- total_details.
breakdown. discounts. discount. coupondictionary Hash describing the coupon applied to create this discount.
- total_details.
breakdown. discounts. discount. coupon. idstring Unique identifier for the object.
- total_details.
breakdown. discounts. discount. coupon. objectstring String representing the object’s type. Objects of the same type share the same value.
- total_details.
breakdown. discounts. discount. coupon. amount_ offnullable integer Amount (in the
currency
specified) that will be taken off the subtotal of any invoices for this customer. - total_details.
breakdown. discounts. discount. coupon. applies_ tonullable dictionaryExpandable Contains information about what this coupon applies to.
- total_details.
breakdown. discounts. discount. coupon. applies_to. productsarray of strings A list of product IDs this coupon applies to
- total_details.
breakdown. discounts. discount. coupon. createdtimestamp Time at which the object was created. Measured in seconds since the Unix epoch.
- total_details.
breakdown. discounts. discount. coupon. currencynullable enum If
amount_
has been set, the three-letter ISO code for the currency of the amount to take off.off - total_details.
breakdown. discounts. discount. coupon. currency_ optionsnullable dictionaryExpandable Coupons defined in each available currency option. Each key must be a three-letter ISO currency code and a supported currency.
- total_details.
breakdown. discounts. discount. coupon. currency_options. <currency>. amount_ offinteger Amount (in the
currency
specified) that will be taken off the subtotal of any invoices for this customer.
- total_details.
breakdown. discounts. discount. coupon. durationenum One of
forever
,once
, orrepeating
. Describes how long a customer who applies this coupon will get the discount.Possible enum valuesforever
Applies to all charges from a subscription with this coupon applied.
once
Applies to the first charge from a subscription with this coupon applied.
repeating
Applies to charges in the first
duration_
months from a subscription with this coupon applied. This value is deprecated and will be replaced in future versions of the API.in_ months - total_details.
breakdown. discounts. discount. coupon. duration_ in_ monthsnullable integerDeprecated If
duration
isrepeating
, the number of months the coupon applies. Null if couponduration
isforever
oronce
. - total_details.
breakdown. discounts. discount. coupon. livemodeboolean Has the value
true
if the object exists in live mode or the valuefalse
if the object exists in test mode. - total_details.
breakdown. discounts. discount. coupon. max_ redemptionsnullable integer Maximum number of times this coupon can be redeemed, in total, across all customers, before it is no longer valid.
- total_details.
breakdown. discounts. discount. coupon. metadatanullable dictionary Set of key-value pairs that you can attach to an object. This can be useful for storing additional information about the object in a structured format.
- total_details.
breakdown. discounts. discount. coupon. namenullable string Name of the coupon displayed to customers on for instance invoices or receipts.
- total_details.
breakdown. discounts. discount. coupon. percent_ offnullable float Percent that will be taken off the subtotal of any invoices for this customer for the duration of the coupon. For example, a coupon with percent_off of 50 will make a $100 invoice $50 instead.
- total_details.
breakdown. discounts. discount. coupon. redeem_ bynullable timestamp Date after which the coupon can no longer be redeemed.
- total_details.
breakdown. discounts. discount. coupon. times_ redeemedinteger Number of times this coupon has been applied to a customer.
- total_details.
breakdown. discounts. discount. coupon. validboolean Taking account of the above properties, whether this coupon can still be applied to a customer.
- total_details.
breakdown. discounts. discount. customernullable stringExpandable The ID of the customer associated with this discount.
- total_details.
breakdown. discounts. discount. endnullable timestamp If the coupon has a duration of
repeating
, the date that this discount will end. If the coupon has a duration ofonce
orforever
, this attribute will be null. - total_details.
breakdown. discounts. discount. invoicenullable string The invoice that the discount’s coupon was applied to, if it was applied directly to a particular invoice.
- total_details.
breakdown. discounts. discount. invoice_ itemnullable string The invoice item
id
(or invoice line itemid
for invoice line items of type=‘subscription’) that the discount’s coupon was applied to, if it was applied directly to a particular invoice item or invoice line item. - total_details.
breakdown. discounts. discount. promotion_ codenullable stringExpandable The promotion code applied to create this discount.
- total_details.
breakdown. discounts. discount. starttimestamp Date that the coupon was applied.
- total_details.
breakdown. discounts. discount. subscriptionnullable string The subscription that this coupon is applied to, if it is applied to a particular subscription.
- total_details.
breakdown. discounts. discount. subscription_ itemnullable string The subscription item that this coupon is applied to, if it is applied to a particular subscription item.
- total_details.
breakdown. taxesarray of dictionaries The aggregated tax amounts by rate.
- total_details.
breakdown. taxes. amountinteger Amount of tax applied for this rate.
- total_details.
breakdown. taxes. ratedictionary The tax rate applied.
- total_details.
breakdown. taxes. rate. idstring Unique identifier for the object.
- total_details.
breakdown. taxes. rate. objectstring String representing the object’s type. Objects of the same type share the same value.
- total_details.
breakdown. taxes. rate. activeboolean Defaults to
true
. When set tofalse
, this tax rate cannot be used with new applications or Checkout Sessions, but will still work for subscriptions and invoices that already have it set. - total_details.
breakdown. taxes. rate. countrynullable string Two-letter country code (ISO 3166-1 alpha-2).
- total_details.
breakdown. taxes. rate. createdtimestamp Time at which the object was created. Measured in seconds since the Unix epoch.
- total_details.
breakdown. taxes. rate. descriptionnullable string An arbitrary string attached to the tax rate for your internal use only. It will not be visible to your customers.
- total_details.
breakdown. taxes. rate. display_ namestring The display name of the tax rates as it will appear to your customer on their receipt email, PDF, and the hosted invoice page.
- total_details.
breakdown. taxes. rate. effective_ percentagenullable float Actual/effective tax rate percentage out of 100. For tax calculations with automatic_tax[enabled]=true, this percentage reflects the rate actually used to calculate tax based on the product’s taxability and whether the user is registered to collect taxes in the corresponding jurisdiction.
- total_details.
breakdown. taxes. rate. flat_ amountnullable dictionary The amount of the tax rate when the
rate_
istype flat_
. Tax rates withamount rate_
type percentage
can vary based on the transaction, resulting in this field beingnull
. This field exposes the amount and currency of the flat tax rate.- total_details.
breakdown. taxes. rate. flat_amount. amountinteger Amount of the tax when the
rate_
istype flat_
. This positive integer represents how much to charge in the smallest currency unit (e.g., 100 cents to charge $1.00 or 100 to charge ¥100, a zero-decimal currency). The amount value supports up to eight digits (e.g., a value of 99999999 for a USD charge of $999,999.99).amount - total_details.
breakdown. taxes. rate. flat_amount. currencystring Three-letter ISO currency code, in lowercase.
- total_details.
breakdown. taxes. rate. inclusiveboolean This specifies if the tax rate is inclusive or exclusive.
- total_details.
breakdown. taxes. rate. jurisdictionnullable string The jurisdiction for the tax rate. You can use this label field for tax reporting purposes. It also appears on your customer’s invoice.
- total_details.
breakdown. taxes. rate. jurisdiction_ levelnullable enum The level of the jurisdiction that imposes this tax rate. Will be
null
for manually defined tax rates.Possible enum valuescity
country
county
district
multiple
state
- total_details.
breakdown. taxes. rate. livemodeboolean Has the value
true
if the object exists in live mode or the valuefalse
if the object exists in test mode. - total_details.
breakdown. taxes. rate. metadatanullable dictionary Set of key-value pairs that you can attach to an object. This can be useful for storing additional information about the object in a structured format.
- total_details.
breakdown. taxes. rate. percentagefloat Tax rate percentage out of 100. For tax calculations with automatic_tax[enabled]=true, this percentage includes the statutory tax rate of non-taxable jurisdictions.
- total_details.
breakdown. taxes. rate. rate_ typenullable enum Indicates the type of tax rate applied to the taxable amount. This value can be
null
when no tax applies to the location. This field is only present for TaxRates created by Stripe Tax.Possible enum valuesflat_
amount A fixed amount applied as tax, regardless of the taxable amount, such as a retail delivery fee.
percentage
A tax rate expressed as a percentage of the taxable amount, such as the sales tax rate in California.
- total_details.
breakdown. taxes. rate. statenullable string ISO 3166-2 subdivision code, without country prefix. For example, “NY” for New York, United States.
- total_details.
breakdown. taxes. rate. tax_ typenullable enum The high-level tax type, such as
vat
orsales_
.tax Possible enum valuesamusement_
tax Amusement Tax
communications_
tax Communications Tax
gst
Goods and Services Tax
hst
Harmonized Sales Tax
igst
Integrated Goods and Services Tax
jct
Japanese Consumption Tax
lease_
tax Chicago Lease Tax
pst
Provincial Sales Tax
qst
Quebec Sales Tax
retail_
delivery_ fee Retail Delivery Fee
Show 4 more
- total_details.
breakdown. taxes. taxability_ reasonnullable enum The reasoning behind this tax, for example, if the product is tax exempt. The possible values for this field may be extended as new tax rules are supported.
Possible enum valuescustomer_
exempt No tax is applied as the customer is exempt from tax.
not_
collecting No tax is collected either because you are not registered to collect tax in this jurisdiction, or because the non-taxable product tax code (
txcd_
) was used.00000000 not_
subject_ to_ tax No tax is imposed on this transaction.
not_
supported No tax applied. Stripe doesn’t support this jurisdiction, territory, or product.
portion_
product_ exempt A portion of the price is exempt from tax.
portion_
reduced_ rated A portion of the price is taxed at a reduced rate.
portion_
standard_ rated A portion of the price is taxed at the standard rate.
product_
exempt The product or service is nontaxable or exempt from tax.
product_
exempt_ holiday The product or service is not taxed due to a sales tax holiday.
proportionally_
rated The shipping cost tax rate is calculated as a weighted average of the other line items’ rates, weighted by their amounts.
Show 5 more - total_details.
breakdown. taxes. taxable_ amountnullable integer The amount on which tax is calculated, in cents.
- wallet_
optionsnullable dictionary Wallet-specific configuration for this Checkout Session.
- wallet_options.
linknullable dictionary This hash contains the configurations that will be applied to the wallet of this type.
- wallet_options.
link. displaynullable enum Describes whether Checkout should display Link. Defaults to
auto
.Possible enum valuesauto
The Checkout Session will automatically determine if Link is a supported payment option and display accordingly.
never
The Checkout Session will not display Link as a payment option.
{ "id": "cs_test_a11YYufWQzNY63zpQ6QSNRQhkUpVph4WRmzW0zWJO2znZKdVujZ0N0S22u", "object": "checkout.session", "after_expiration": null, "allow_promotion_codes": null, "amount_subtotal": 2198, "amount_total": 2198, "automatic_tax": { "enabled": false, "liability": null, "status": null }, "billing_address_collection": null, "cancel_url": null, "client_reference_id": null, "consent": null, "consent_collection": null, "created": 1679600215, "currency": "usd", "custom_fields": [], "custom_text": { "shipping_address": null, "submit": null }, "customer": null, "customer_creation": "if_required", "customer_details": null, "customer_email": null, "expires_at": 1679686615, "invoice": null, "invoice_creation": { "enabled": false, "invoice_data": { "account_tax_ids": null, "custom_fields": null, "description": null, "footer": null, "issuer": null, "metadata": {}, "rendering_options": null } }, "livemode": false, "locale": null, "metadata": {}, "mode": "payment", "payment_intent": null, "payment_link": null, "payment_method_collection": "always", "payment_method_options": {}, "payment_method_types": [ "card" ], "payment_status": "unpaid", "phone_number_collection": { "enabled": false }, "recovered_from": null, "setup_intent": null, "shipping_address_collection": null, "shipping_cost": null, "shipping_details": null, "shipping_options": [], "status": "open", "submit_type": null, "subscription": null, "success_url": "https://example.com/success", "total_details": { "amount_discount": 0, "amount_shipping": 0, "amount_tax": 0 }, "url": "https://checkout.stripe.com/c/pay/cs_test_a11YYufWQzNY63zpQ6QSNRQhkUpVph4WRmzW0zWJO2znZKdVujZ0N0S22u#fidkdWxOYHwnPyd1blpxYHZxWjA0SDdPUW5JbmFMck1wMmx9N2BLZjFEfGRUNWhqTmJ%2FM2F8bUA2SDRySkFdUV81T1BSV0YxcWJcTUJcYW5rSzN3dzBLPUE0TzRKTTxzNFBjPWZEX1NKSkxpNTVjRjN8VHE0YicpJ2N3amhWYHdzYHcnP3F3cGApJ2lkfGpwcVF8dWAnPyd2bGtiaWBabHFgaCcpJ2BrZGdpYFVpZGZgbWppYWB3dic%2FcXdwYHgl"}