Stripe: Checkout schemas (part 2)
27 Stripe schemas with complete fields and constraints.
← Checkout operations · All schemas
Create a Checkout Session — response body — payment method options value acss debit, affirm, afterpay clearpay, alipay, alma, amazon pay, au becs debit, bacs debit, bancontact, billie, boleto, card, cashapp, customer balance, eps, fpx, giropay, grabpay, ideal, kakao pay, klarna, konbini, kr card, link, mobilepay, multibanco, naver pay, oxxo, p24, payco, paynow, paypal, payto, pix, revolut pay, samsung pay, satispay, scalapay, sepa debit, sequra, sofort, sunbit, swish, twint, upi, us bank account, wechat pay konbini
| Field | Type | Presence | Description and constraints |
|---|---|---|---|
$ | object | Root | |
expires_after_days | JSON | Optional | |
expires_after_days (anyOf 1) | JSON | Alternative | |
expires_after_days (anyOf 1) (anyOf 1) | integer | Alternative | 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_after_days` set to 2 on Monday JST, the instructions will expire on Wednesday 23:59:59 JST. |
expires_after_days (anyOf 1) (anyOf 2) | string | Alternative | Pattern: ^-?[0-9]+(?:\.[0-9]+)?(?:[eE][+-]?[0-9]+)?$ |
expires_after_days (anyOf 2) | null | Alternative | |
setup_future_usage | string | Optional | Indicates that you intend to make future payments with this PaymentIntent's payment method. If you provide a Customer with the PaymentIntent, you can use this parameter to [attach the payment method](/payments/save-during-payment) to the Customer after the PaymentIntent is confirmed and the customer completes any required actions. If you don't provide a Customer, you can still [attach](/api/payment_methods/attach) the payment method to a Customer after the transaction completes. If the payment method is `card_present` and isn't a digital wallet, Stripe creates and attaches a [generated_card](/api/charges/object#charge_object-payment_method_details-card_present-generated_card) payment method representing the card to the Customer instead. When processing card payments, Stripe uses `setup_future_usage` to help you comply with regional legislation and network rules, such as [SCA](/strong-customer-authentication). Known values: none |
Create a Checkout Session — response body — payment method options value acss debit, affirm, afterpay clearpay, alipay, alma, amazon pay, au becs debit, bacs debit, bancontact, billie, boleto, card, cashapp, customer balance, eps, fpx, giropay, grabpay, ideal, kakao pay, klarna, konbini, kr card, link, mobilepay, multibanco, naver pay, oxxo, p24, payco, paynow, paypal, payto, pix, revolut pay, samsung pay, satispay, scalapay, sepa debit, sequra, sofort, sunbit, swish, twint, upi, us bank account, wechat pay link
| Field | Type | Presence | Description and constraints |
|---|---|---|---|
$ | object | Root | |
capture_method | string | Optional | Controls when the funds will be captured from the customer's account. Known values: manual |
setup_future_usage | string | Optional | Indicates that you intend to make future payments with this PaymentIntent's payment method. If you provide a Customer with the PaymentIntent, you can use this parameter to [attach the payment method](/payments/save-during-payment) to the Customer after the PaymentIntent is confirmed and the customer completes any required actions. If you don't provide a Customer, you can still [attach](/api/payment_methods/attach) the payment method to a Customer after the transaction completes. If the payment method is `card_present` and isn't a digital wallet, Stripe creates and attaches a [generated_card](/api/charges/object#charge_object-payment_method_details-card_present-generated_card) payment method representing the card to the Customer instead. When processing card payments, Stripe uses `setup_future_usage` to help you comply with regional legislation and network rules, such as [SCA](/strong-customer-authentication). Known values: none, off_session |
Create a Checkout Session — response body — payment method options value acss debit, affirm, afterpay clearpay, alipay, alma, amazon pay, au becs debit, bacs debit, bancontact, billie, boleto, card, cashapp, customer balance, eps, fpx, giropay, grabpay, ideal, kakao pay, klarna, konbini, kr card, link, mobilepay, multibanco, naver pay, oxxo, p24, payco, paynow, paypal, payto, pix, revolut pay, samsung pay, satispay, scalapay, sepa debit, sequra, sofort, sunbit, swish, twint, upi, us bank account, wechat pay oxxo
| Field | Type | Presence | Description and constraints |
|---|---|---|---|
$ | object | Root | |
expires_after_days | JSON | Required within parent | |
expires_after_days (anyOf 1) | integer | Alternative | The number of calendar days before 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. |
expires_after_days (anyOf 2) | string | Alternative | Pattern: ^-?[0-9]+(?:\.[0-9]+)?(?:[eE][+-]?[0-9]+)?$ |
setup_future_usage | string | Optional | Indicates that you intend to make future payments with this PaymentIntent's payment method. If you provide a Customer with the PaymentIntent, you can use this parameter to [attach the payment method](/payments/save-during-payment) to the Customer after the PaymentIntent is confirmed and the customer completes any required actions. If you don't provide a Customer, you can still [attach](/api/payment_methods/attach) the payment method to a Customer after the transaction completes. If the payment method is `card_present` and isn't a digital wallet, Stripe creates and attaches a [generated_card](/api/charges/object#charge_object-payment_method_details-card_present-generated_card) payment method representing the card to the Customer instead. When processing card payments, Stripe uses `setup_future_usage` to help you comply with regional legislation and network rules, such as [SCA](/strong-customer-authentication). Known values: none |
Create a Checkout Session — response body — payment method options value acss debit, affirm, afterpay clearpay, alipay, alma, amazon pay, au becs debit, bacs debit, bancontact, billie, boleto, card, cashapp, customer balance, eps, fpx, giropay, grabpay, ideal, kakao pay, klarna, konbini, kr card, link, mobilepay, multibanco, naver pay, oxxo, p24, payco, paynow, paypal, payto, pix, revolut pay, samsung pay, satispay, scalapay, sepa debit, sequra, sofort, sunbit, swish, twint, upi, us bank account, wechat pay payco
| Field | Type | Presence | Description and constraints |
|---|---|---|---|
$ | object | Root | |
capture_method | string | Optional | Controls when the funds will be captured from the customer's account. Known values: manual |
setup_future_usage | string | Optional | Indicates that you intend to make future payments with this PaymentIntent's payment method. If you provide a Customer with the PaymentIntent, you can use this parameter to [attach the payment method](/payments/save-during-payment) to the Customer after the PaymentIntent is confirmed and the customer completes any required actions. If you don't provide a Customer, you can still [attach](/api/payment_methods/attach) the payment method to a Customer after the transaction completes. If the payment method is `card_present` and isn't a digital wallet, Stripe creates and attaches a [generated_card](/api/charges/object#charge_object-payment_method_details-card_present-generated_card) payment method representing the card to the Customer instead. When processing card payments, Stripe uses `setup_future_usage` to help you comply with regional legislation and network rules, such as [SCA](/strong-customer-authentication). Known values: none |
Create a Checkout Session — response body — payment method options value acss debit, affirm, afterpay clearpay, alipay, alma, amazon pay, au becs debit, bacs debit, bancontact, billie, boleto, card, cashapp, customer balance, eps, fpx, giropay, grabpay, ideal, kakao pay, klarna, konbini, kr card, link, mobilepay, multibanco, naver pay, oxxo, p24, payco, paynow, paypal, payto, pix, revolut pay, samsung pay, satispay, scalapay, sepa debit, sequra, sofort, sunbit, swish, twint, upi, us bank account, wechat pay paypal
| Field | Type | Presence | Description and constraints |
|---|---|---|---|
$ | object | Root | |
capture_method | string | Optional | Controls when the funds will be captured from the customer's account. Known values: manual |
preferred_locale | JSON | Optional | |
preferred_locale (anyOf 1) | string | Alternative | Preferred locale of the PayPal checkout page that the customer is redirected to. Maximum length: 5000 |
preferred_locale (anyOf 2) | null | Alternative | |
reference | JSON | Optional | |
reference (anyOf 1) | string | Alternative | 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. Maximum length: 5000 |
reference (anyOf 2) | null | Alternative | |
setup_future_usage | string | Optional | Indicates that you intend to make future payments with this PaymentIntent's payment method. If you provide a Customer with the PaymentIntent, you can use this parameter to [attach the payment method](/payments/save-during-payment) to the Customer after the PaymentIntent is confirmed and the customer completes any required actions. If you don't provide a Customer, you can still [attach](/api/payment_methods/attach) the payment method to a Customer after the transaction completes. If the payment method is `card_present` and isn't a digital wallet, Stripe creates and attaches a [generated_card](/api/charges/object#charge_object-payment_method_details-card_present-generated_card) payment method representing the card to the Customer instead. When processing card payments, Stripe uses `setup_future_usage` to help you comply with regional legislation and network rules, such as [SCA](/strong-customer-authentication). Known values: none, off_session |
Create a Checkout Session — response body — payment method options value acss debit, affirm, afterpay clearpay, alipay, alma, amazon pay, au becs debit, bacs debit, bancontact, billie, boleto, card, cashapp, customer balance, eps, fpx, giropay, grabpay, ideal, kakao pay, klarna, konbini, kr card, link, mobilepay, multibanco, naver pay, oxxo, p24, payco, paynow, paypal, payto, pix, revolut pay, samsung pay, satispay, scalapay, sepa debit, sequra, sofort, sunbit, swish, twint, upi, us bank account, wechat pay payto
| Field | Type | Presence | Description and constraints |
|---|---|---|---|
$ | object | Root | |
mandate_options | Model | Optional | Expand Create a Checkout Session — response body — payment method options value acss debit, affirm, afterpay clearpay, alipay, alma, amazon pay, au becs debit, bacs debit, bancontact, billie, boleto, card, cashapp, customer balance, eps, fpx, giropay, grabpay, ideal, kakao pay, klarna, konbini, kr card, link, mobilepay, multibanco, naver pay, oxxo, p24, payco, paynow, paypal, payto, pix, revolut pay, samsung pay, satispay, scalapay, sepa debit, sequra, sofort, sunbit, swish, twint, upi, us bank account, wechat pay payto mandate options |
setup_future_usage | string | Optional | Indicates that you intend to make future payments with this PaymentIntent's payment method. If you provide a Customer with the PaymentIntent, you can use this parameter to [attach the payment method](/payments/save-during-payment) to the Customer after the PaymentIntent is confirmed and the customer completes any required actions. If you don't provide a Customer, you can still [attach](/api/payment_methods/attach) the payment method to a Customer after the transaction completes. If the payment method is `card_present` and isn't a digital wallet, Stripe creates and attaches a [generated_card](/api/charges/object#charge_object-payment_method_details-card_present-generated_card) payment method representing the card to the Customer instead. When processing card payments, Stripe uses `setup_future_usage` to help you comply with regional legislation and network rules, such as [SCA](/strong-customer-authentication). Known values: none, off_session |
Create a Checkout Session — response body — payment method options value acss debit, affirm, afterpay clearpay, alipay, alma, amazon pay, au becs debit, bacs debit, bancontact, billie, boleto, card, cashapp, customer balance, eps, fpx, giropay, grabpay, ideal, kakao pay, klarna, konbini, kr card, link, mobilepay, multibanco, naver pay, oxxo, p24, payco, paynow, paypal, payto, pix, revolut pay, samsung pay, satispay, scalapay, sepa debit, sequra, sofort, sunbit, swish, twint, upi, us bank account, wechat pay payto mandate options
| Field | Type | Presence | Description and constraints |
|---|---|---|---|
$ | object | Root | |
amount | JSON | Optional | |
amount (anyOf 1) | JSON | Alternative | |
amount (anyOf 1) (anyOf 1) | integer | Alternative | Amount that will be collected. It is required when `amount_type` is `fixed`. |
amount (anyOf 1) (anyOf 2) | string | Alternative | Pattern: ^-?[0-9]+(?:\.[0-9]+)?(?:[eE][+-]?[0-9]+)?$ |
amount (anyOf 2) | null | Alternative | |
amount_type | JSON | Optional | |
amount_type (anyOf 1) | string | Alternative | The type of amount that will be collected. The amount charged must be exact or up to the value of `amount` param for `fixed` or `maximum` type respectively. Defaults to `maximum`. Known values: fixed, maximum |
amount_type (anyOf 2) | null | Alternative | |
end_date | JSON | Optional | |
end_date (anyOf 1) | string | Alternative | Date, in YYYY-MM-DD format, after which payments will not be collected. Defaults to no end date. Maximum length: 5000 |
end_date (anyOf 2) | null | Alternative | |
payment_schedule | JSON | Optional | |
payment_schedule (anyOf 1) | string | Alternative | The periodicity at which payments will be collected. Defaults to `adhoc`. Known values: adhoc, annual, daily, fortnightly, monthly, quarterly, semi_annual, weekly |
payment_schedule (anyOf 2) | null | Alternative | |
payments_per_period | JSON | Optional | |
payments_per_period (anyOf 1) | JSON | Alternative | |
payments_per_period (anyOf 1) (anyOf 1) | integer | Alternative | The number of payments that will be made during a payment period. Defaults to 1 except for when `payment_schedule` is `adhoc`. In that case, it defaults to no limit. |
payments_per_period (anyOf 1) (anyOf 2) | string | Alternative | Pattern: ^-?[0-9]+(?:\.[0-9]+)?(?:[eE][+-]?[0-9]+)?$ |
payments_per_period (anyOf 2) | null | Alternative | |
purpose | JSON | Optional | |
purpose (anyOf 1) | string | Alternative | The purpose for which payments are made. Has a default value based on your merchant category code. Known values: dependant_support, government, loan, mortgage, other, pension, personal, retail, salary, tax, utility |
purpose (anyOf 2) | null | Alternative | |
start_date | JSON | Optional | |
start_date (anyOf 1) | string | Alternative | Date, in YYYY-MM-DD format, from which payments will be collected. Defaults to confirmation time. Maximum length: 5000 |
start_date (anyOf 2) | null | Alternative |
Create a Checkout Session — response body — payment method options value acss debit, affirm, afterpay clearpay, alipay, alma, amazon pay, au becs debit, bacs debit, bancontact, billie, boleto, card, cashapp, customer balance, eps, fpx, giropay, grabpay, ideal, kakao pay, klarna, konbini, kr card, link, mobilepay, multibanco, naver pay, oxxo, p24, payco, paynow, paypal, payto, pix, revolut pay, samsung pay, satispay, scalapay, sepa debit, sequra, sofort, sunbit, swish, twint, upi, us bank account, wechat pay pix
| Field | Type | Presence | Description and constraints |
|---|---|---|---|
$ | object | Root | |
amount_includes_iof | string | Optional | Determines if the amount includes the IOF tax. Known values: always, never |
expires_after_seconds | JSON | Optional | |
expires_after_seconds (anyOf 1) | JSON | Alternative | |
expires_after_seconds (anyOf 1) (anyOf 1) | integer | Alternative | The number of seconds after which Pix payment will expire. |
expires_after_seconds (anyOf 1) (anyOf 2) | string | Alternative | Pattern: ^-?[0-9]+(?:\.[0-9]+)?(?:[eE][+-]?[0-9]+)?$ |
expires_after_seconds (anyOf 2) | null | Alternative | |
mandate_options | Model | Optional | Expand Create a Checkout Session — response body — payment method options value acss debit, affirm, afterpay clearpay, alipay, alma, amazon pay, au becs debit, bacs debit, bancontact, billie, boleto, card, cashapp, customer balance, eps, fpx, giropay, grabpay, ideal, kakao pay, klarna, konbini, kr card, link, mobilepay, multibanco, naver pay, oxxo, p24, payco, paynow, paypal, payto, pix, revolut pay, samsung pay, satispay, scalapay, sepa debit, sequra, sofort, sunbit, swish, twint, upi, us bank account, wechat pay pix mandate options |
setup_future_usage | string | Optional | Indicates that you intend to make future payments with this PaymentIntent's payment method. If you provide a Customer with the PaymentIntent, you can use this parameter to [attach the payment method](/payments/save-during-payment) to the Customer after the PaymentIntent is confirmed and the customer completes any required actions. If you don't provide a Customer, you can still [attach](/api/payment_methods/attach) the payment method to a Customer after the transaction completes. If the payment method is `card_present` and isn't a digital wallet, Stripe creates and attaches a [generated_card](/api/charges/object#charge_object-payment_method_details-card_present-generated_card) payment method representing the card to the Customer instead. When processing card payments, Stripe uses `setup_future_usage` to help you comply with regional legislation and network rules, such as [SCA](/strong-customer-authentication). Known values: none, off_session |
Create a Checkout Session — response body — payment method options value acss debit, affirm, afterpay clearpay, alipay, alma, amazon pay, au becs debit, bacs debit, bancontact, billie, boleto, card, cashapp, customer balance, eps, fpx, giropay, grabpay, ideal, kakao pay, klarna, konbini, kr card, link, mobilepay, multibanco, naver pay, oxxo, p24, payco, paynow, paypal, payto, pix, revolut pay, samsung pay, satispay, scalapay, sepa debit, sequra, sofort, sunbit, swish, twint, upi, us bank account, wechat pay pix mandate options
| Field | Type | Presence | Description and constraints |
|---|---|---|---|
$ | object | Root | |
amount | JSON | Optional | |
amount (anyOf 1) | integer | Alternative | Amount to be charged for future payments. |
amount (anyOf 2) | string | Alternative | Pattern: ^-?[0-9]+(?:\.[0-9]+)?(?:[eE][+-]?[0-9]+)?$ |
amount_includes_iof | string | Optional | Determines if the amount includes the IOF tax. Known values: always, never |
amount_type | string | Optional | Type of amount. Known values: fixed, maximum |
currency | string | Optional | Three-letter [ISO currency code](https://www.iso.org/iso-4217-currency-codes.html), in lowercase. Format: currency |
end_date | string | Optional | Date when the mandate expires and no further payments will be charged, in `YYYY-MM-DD`. Maximum length: 5000 |
payment_schedule | string | Optional | Schedule at which the future payments will be charged. Known values: halfyearly, monthly, quarterly, weekly, yearly |
reference | string | Optional | Subscription name displayed to buyers in their bank app. Maximum length: 5000 |
start_date | string | Optional | Start date of the mandate, in `YYYY-MM-DD`. Maximum length: 5000 |
Create a Checkout Session — response body — payment method options value acss debit, affirm, afterpay clearpay, alipay, alma, amazon pay, au becs debit, bacs debit, bancontact, billie, boleto, card, cashapp, customer balance, eps, fpx, giropay, grabpay, ideal, kakao pay, klarna, konbini, kr card, link, mobilepay, multibanco, naver pay, oxxo, p24, payco, paynow, paypal, payto, pix, revolut pay, samsung pay, satispay, scalapay, sepa debit, sequra, sofort, sunbit, swish, twint, upi, us bank account, wechat pay sepa debit
| Field | Type | Presence | Description and constraints |
|---|---|---|---|
$ | object | Root | |
mandate_options | Model | Optional | Expand Create a Checkout Session — response body — payment method options value acss debit, affirm, afterpay clearpay, alipay, alma, amazon pay, au becs debit, bacs debit, bancontact, billie, boleto, card, cashapp, customer balance, eps, fpx, giropay, grabpay, ideal, kakao pay, klarna, konbini, kr card, link, mobilepay, multibanco, naver pay, oxxo, p24, payco, paynow, paypal, payto, pix, revolut pay, samsung pay, satispay, scalapay, sepa debit, sequra, sofort, sunbit, swish, twint, upi, us bank account, wechat pay sepa debit mandate options |
setup_future_usage | string | Optional | Indicates that you intend to make future payments with this PaymentIntent's payment method. If you provide a Customer with the PaymentIntent, you can use this parameter to [attach the payment method](/payments/save-during-payment) to the Customer after the PaymentIntent is confirmed and the customer completes any required actions. If you don't provide a Customer, you can still [attach](/api/payment_methods/attach) the payment method to a Customer after the transaction completes. If the payment method is `card_present` and isn't a digital wallet, Stripe creates and attaches a [generated_card](/api/charges/object#charge_object-payment_method_details-card_present-generated_card) payment method representing the card to the Customer instead. When processing card payments, Stripe uses `setup_future_usage` to help you comply with regional legislation and network rules, such as [SCA](/strong-customer-authentication). Known values: none, off_session, on_session |
target_date | string | Optional | Controls when Stripe will attempt to debit the funds from the customer's account. The date must be a string in YYYY-MM-DD format. The date must be in the future and between 3 and 15 calendar days from now. Maximum length: 5000 |
Create a Checkout Session — response body — payment method options value acss debit, affirm, afterpay clearpay, alipay, alma, amazon pay, au becs debit, bacs debit, bancontact, billie, boleto, card, cashapp, customer balance, eps, fpx, giropay, grabpay, ideal, kakao pay, klarna, konbini, kr card, link, mobilepay, multibanco, naver pay, oxxo, p24, payco, paynow, paypal, payto, pix, revolut pay, samsung pay, satispay, scalapay, sepa debit, sequra, sofort, sunbit, swish, twint, upi, us bank account, wechat pay sepa debit mandate options
| Field | Type | Presence | Description and constraints |
|---|---|---|---|
$ | object | Root | |
reference_prefix | string | Optional | Prefix used to generate the Mandate reference. Must be at most 12 characters long. Must consist of only uppercase letters, numbers, spaces, or the following special characters: '/', '_', '-', '&', '.'. Cannot begin with 'STRIPE'. Maximum length: 5000 |
Create a Checkout Session — response body — payment method options value acss debit, affirm, afterpay clearpay, alipay, alma, amazon pay, au becs debit, bacs debit, bancontact, billie, boleto, card, cashapp, customer balance, eps, fpx, giropay, grabpay, ideal, kakao pay, klarna, konbini, kr card, link, mobilepay, multibanco, naver pay, oxxo, p24, payco, paynow, paypal, payto, pix, revolut pay, samsung pay, satispay, scalapay, sepa debit, sequra, sofort, sunbit, swish, twint, upi, us bank account, wechat pay swish
| Field | Type | Presence | Description and constraints |
|---|---|---|---|
$ | object | Root | |
reference | JSON | Optional | |
reference (anyOf 1) | string | Alternative | The order reference that will be displayed to customers in the Swish application. Defaults to the `id` of the Payment Intent. Maximum length: 5000 |
reference (anyOf 2) | null | Alternative |
Create a Checkout Session — response body — payment method options value acss debit, affirm, afterpay clearpay, alipay, alma, amazon pay, au becs debit, bacs debit, bancontact, billie, boleto, card, cashapp, customer balance, eps, fpx, giropay, grabpay, ideal, kakao pay, klarna, konbini, kr card, link, mobilepay, multibanco, naver pay, oxxo, p24, payco, paynow, paypal, payto, pix, revolut pay, samsung pay, satispay, scalapay, sepa debit, sequra, sofort, sunbit, swish, twint, upi, us bank account, wechat pay twint
| Field | Type | Presence | Description and constraints |
|---|---|---|---|
$ | object | Root | |
setup_future_usage | string | Optional | Indicates that you intend to make future payments with this PaymentIntent's payment method. If you provide a Customer with the PaymentIntent, you can use this parameter to [attach the payment method](/payments/save-during-payment) to the Customer after the PaymentIntent is confirmed and the customer completes any required actions. If you don't provide a Customer, you can still [attach](/api/payment_methods/attach) the payment method to a Customer after the transaction completes. If the payment method is `card_present` and isn't a digital wallet, Stripe creates and attaches a [generated_card](/api/charges/object#charge_object-payment_method_details-card_present-generated_card) payment method representing the card to the Customer instead. When processing card payments, Stripe uses `setup_future_usage` to help you comply with regional legislation and network rules, such as [SCA](/strong-customer-authentication). Known values: none, off_session |
Create a Checkout Session — response body — payment method options value acss debit, affirm, afterpay clearpay, alipay, alma, amazon pay, au becs debit, bacs debit, bancontact, billie, boleto, card, cashapp, customer balance, eps, fpx, giropay, grabpay, ideal, kakao pay, klarna, konbini, kr card, link, mobilepay, multibanco, naver pay, oxxo, p24, payco, paynow, paypal, payto, pix, revolut pay, samsung pay, satispay, scalapay, sepa debit, sequra, sofort, sunbit, swish, twint, upi, us bank account, wechat pay upi
| Field | Type | Presence | Description and constraints |
|---|---|---|---|
$ | object | Root | |
mandate_options | Model | Optional | Expand Retrieve a Mandate — response body — payment method details upi |
setup_future_usage | string | Optional | Indicates that you intend to make future payments with this PaymentIntent's payment method. If you provide a Customer with the PaymentIntent, you can use this parameter to [attach the payment method](/payments/save-during-payment) to the Customer after the PaymentIntent is confirmed and the customer completes any required actions. If you don't provide a Customer, you can still [attach](/api/payment_methods/attach) the payment method to a Customer after the transaction completes. If the payment method is `card_present` and isn't a digital wallet, Stripe creates and attaches a [generated_card](/api/charges/object#charge_object-payment_method_details-card_present-generated_card) payment method representing the card to the Customer instead. When processing card payments, Stripe uses `setup_future_usage` to help you comply with regional legislation and network rules, such as [SCA](/strong-customer-authentication). Known values: none, off_session, on_session |
Referenced models: Retrieve a Mandate — response body — payment method details upi
Create a Checkout Session — response body — payment method options value acss debit, affirm, afterpay clearpay, alipay, alma, amazon pay, au becs debit, bacs debit, bancontact, billie, boleto, card, cashapp, customer balance, eps, fpx, giropay, grabpay, ideal, kakao pay, klarna, konbini, kr card, link, mobilepay, multibanco, naver pay, oxxo, p24, payco, paynow, paypal, payto, pix, revolut pay, samsung pay, satispay, scalapay, sepa debit, sequra, sofort, sunbit, swish, twint, upi, us bank account, wechat pay us bank account
| Field | Type | Presence | Description and constraints |
|---|---|---|---|
$ | object | Root | |
financial_connections | Model | Optional | Expand Create a Checkout Session — response body — payment method options value acss debit, affirm, afterpay clearpay, alipay, alma, amazon pay, au becs debit, bacs debit, bancontact, billie, boleto, card, cashapp, customer balance, eps, fpx, giropay, grabpay, ideal, kakao pay, klarna, konbini, kr card, link, mobilepay, multibanco, naver pay, oxxo, p24, payco, paynow, paypal, payto, pix, revolut pay, samsung pay, satispay, scalapay, sepa debit, sequra, sofort, sunbit, swish, twint, upi, us bank account, wechat pay us bank account financial connections |
setup_future_usage | string | Optional | Indicates that you intend to make future payments with this PaymentIntent's payment method. If you provide a Customer with the PaymentIntent, you can use this parameter to [attach the payment method](/payments/save-during-payment) to the Customer after the PaymentIntent is confirmed and the customer completes any required actions. If you don't provide a Customer, you can still [attach](/api/payment_methods/attach) the payment method to a Customer after the transaction completes. If the payment method is `card_present` and isn't a digital wallet, Stripe creates and attaches a [generated_card](/api/charges/object#charge_object-payment_method_details-card_present-generated_card) payment method representing the card to the Customer instead. When processing card payments, Stripe uses `setup_future_usage` to help you comply with regional legislation and network rules, such as [SCA](/strong-customer-authentication). Known values: none, off_session, on_session |
target_date | string | Optional | Controls when Stripe will attempt to debit the funds from the customer's account. The date must be a string in YYYY-MM-DD format. The date must be in the future and between 3 and 15 calendar days from now. Maximum length: 5000 |
verification_method | string | Optional | Bank account verification method. The default value is `automatic`. Known values: automatic, instant |
Create a Checkout Session — response body — payment method options value acss debit, affirm, afterpay clearpay, alipay, alma, amazon pay, au becs debit, bacs debit, bancontact, billie, boleto, card, cashapp, customer balance, eps, fpx, giropay, grabpay, ideal, kakao pay, klarna, konbini, kr card, link, mobilepay, multibanco, naver pay, oxxo, p24, payco, paynow, paypal, payto, pix, revolut pay, samsung pay, satispay, scalapay, sepa debit, sequra, sofort, sunbit, swish, twint, upi, us bank account, wechat pay us bank account financial connections
| Field | Type | Presence | Description and constraints |
|---|---|---|---|
$ | object | Root | |
filters | Model | Optional | Expand Create a Checkout Session — response body — payment method options value acss debit, affirm, afterpay clearpay, alipay, alma, amazon pay, au becs debit, bacs debit, bancontact, billie, boleto, card, cashapp, customer balance, eps, fpx, giropay, grabpay, ideal, kakao pay, klarna, konbini, kr card, link, mobilepay, multibanco, naver pay, oxxo, p24, payco, paynow, paypal, payto, pix, revolut pay, samsung pay, satispay, scalapay, sepa debit, sequra, sofort, sunbit, swish, twint, upi, us bank account, wechat pay us bank account financial connections filters |
permissions | array | Optional | The list of permissions to request. The `payment_method` permission must be included. |
permissions[] | string | Each item | Known values: balances, ownership, payment_method, transactions |
prefetch | JSON | Optional | |
prefetch (anyOf 1) | array | Alternative | Data features requested to be retrieved upon account creation. |
prefetch (anyOf 1)[] | string | Each item | Known values: balances, ownership, transactions |
prefetch (anyOf 2) | null | Alternative | |
return_url | string | Optional | 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. Maximum length: 5000 |
Create a Checkout Session — response body — payment method options value acss debit, affirm, afterpay clearpay, alipay, alma, amazon pay, au becs debit, bacs debit, bancontact, billie, boleto, card, cashapp, customer balance, eps, fpx, giropay, grabpay, ideal, kakao pay, klarna, konbini, kr card, link, mobilepay, multibanco, naver pay, oxxo, p24, payco, paynow, paypal, payto, pix, revolut pay, samsung pay, satispay, scalapay, sepa debit, sequra, sofort, sunbit, swish, twint, upi, us bank account, wechat pay us bank account financial connections filters
| Field | Type | Presence | Description and constraints |
|---|---|---|---|
$ | object | Root | |
account_subcategories | array | Optional | The account subcategories to use to filter for possible accounts to link. Valid subcategories are `checking` and `savings`. |
account_subcategories[] | string | Each item | Known values: checking, savings |
Create a Checkout Session — response body — payment method options value acss debit, affirm, afterpay clearpay, alipay, alma, amazon pay, au becs debit, bacs debit, bancontact, billie, boleto, card, cashapp, customer balance, eps, fpx, giropay, grabpay, ideal, kakao pay, klarna, konbini, kr card, link, mobilepay, multibanco, naver pay, oxxo, p24, payco, paynow, paypal, payto, pix, revolut pay, samsung pay, satispay, scalapay, sepa debit, sequra, sofort, sunbit, swish, twint, upi, us bank account, wechat pay wechat pay
| Field | Type | Presence | Description and constraints |
|---|---|---|---|
$ | object | Root | |
app_id | JSON | Optional | |
app_id (anyOf 1) | string | Alternative | The app ID registered with WeChat Pay. Only required when client is iOS or Android. Maximum length: 5000 |
app_id (anyOf 2) | null | Alternative | |
client | JSON | Optional | |
client (anyOf 1) | string | Alternative | The client type that the end customer will pay from Known values: android, ios, web |
client (anyOf 2) | null | Alternative | |
setup_future_usage | string | Optional | Indicates that you intend to make future payments with this PaymentIntent's payment method. If you provide a Customer with the PaymentIntent, you can use this parameter to [attach the payment method](/payments/save-during-payment) to the Customer after the PaymentIntent is confirmed and the customer completes any required actions. If you don't provide a Customer, you can still [attach](/api/payment_methods/attach) the payment method to a Customer after the transaction completes. If the payment method is `card_present` and isn't a digital wallet, Stripe creates and attaches a [generated_card](/api/charges/object#charge_object-payment_method_details-card_present-generated_card) payment method representing the card to the Customer instead. When processing card payments, Stripe uses `setup_future_usage` to help you comply with regional legislation and network rules, such as [SCA](/strong-customer-authentication). Known values: none |
Create a Checkout Session — response body — permissions value update shipping details
| Field | Type | Presence | Description and constraints |
|---|---|---|---|
$ | object | Root | |
update_shipping_details | JSON | Optional | |
update_shipping_details (anyOf 1) | string | Alternative | Determines which entity is allowed to update the shipping details. Default is `client_only`. Stripe Checkout client will automatically update the shipping details. If set to `server_only`, only your server is allowed to update the shipping details. This parameter is only supported when `ui_mode=elements`. Known values: client_only, server_only |
update_shipping_details (anyOf 2) | null | Alternative |
Create a Checkout Session — response body — phone number collection
| Field | Type | Presence | Description and constraints |
|---|---|---|---|
$ | object | Root | |
enabled | boolean | Required within parent | Indicates whether phone number collection is enabled for the session |
Create a Checkout Session — response body — saved payment method options value allow redisplay filters, payment method remove, payment method save
| Field | Type | Presence | Description and constraints |
|---|---|---|---|
$ | object | Root | |
allow_redisplay_filters | JSON | Optional | |
allow_redisplay_filters (anyOf 1) | array | Alternative | Uses the `allow_redisplay` 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. |
allow_redisplay_filters (anyOf 1)[] | string | Each item | Known values: always, limited, unspecified |
allow_redisplay_filters (anyOf 2) | null | Alternative | |
payment_method_remove | JSON | Optional | |
payment_method_remove (anyOf 1) | string | Alternative | Enable customers to choose if they wish to remove their saved payment methods. Disabled by default. Known values: disabled, enabled |
payment_method_remove (anyOf 2) | null | Alternative | |
payment_method_save | JSON | Optional | |
payment_method_save (anyOf 1) | string | Alternative | Enable customers to choose if they wish to save their payment method for future use. Disabled by default. Known values: disabled, enabled |
payment_method_save (anyOf 2) | null | Alternative |
Create a Checkout Session — response body — shipping address collection value allowed countries
| Field | Type | Presence | Description and constraints |
|---|---|---|---|
$ | object | Root | |
allowed_countries | array | Required within parent | 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`. |
allowed_countries[] | string | Each item | Known values: AC, AD, AE, AF, AG, AI, AL, AM, AO, AQ, AR, AT, AU, AW, AX, AZ, BA, BB, BD, BE, BF, BG, BH, BI, BJ, BL, BM, BN, BO, BQ, BR, BS, BT, BV, BW, BY, BZ, CA, CD, CF, CG, CH, CI, CK, CL, CM, CN, CO, CR, CV, CW, CY, CZ, DE, DJ, DK, DM, DO, DZ, EC, EE, EG, EH, ER, ES, ET, FI, FJ, FK, FO, FR, GA, GB, GD, GE, GF, GG, GH, GI, GL, GM, GN, GP, GQ, GR, GS, GT, GU, GW, GY, HK, HN, HR, HT, HU, ID, IE, IL, IM, IN, IO, IQ, IS, IT, JE, JM, JO, JP, KE, KG, KH, KI, KM, KN, KR, KW, KY, KZ, LA, LB, LC, LI, LK, LR, LS, LT, LU, LV, LY, MA, MC, MD, ME, MF, MG, MK, ML, MM, MN, MO, MQ, MR, MS, MT, MU, MV, MW, MX, MY, MZ, NA, NC, NE, NG, NI, NL, NO, NP, NR, NU, NZ, OM, PA, PE, PF, PG, PH, PK, PL, PM, PN, PR, PS, PT, PY, QA, RE, RO, RS, RU, RW, SA, SB, SC, SD, SE, SG, SH, SI, SJ, SK, SL, SM, SN, SO, SR, SS, ST, SV, SX, SZ, TA, TC, TD, TF, TG, TH, TJ, TK, TL, TM, TN, TO, TR, TT, TV, TW, TZ, UA, UG, US, UY, UZ, VA, VC, VE, VG, VN, VU, WF, WS, XK, YE, YT, ZA, ZM, ZW, ZZ |
Create a Checkout Session — response body — shipping cost value amount subtotal, amount tax, amount total, shipping rate, taxes
| Field | Type | Presence | Description and constraints |
|---|---|---|---|
$ | object | Root | |
amount_subtotal | JSON | Required within parent | |
amount_subtotal (anyOf 1) | integer | Alternative | Total shipping cost before any discounts or taxes are applied. |
amount_subtotal (anyOf 2) | string | Alternative | Pattern: ^-?[0-9]+(?:\.[0-9]+)?(?:[eE][+-]?[0-9]+)?$ |
amount_tax | JSON | Required within parent | |
amount_tax (anyOf 1) | integer | Alternative | Total tax amount applied due to shipping costs. If no tax was applied, defaults to 0. |
amount_tax (anyOf 2) | string | Alternative | Pattern: ^-?[0-9]+(?:\.[0-9]+)?(?:[eE][+-]?[0-9]+)?$ |
amount_total | JSON | Required within parent | |
amount_total (anyOf 1) | integer | Alternative | Total shipping cost after discounts and taxes are applied. |
amount_total (anyOf 2) | string | Alternative | Pattern: ^-?[0-9]+(?:\.[0-9]+)?(?:[eE][+-]?[0-9]+)?$ |
shipping_rate | JSON | Optional | |
shipping_rate (anyOf 1) | JSON | Alternative | The ID of the ShippingRate for this order. |
shipping_rate (anyOf 1) (anyOf 1) | string | Alternative | Maximum length: 5000 |
shipping_rate (anyOf 1) (anyOf 2) | Model | Alternative | Expand Create a shipping rate — response body |
shipping_rate (anyOf 2) | null | Alternative | |
taxes | array | Optional | The taxes applied to the shipping rate. |
taxes[] | Model | Each item | Expand Retrieve a quote's line items — response body — data item taxes item |
Referenced models: Retrieve a quote's line items — response body — data item taxes item, Create a shipping rate — response body
Create a Checkout Session — response body — shipping options item
| Field | Type | Presence | Description and constraints |
|---|---|---|---|
$ | object | Root | |
shipping_amount | JSON | Required within parent | |
shipping_amount (anyOf 1) | integer | Alternative | A non-negative integer in cents representing how much to charge. |
shipping_amount (anyOf 2) | string | Alternative | Pattern: ^-?[0-9]+(?:\.[0-9]+)?(?:[eE][+-]?[0-9]+)?$ |
shipping_rate | JSON | Required within parent | The shipping rate. |
shipping_rate (anyOf 1) | string | Alternative | Maximum length: 5000 |
shipping_rate (anyOf 2) | Model | Alternative | Expand Create a shipping rate — response body |
Referenced models: Create a shipping rate — response body
Create a Checkout Session — response body — tax id collection
| Field | Type | Presence | Description and constraints |
|---|---|---|---|
$ | object | Root | |
enabled | boolean | Required within parent | Indicates whether tax ID collection is enabled for the session |
required | string | Required within parent | Indicates whether a tax ID is required on the payment page Known values: if_supported, never |
Create a Checkout Session — response body — wallet options value link
| Field | Type | Presence | Description and constraints |
|---|---|---|---|
$ | object | Root | |
link | Model | Optional | Expand Create a Checkout Session — response body — wallet options value link link |
Referenced models: Create a Checkout Session — response body — wallet options value link link
Create a Checkout Session — response body — wallet options value link link
| Field | Type | Presence | Description and constraints |
|---|---|---|---|
$ | object | Root | |
display | string | Optional | Describes whether Checkout should display Link. Defaults to `auto`. Known values: auto, never |