object billing_meter_resource_billing_meter_event_adjustment_cancel
{
  "type": "object",
  "title": "BillingMeterResourceBillingMeterEventAdjustmentCancel",
  "properties": {
    "identifier": {
      "type": "string",
      "nullable": true,
      "maxLength": 100,
      "description": "Unique identifier for the event."
    }
  },
  "description": "",
  "x-expandableFields": []
}
object billing_meter_resource_billing_meter_status_transitions
{
  "type": "object",
  "title": "BillingMeterResourceBillingMeterStatusTransitions",
  "properties": {
    "deactivated_at": {
      "type": "integer",
      "format": "unix-time",
      "nullable": true,
      "description": "The time the meter was deactivated, if any. Measured in seconds since Unix epoch."
    }
  },
  "description": "",
  "x-expandableFields": []
}
object billing_meter_resource_billing_meter_value
{
  "type": "object",
  "title": "BillingMeterResourceBillingMeterValue",
  "required": [
    "event_payload_key"
  ],
  "properties": {
    "event_payload_key": {
      "type": "string",
      "maxLength": 5000,
      "description": "The key in the meter event payload to use as the value for this meter."
    }
  },
  "description": "",
  "x-expandableFields": []
}
object billing_meter_resource_customer_mapping_settings
{
  "type": "object",
  "title": "BillingMeterResourceCustomerMappingSettings",
  "required": [
    "event_payload_key",
    "type"
  ],
  "properties": {
    "type": {
      "enum": [
        "by_id"
      ],
      "type": "string",
      "description": "The method for mapping a meter event to a customer."
    },
    "event_payload_key": {
      "type": "string",
      "maxLength": 5000,
      "description": "The key in the meter event payload to use for mapping the event to a customer."
    }
  },
  "description": "",
  "x-expandableFields": []
}
object billing_portal.configuration
{
  "type": "object",
  "title": "PortalConfiguration",
  "required": [
    "active",
    "business_profile",
    "created",
    "features",
    "id",
    "is_default",
    "livemode",
    "login_page",
    "object",
    "updated"
  ],
  "properties": {
    "id": {
      "type": "string",
      "maxLength": 5000,
      "description": "Unique identifier for the object."
    },
    "name": {
      "type": "string",
      "nullable": true,
      "maxLength": 5000,
      "description": "The name of the configuration."
    },
    "active": {
      "type": "boolean",
      "description": "Whether the configuration is active and can be used to create portal sessions."
    },
    "object": {
      "enum": [
        "billing_portal.configuration"
      ],
      "type": "string",
      "description": "String representing the object's type. Objects of the same type share the same value."
    },
    "created": {
      "type": "integer",
      "format": "unix-time",
      "description": "Time at which the object was created. Measured in seconds since the Unix epoch."
    },
    "updated": {
      "type": "integer",
      "format": "unix-time",
      "description": "Time at which the object was last updated. Measured in seconds since the Unix epoch."
    },
    "features": {
      "$ref": "#/components/schemas/portal_features"
    },
    "livemode": {
      "type": "boolean",
      "description": "If the object exists in live mode, the value is `true`. If the object exists in test mode, the value is `false`."
    },
    "metadata": {
      "type": "object",
      "nullable": true,
      "description": "Set of [key-value pairs](https://docs.stripe.com/api/metadata) that you can attach to an object. This can be useful for storing additional information about the object in a structured format.",
      "additionalProperties": {
        "type": "string",
        "maxLength": 500
      }
    },
    "is_default": {
      "type": "boolean",
      "description": "Whether the configuration is the default. If `true`, this configuration can be managed in the Dashboard and portal sessions will use this configuration unless it is overriden when creating the session."
    },
    "login_page": {
      "$ref": "#/components/schemas/portal_login_page"
    },
    "application": {
      "anyOf": [
        {
          "type": "string",
          "maxLength": 5000
        },
        {
          "$ref": "#/components/schemas/application"
        },
        {
          "$ref": "#/components/schemas/deleted_application"
        }
      ],
      "nullable": true,
      "description": "ID of the Connect Application that created the configuration.",
      "x-expansionResources": {
        "oneOf": [
          {
            "$ref": "#/components/schemas/application"
          },
          {
            "$ref": "#/components/schemas/deleted_application"
          }
        ]
      }
    },
    "business_profile": {
      "$ref": "#/components/schemas/portal_business_profile"
    },
    "default_return_url": {
      "type": "string",
      "nullable": true,
      "maxLength": 5000,
      "description": "The default URL to redirect customers to when they click on the portal's link to return to your website. This can be [overriden](https://docs.stripe.com/api/customer_portal/sessions/create#create_portal_session-return_url) when creating the session."
    }
  },
  "description": "A portal configuration describes the functionality and behavior you embed in a portal session. Related guide: [Configure the customer portal](/customer-management/configure-portal).",
  "x-resourceId": "billing_portal.configuration",
  "x-expandableFields": [
    "application",
    "business_profile",
    "features",
    "login_page"
  ]
}
object billing_portal.session
{
  "type": "object",
  "title": "PortalSession",
  "required": [
    "configuration",
    "created",
    "customer",
    "id",
    "livemode",
    "object",
    "url"
  ],
  "properties": {
    "id": {
      "type": "string",
      "maxLength": 5000,
      "description": "Unique identifier for the object."
    },
    "url": {
      "type": "string",
      "maxLength": 5000,
      "description": "The short-lived URL of the session that gives customers access to the customer portal."
    },
    "flow": {
      "anyOf": [
        {
          "$ref": "#/components/schemas/portal_flows_flow"
        }
      ],
      "nullable": true,
      "description": "Information about a specific flow for the customer to go through. See the [docs](https://docs.stripe.com/customer-management/portal-deep-links) to learn more about using customer portal deep links and flows."
    },
    "locale": {
      "enum": [
        "auto",
        "bg",
        "cs",
        "da",
        "de",
        "el",
        "en",
        "en-AU",
        "en-CA",
        "en-GB",
        "en-IE",
        "en-IN",
        "en-NZ",
        "en-SG",
        "es",
        "es-419",
        "et",
        "fi",
        "fil",
        "fr",
        "fr-CA",
        "hr",
        "hu",
        "id",
        "it",
        "ja",
        "ko",
        "lt",
        "lv",
        "ms",
        "mt",
        "nb",
        "nl",
        "pl",
        "pt",
        "pt-BR",
        "ro",
        "ru",
        "sk",
        "sl",
        "sv",
        "th",
        "tr",
        "vi",
        "zh",
        "zh-HK",
        "zh-TW"
      ],
      "type": "string",
      "nullable": true,
      "description": "The IETF language tag of the locale Customer Portal is displayed in. If blank or auto, the customer’s `preferred_locales` or browser’s locale is used."
    },
    "object": {
      "enum": [
        "billing_portal.session"
      ],
      "type": "string",
      "description": "String representing the object's type. Objects of the same type share the same value."
    },
    "created": {
      "type": "integer",
      "format": "unix-time",
      "description": "Time at which the object was created. Measured in seconds since the Unix epoch."
    },
    "customer": {
      "type": "string",
      "maxLength": 5000,
      "description": "The ID of the customer for this session."
    },
    "livemode": {
      "type": "boolean",
      "description": "If the object exists in live mode, the value is `true`. If the object exists in test mode, the value is `false`."
    },
    "return_url": {
      "type": "string",
      "nullable": true,
      "maxLength": 5000,
      "description": "The URL to redirect customers to when they click on the portal's link to return to your website."
    },
    "on_behalf_of": {
      "type": "string",
      "nullable": true,
      "maxLength": 5000,
      "description": "The account for which the session was created on behalf of. When specified, only subscriptions and invoices with this `on_behalf_of` account appear in the portal. For more information, see the [docs](https://docs.stripe.com/connect/separate-charges-and-transfers#settlement-merchant). Use the [Accounts API](https://docs.stripe.com/api/accounts/object#account_object-settings-branding) to modify the `on_behalf_of` account's branding settings, which the portal displays."
    },
    "configuration": {
      "anyOf": [
        {
          "type": "string",
          "maxLength": 5000
        },
        {
          "$ref": "#/components/schemas/billing_portal.configuration"
        }
      ],
      "description": "The configuration used by this session, describing the features available.",
      "x-expansionResources": {
        "oneOf": [
          {
            "$ref": "#/components/schemas/billing_portal.configuration"
          }
        ]
      }
    },
    "customer_account": {
      "type": "string",
      "nullable": true,
      "maxLength": 5000,
      "description": "The ID of the account for this session."
    }
  },
  "description": "The Billing customer portal is a Stripe-hosted UI for subscription and\nbilling management.\n\nA portal configuration describes the functionality and features that you\nwant to provide to your customers through the portal.\n\nA portal session describes the instantiation of the customer portal for\na particular customer. By visiting the session's URL, the customer\ncan manage their subscriptions and billing details. For security reasons,\nsessions are short-lived and will expire if the customer does not visit the URL.\nCreate sessions on-demand when customers intend to manage their subscriptions\nand billing details.\n\nRelated guide: [Customer management](/customer-management)",
  "x-resourceId": "billing_portal.session",
  "x-expandableFields": [
    "configuration",
    "flow"
  ]
}
object cancellation_details
{
  "type": "object",
  "title": "CancellationDetails",
  "properties": {
    "reason": {
      "enum": [
        "canceled_by_retention_policy",
        "cancellation_requested",
        "payment_disputed",
        "payment_failed"
      ],
      "type": "string",
      "nullable": true,
      "description": "Why this subscription was canceled."
    },
    "comment": {
      "type": "string",
      "nullable": true,
      "maxLength": 5000,
      "description": "Additional comments about why the user canceled the subscription, if the subscription was canceled explicitly by the user."
    },
    "feedback": {
      "enum": [
        "customer_service",
        "low_quality",
        "missing_features",
        "other",
        "switched_service",
        "too_complex",
        "too_expensive",
        "unused"
      ],
      "type": "string",
      "nullable": true,
      "description": "The customer submitted reason for why they canceled, if the subscription was canceled explicitly by the user."
    }
  },
  "description": "",
  "x-expandableFields": []
}
object capability
{
  "type": "object",
  "title": "AccountCapability",
  "required": [
    "account",
    "id",
    "object",
    "requested",
    "status"
  ],
  "properties": {
    "id": {
      "type": "string",
      "maxLength": 5000,
      "description": "The identifier for the capability."
    },
    "object": {
      "enum": [
        "capability"
      ],
      "type": "string",
      "description": "String representing the object's type. Objects of the same type share the same value."
    },
    "status": {
      "enum": [
        "active",
        "inactive",
        "pending",
        "unrequested"
      ],
      "type": "string",
      "description": "The status of the capability.",
      "x-stripeBypassValidation": true
    },
    "account": {
      "anyOf": [
        {
          "type": "string",
          "maxLength": 5000
        },
        {
          "$ref": "#/components/schemas/account"
        }
      ],
      "description": "The account for which the capability enables functionality.",
      "x-expansionResources": {
        "oneOf": [
          {
            "$ref": "#/components/schemas/account"
          }
        ]
      }
    },
    "requested": {
      "type": "boolean",
      "description": "Whether the capability has been requested."
    },
    "requested_at": {
      "type": "integer",
      "format": "unix-time",
      "nullable": true,
      "description": "Time at which the capability was requested. Measured in seconds since the Unix epoch."
    },
    "requirements": {
      "$ref": "#/components/schemas/account_capability_requirements"
    },
    "future_requirements": {
      "$ref": "#/components/schemas/account_capability_future_requirements"
    }
  },
  "description": "This is an object representing a capability for a Stripe account.\n\nRelated guide: [Account capabilities](https://docs.stripe.com/connect/account-capabilities)",
  "x-resourceId": "capability",
  "x-expandableFields": [
    "account",
    "future_requirements",
    "requirements"
  ]
}
object card
{
  "type": "object",
  "title": "Card",
  "required": [
    "brand",
    "exp_month",
    "exp_year",
    "funding",
    "id",
    "last4",
    "object"
  ],
  "properties": {
    "id": {
      "type": "string",
      "maxLength": 5000,
      "description": "Unique identifier for the object."
    },
    "iin": {
      "type": "string",
      "maxLength": 5000,
      "description": "Issuer identification number of the card."
    },
    "name": {
      "type": "string",
      "nullable": true,
      "maxLength": 5000,
      "description": "Cardholder name."
    },
    "brand": {
      "type": "string",
      "maxLength": 5000,
      "description": "Card brand. Can be `American Express`, `Cartes Bancaires`, `Diners Club`, `Discover`, `Eftpos Australia`, `Girocard`, `JCB`, `MasterCard`, `UnionPay`, `Visa`, or `Unknown`."
    },
    "last4": {
      "type": "string",
      "maxLength": 5000,
      "description": "The last four digits of the card."
    },
    "object": {
      "enum": [
        "card"
      ],
      "type": "string",
      "description": "String representing the object's type. Objects of the same type share the same value."
    },
    "status": {
      "type": "string",
      "nullable": true,
      "maxLength": 5000,
      "description": "For external accounts that are cards, possible values are `new` and `errored`. If a payout fails, the status is set to `errored` and [scheduled payouts](https://stripe.com/docs/payouts#payout-schedule) are stopped until account details are updated."
    },
    "account": {
      "anyOf": [
        {
          "type": "string",
          "maxLength": 5000
        },
        {
          "$ref": "#/components/schemas/account"
        }
      ],
      "nullable": true,
      "x-expansionResources": {
        "oneOf": [
          {
            "$ref": "#/components/schemas/account"
          }
        ]
      }
    },
    "country": {
      "type": "string",
      "nullable": true,
      "maxLength": 5000,
      "description": "Two-letter ISO code representing the country of the card. You could use this attribute to get a sense of the international breakdown of cards you've collected."
    },
    "funding": {
      "type": "string",
      "maxLength": 5000,
      "description": "Card funding type. Can be `credit`, `debit`, `prepaid`, or `unknown`."
    },
    "currency": {
      "type": "string",
      "format": "currency",
      "nullable": true,
      "description": "Three-letter [ISO code for currency](https://www.iso.org/iso-4217-currency-codes.html) in lowercase. Must be a [supported currency](https://docs.stripe.com/currencies). Only applicable on accounts (not customers or recipients). The card can be used as a transfer destination for funds in this currency. This property is only available when returned as an [External Account](/api/external_account_cards/object) where [controller.is_controller](/api/accounts/object#account_object-controller-is_controller) is `true`."
    },
    "customer": {
      "anyOf": [
        {
          "type": "string",
          "maxLength": 5000
        },
        {
          "$ref": "#/components/schemas/customer"
        },
        {
          "$ref": "#/components/schemas/deleted_customer"
        }
      ],
      "nullable": true,
      "description": "The customer that this card belongs to. This attribute will not be in the card object if the card belongs to an account or recipient instead.",
      "x-expansionResources": {
        "oneOf": [
          {
            "$ref": "#/components/schemas/customer"
          },
          {
            "$ref": "#/components/schemas/deleted_customer"
          }
        ]
      }
    },
    "exp_year": {
      "type": "integer",
      "description": "Four-digit number representing the card's expiration year."
    },
    "metadata": {
      "type": "object",
      "nullable": true,
      "description": "Set of [key-value pairs](https://docs.stripe.com/api/metadata) that you can attach to an object. This can be useful for storing additional information about the object in a structured format.",
      "additionalProperties": {
        "type": "string",
        "maxLength": 500
      }
    },
    "networks": {
      "$ref": "#/components/schemas/token_card_networks"
    },
    "cvc_check": {
      "type": "string",
      "nullable": true,
      "maxLength": 5000,
      "description": "If a CVC was provided, results of the check: `pass`, `fail`, `unavailable`, or `unchecked`. A result of unchecked indicates that CVC was provided but hasn't been checked yet. Checks are typically performed when attaching a card to a Customer object, or when creating a charge. For more details, see [Check if a card is valid without a charge](https://support.stripe.com/questions/check-if-a-card-is-valid-without-a-charge)."
    },
    "exp_month": {
      "type": "integer",
      "description": "Two-digit number representing the card's expiration month."
    },
    "address_zip": {
      "type": "string",
      "nullable": true,
      "maxLength": 5000,
      "description": "ZIP or postal code."
    },
    "fingerprint": {
      "type": "string",
      "nullable": true,
      "maxLength": 5000,
      "description": "Uniquely identifies this particular card number. You can use this attribute to check whether two customers who’ve signed up with you are using the same card number, for example. For payment methods that tokenize card information (Apple Pay, Google Pay), the tokenized number might be provided instead of the underlying card number.\n\n*As of May 1, 2021, card fingerprint in India for Connect changed to allow two fingerprints for the same card---one for India and one for the rest of the world.*"
    },
    "address_city": {
      "type": "string",
      "nullable": true,
      "maxLength": 5000,
      "description": "City/District/Suburb/Town/Village."
    },
    "address_line1": {
      "type": "string",
      "nullable": true,
      "maxLength": 5000,
      "description": "Address line 1 (Street address/PO Box/Company name)."
    },
    "address_line2": {
      "type": "string",
      "nullable": true,
      "maxLength": 5000,
      "description": "Address line 2 (Apartment/Suite/Unit/Building)."
    },
    "address_state": {
      "type": "string",
      "nullable": true,
      "maxLength": 5000,
      "description": "State/County/Province/Region."
    },
    "dynamic_last4": {
      "type": "string",
      "nullable": true,
      "maxLength": 5000,
      "description": "(For tokenized numbers only.) The last four digits of the device account number."
    },
    "address_country": {
      "type": "string",
      "nullable": true,
      "maxLength": 5000,
      "description": "Billing address country, if provided when creating card."
    },
    "allow_redisplay": {
      "enum": [
        "always",
        "limited",
        "unspecified"
      ],
      "type": "string",
      "nullable": true,
      "description": "This field indicates whether this payment method can be shown again to its customer in a checkout flow. Stripe products such as Checkout and Elements use this field to determine whether a payment method can be shown as a saved payment method in a checkout flow. The field defaults to “unspecified”."
    },
    "regulated_status": {
      "enum": [
        "regulated",
        "unregulated"
      ],
      "type": "string",
      "nullable": true,
      "description": "Status of a card based on the card issuer."
    },
    "address_zip_check": {
      "type": "string",
      "nullable": true,
      "maxLength": 5000,
      "description": "If `address_zip` was provided, results of the check: `pass`, `fail`, `unavailable`, or `unchecked`."
    },
    "address_line1_check": {
      "type": "string",
      "nullable": true,
      "maxLength": 5000,
      "description": "If `address_line1` was provided, results of the check: `pass`, `fail`, `unavailable`, or `unchecked`."
    },
    "tokenization_method": {
      "type": "string",
      "nullable": true,
      "maxLength": 5000,
      "description": "If the card number is tokenized, this is the method that was used. Can be `android_pay` (includes Google Pay), `apple_pay`, `masterpass`, `visa_checkout`, or null."
    },
    "default_for_currency": {
      "type": "boolean",
      "nullable": true,
      "description": "Whether this card is the default external account for its currency. This property is only available for accounts where [controller.requirement_collection](/api/accounts/object#account_object-controller-requirement_collection) is `application`, which includes Custom accounts."
    },
    "available_payout_methods": {
      "type": "array",
      "items": {
        "enum": [
          "instant",
          "standard"
        ],
        "type": "string"
      },
      "nullable": true,
      "description": "A set of available payout methods for this card. Only values from this set should be passed as the `method` when creating a payout."
    }
  },
  "description": "You can store multiple cards on a customer in order to charge the customer\nlater. You can also store multiple debit cards on a recipient in order to\ntransfer to those cards later.\n\nRelated guide: [Card payments with Sources](https://docs.stripe.com/sources/cards)",
  "x-resourceId": "card",
  "x-expandableFields": [
    "account",
    "customer",
    "networks"
  ]
}
object card_generated_from_payment_method_details
{
  "type": "object",
  "title": "card_generated_from_payment_method_details",
  "required": [
    "type"
  ],
  "properties": {
    "type": {
      "type": "string",
      "maxLength": 5000,
      "description": "The type of payment method transaction-specific details from the transaction that generated this `card` payment method. Always `card_present`."
    },
    "card_present": {
      "$ref": "#/components/schemas/payment_method_details_card_present"
    }
  },
  "description": "",
  "x-expandableFields": [
    "card_present"
  ]
}
object card_issuing_account_terms_of_service
{
  "type": "object",
  "title": "CardIssuingAccountTermsOfService",
  "properties": {
    "ip": {
      "type": "string",
      "nullable": true,
      "maxLength": 5000,
      "description": "The IP address from which the account representative accepted the service agreement."
    },
    "date": {
      "type": "integer",
      "nullable": true,
      "description": "The Unix timestamp marking when the account representative accepted the service agreement."
    },
    "user_agent": {
      "type": "string",
      "maxLength": 5000,
      "description": "The user agent of the browser from which the account representative accepted the service agreement."
    }
  },
  "description": "",
  "x-expandableFields": []
}
object card_mandate_payment_method_details
{
  "type": "object",
  "title": "card_mandate_payment_method_details",
  "properties": {},
  "description": "",
  "x-expandableFields": []
}
object cash_balance
{
  "type": "object",
  "title": "cash_balance",
  "required": [
    "customer",
    "livemode",
    "object",
    "settings"
  ],
  "properties": {
    "object": {
      "enum": [
        "cash_balance"
      ],
      "type": "string",
      "description": "String representing the object's type. Objects of the same type share the same value."
    },
    "customer": {
      "type": "string",
      "maxLength": 5000,
      "description": "The ID of the customer whose cash balance this object represents."
    },
    "livemode": {
      "type": "boolean",
      "description": "If the object exists in live mode, the value is `true`. If the object exists in test mode, the value is `false`."
    },
    "settings": {
      "$ref": "#/components/schemas/customer_balance_customer_balance_settings"
    },
    "available": {
      "type": "object",
      "nullable": true,
      "description": "A hash of all cash balances available to this customer. You cannot delete a customer with any cash balances, even if the balance is 0. Amounts are represented in the [smallest currency unit](https://docs.stripe.com/currencies#zero-decimal).",
      "additionalProperties": {
        "type": "integer"
      }
    },
    "customer_account": {
      "type": "string",
      "nullable": true,
      "maxLength": 5000,
      "description": "The ID of an Account representing a customer whose cash balance this object represents."
    }
  },
  "description": "A customer's `Cash balance` represents real funds. Customers can add funds to their cash balance by sending a bank transfer. These funds can be used for payment and can eventually be paid out to your bank account.",
  "x-resourceId": "cash_balance",
  "x-expandableFields": [
    "settings"
  ]
}
object charge
{
  "type": "object",
  "title": "Charge",
  "required": [
    "amount",
    "amount_captured",
    "amount_refunded",
    "billing_details",
    "captured",
    "created",
    "currency",
    "disputed",
    "id",
    "livemode",
    "metadata",
    "object",
    "paid",
    "refunded",
    "status"
  ],
  "properties": {
    "id": {
      "type": "string",
      "maxLength": 5000,
      "description": "Unique identifier for the object."
    },
    "paid": {
      "type": "boolean",
      "description": "`true` if the charge succeeded, or was successfully authorized for later capture."
    },
    "amount": {
      "type": "integer",
      "description": "Amount intended to be collected by this payment. A positive integer representing how much to charge in the [smallest currency unit](https://docs.stripe.com/currencies#zero-decimal) (e.g., 100 cents to charge $1.00 or 100 to charge ¥100, a zero-decimal currency). The minimum amount is $0.50 US or [equivalent in charge currency](https://docs.stripe.com/currencies#minimum-and-maximum-charge-amounts). The amount value supports up to eight digits (e.g., a value of 99999999 for a USD charge of $999,999.99)."
    },
    "object": {
      "enum": [
        "charge"
      ],
      "type": "string",
      "description": "String representing the object's type. Objects of the same type share the same value."
    },
    "review": {
      "anyOf": [
        {
          "type": "string",
          "maxLength": 5000
        },
        {
          "$ref": "#/components/schemas/review"
        }
      ],
      "nullable": true,
      "description": "ID of the review associated with this charge if one exists.",
      "x-expansionResources": {
        "oneOf": [
          {
            "$ref": "#/components/schemas/review"
          }
        ]
      }
    },
    "status": {
      "enum": [
        "failed",
        "pending",
        "succeeded"
      ],
      "type": "string",
      "description": "The status of the payment is either `succeeded`, `pending`, or `failed`."
    },
    "created": {
      "type": "integer",
      "format": "unix-time",
      "description": "Time at which the object was created. Measured in seconds since the Unix epoch."
    },
    "outcome": {
      "anyOf": [
        {
          "$ref": "#/components/schemas/charge_outcome"
        }
      ],
      "nullable": true,
      "description": "Details about whether the payment was accepted, and why. See [understanding declines](https://docs.stripe.com/declines) for details."
    },
    "refunds": {
      "type": "object",
      "title": "RefundList",
      "nullable": true,
      "required": [
        "data",
        "has_more",
        "object",
        "url"
      ],
      "properties": {
        "url": {
          "type": "string",
          "maxLength": 5000,
          "description": "The URL where this list can be accessed."
        },
        "data": {
          "type": "array",
          "items": {
            "$ref": "#/components/schemas/refund"
          },
          "description": "Details about each object."
        },
        "object": {
          "enum": [
            "list"
          ],
          "type": "string",
          "description": "String representing the object's type. Objects of the same type share the same value. Always has the value `list`."
        },
        "has_more": {
          "type": "boolean",
          "description": "True if this list has another page of items after this one that can be fetched."
        }
      },
      "description": "A list of refunds that have been applied to the charge.",
      "x-expandableFields": [
        "data"
      ]
    },
    "captured": {
      "type": "boolean",
      "description": "If the charge was created without capturing, this Boolean represents whether it is still uncaptured or has since been captured."
    },
    "currency": {
      "type": "string",
      "format": "currency",
      "description": "Three-letter [ISO currency code](https://www.iso.org/iso-4217-currency-codes.html), in lowercase. Must be a [supported currency](https://stripe.com/docs/currencies)."
    },
    "customer": {
      "anyOf": [
        {
          "type": "string",
          "maxLength": 5000
        },
        {
          "$ref": "#/components/schemas/customer"
        },
        {
          "$ref": "#/components/schemas/deleted_customer"
        }
      ],
      "nullable": true,
      "description": "ID of the customer this charge is for if one exists.",
      "x-expansionResources": {
        "oneOf": [
          {
            "$ref": "#/components/schemas/customer"
          },
          {
            "$ref": "#/components/schemas/deleted_customer"
          }
        ]
      }
    },
    "disputed": {
      "type": "boolean",
      "description": "Whether the charge has been disputed."
    },
    "livemode": {
      "type": "boolean",
      "description": "If the object exists in live mode, the value is `true`. If the object exists in test mode, the value is `false`."
    },
    "metadata": {
      "type": "object",
      "description": "Set of [key-value pairs](https://docs.stripe.com/api/metadata) that you can attach to an object. This can be useful for storing additional information about the object in a structured format.",
      "additionalProperties": {
        "type": "string",
        "maxLength": 500
      }
    },
    "refunded": {
      "type": "boolean",
      "description": "Whether the charge has been fully refunded. If the charge is only partially refunded, this attribute will still be false."
    },
    "shipping": {
      "anyOf": [
        {
          "$ref": "#/components/schemas/shipping"
        }
      ],
      "nullable": true,
      "description": "Shipping information for the charge."
    },
    "transfer": {
      "anyOf": [
        {
          "type": "string",
          "maxLength": 5000
        },
        {
          "$ref": "#/components/schemas/transfer"
        }
      ],
      "description": "ID of the transfer to the `destination` account (only applicable if the charge was created using the `destination` parameter).",
      "x-expansionResources": {
        "oneOf": [
          {
            "$ref": "#/components/schemas/transfer"
          }
        ]
      }
    },
    "application": {
      "anyOf": [
        {
          "type": "string",
          "maxLength": 5000
        },
        {
          "$ref": "#/components/schemas/application"
        }
      ],
      "nullable": true,
      "description": "ID of the Connect application that created the charge.",
      "x-expansionResources": {
        "oneOf": [
          {
            "$ref": "#/components/schemas/application"
          }
        ]
      }
    },
    "description": {
      "type": "string",
      "nullable": true,
      "maxLength": 40000,
      "description": "An arbitrary string attached to the object. Often useful for displaying to users."
    },
    "receipt_url": {
      "type": "string",
      "nullable": true,
      "maxLength": 5000,
      "description": "This is the URL to view the receipt for this charge. The receipt is kept up-to-date to the latest state of the charge, including any refunds. If the charge is for an Invoice, the receipt will be stylized as an Invoice receipt."
    },
    "failure_code": {
      "type": "string",
      "nullable": true,
      "maxLength": 5000,
      "description": "Error code explaining reason for charge failure if available (see [the errors section](https://docs.stripe.com/error-codes) for a list of codes)."
    },
    "on_behalf_of": {
      "anyOf": [
        {
          "type": "string",
          "maxLength": 5000
        },
        {
          "$ref": "#/components/schemas/account"
        }
      ],
      "nullable": true,
      "description": "The account (if any) the charge was made on behalf of without triggering an automatic transfer. See the [Connect documentation](https://docs.stripe.com/connect/separate-charges-and-transfers) for details.",
      "x-expansionResources": {
        "oneOf": [
          {
            "$ref": "#/components/schemas/account"
          }
        ]
      }
    },
    "fraud_details": {
      "anyOf": [
        {
          "$ref": "#/components/schemas/charge_fraud_details"
        }
      ],
      "nullable": true,
      "description": "Information on fraud assessments for the charge."
    },
    "radar_options": {
      "$ref": "#/components/schemas/radar_radar_options"
    },
    "receipt_email": {
      "type": "string",
      "nullable": true,
      "maxLength": 5000,
      "description": "This is the email address that the receipt for this charge was sent to."
    },
    "transfer_data": {
      "anyOf": [
        {
          "$ref": "#/components/schemas/charge_transfer_data"
        }
      ],
      "nullable": true,
      "description": "An optional dictionary including the account to automatically transfer to as part of a destination charge. [See the Connect documentation](https://docs.stripe.com/connect/destination-charges) for details."
    },
    "payment_intent": {
      "anyOf": [
        {
          "type": "string",
          "maxLength": 5000
        },
        {
          "$ref": "#/components/schemas/payment_intent"
        }
      ],
      "nullable": true,
      "description": "ID of the PaymentIntent associated with this charge, if one exists.",
      "x-expansionResources": {
        "oneOf": [
          {
            "$ref": "#/components/schemas/payment_intent"
          }
        ]
      }
    },
    "payment_method": {
      "type": "string",
      "nullable": true,
      "maxLength": 5000,
      "description": "ID of the payment method used in this charge."
    },
    "receipt_number": {
      "type": "string",
      "nullable": true,
      "maxLength": 5000,
      "description": "This is the transaction number that appears on email receipts sent for this charge. This attribute will be `null` until a receipt has been sent."
    },
    "transfer_group": {
      "type": "string",
      "nullable": true,
      "maxLength": 5000,
      "description": "A string that identifies this transaction as part of a group. See the [Connect documentation](https://docs.stripe.com/connect/separate-charges-and-transfers#transfer-options) for details."
    },
    "amount_captured": {
      "type": "integer",
      "description": "Amount in cents (or local equivalent) captured (can be less than the amount attribute on the charge if a partial capture was made)."
    },
    "amount_refunded": {
      "type": "integer",
      "description": "Amount in cents (or local equivalent) refunded (can be less than the amount attribute on the charge if a partial refund was issued)."
    },
    "application_fee": {
      "anyOf": [
        {
          "type": "string",
          "maxLength": 5000
        },
        {
          "$ref": "#/components/schemas/application_fee"
        }
      ],
      "nullable": true,
      "description": "The application fee (if any) for the charge. [See the Connect documentation](https://docs.stripe.com/connect/direct-charges#collect-fees) for details.",
      "x-expansionResources": {
        "oneOf": [
          {
            "$ref": "#/components/schemas/application_fee"
          }
        ]
      }
    },
    "billing_details": {
      "$ref": "#/components/schemas/billing_details"
    },
    "failure_message": {
      "type": "string",
      "nullable": true,
      "maxLength": 5000,
      "description": "Message to user further explaining reason for charge failure if available."
    },
    "source_transfer": {
      "anyOf": [
        {
          "type": "string",
          "maxLength": 5000
        },
        {
          "$ref": "#/components/schemas/transfer"
        }
      ],
      "nullable": true,
      "description": "The transfer ID which created this charge. Only present if the charge came from another Stripe account. [See the Connect documentation](https://docs.stripe.com/connect/destination-charges) for details.",
      "x-expansionResources": {
        "oneOf": [
          {
            "$ref": "#/components/schemas/transfer"
          }
        ]
      }
    },
    "balance_transaction": {
      "anyOf": [
        {
          "type": "string",
          "maxLength": 5000
        },
        {
          "$ref": "#/components/schemas/balance_transaction"
        }
      ],
      "nullable": true,
      "description": "ID of the balance transaction that describes the impact of this charge on your account balance (not including refunds or disputes).",
      "x-expansionResources": {
        "oneOf": [
          {
            "$ref": "#/components/schemas/balance_transaction"
          }
        ]
      }
    },
    "presentment_details": {
      "$ref": "#/components/schemas/payment_flows_payment_intent_presentment_details"
    },
    "statement_descriptor": {
      "type": "string",
      "nullable": true,
      "maxLength": 5000,
      "description": "For a non-card charge, text that appears on the customer's statement as the statement descriptor. This value overrides the account's default statement descriptor. For information about requirements, including the 22-character limit, see [the Statement Descriptor docs](https://docs.stripe.com/get-started/account/statement-descriptors).\n\nFor a card charge, this value is ignored unless you don't specify a `statement_descriptor_suffix`, in which case this value is used as the suffix."
    },
    "application_fee_amount": {
      "type": "integer",
      "nullable": true,
      "description": "The amount of the application fee (if any) requested for the charge. [See the Connect documentation](https://docs.stripe.com/connect/direct-charges#collect-fees) for details."
    },
    "payment_method_details": {
      "anyOf": [
        {
          "$ref": "#/components/schemas/payment_method_details"
        }
      ],
      "nullable": true,
      "description": "Details about the payment method at the time of the transaction."
    },
    "failure_balance_transaction": {
      "anyOf": [
        {
          "type": "string",
          "maxLength": 5000
        },
        {
          "$ref": "#/components/schemas/balance_transaction"
        }
      ],
      "nullable": true,
      "description": "ID of the balance transaction that describes the reversal of the balance on your account due to payment failure.",
      "x-expansionResources": {
        "oneOf": [
          {
            "$ref": "#/components/schemas/balance_transaction"
          }
        ]
      }
    },
    "statement_descriptor_suffix": {
      "type": "string",
      "nullable": true,
      "maxLength": 5000,
      "description": "Provides information about a card charge. Concatenated to the account's [statement descriptor prefix](https://docs.stripe.com/get-started/account/statement-descriptors#static) to form the complete statement descriptor that appears on the customer's statement. If the account has no prefix value, the suffix is concatenated to the account's statement descriptor."
    },
    "calculated_statement_descriptor": {
      "type": "string",
      "nullable": true,
      "maxLength": 5000,
      "description": "The full statement descriptor that is passed to card networks, and that is displayed on your customers' credit card and bank statements. Allows you to see what the statement descriptor looks like after the static and dynamic portions are combined. This value only exists for card payments."
    }
  },
  "description": "The `Charge` object represents a single attempt to move money into your Stripe account.\nPaymentIntent confirmation is the most common way to create Charges, but [Account Debits](https://docs.stripe.com/connect/account-debits) may also create Charges.\nSome legacy payment flows create Charges directly, which is not recommended for new integrations.",
  "x-resourceId": "charge",
  "x-expandableFields": [
    "application",
    "application_fee",
    "balance_transaction",
    "billing_details",
    "customer",
    "failure_balance_transaction",
    "fraud_details",
    "on_behalf_of",
    "outcome",
    "payment_intent",
    "payment_method_details",
    "presentment_details",
    "radar_options",
    "refunds",
    "review",
    "shipping",
    "source_transfer",
    "transfer",
    "transfer_data"
  ]
}
object charge_fraud_details
{
  "type": "object",
  "title": "ChargeFraudDetails",
  "properties": {
    "user_report": {
      "type": "string",
      "maxLength": 5000,
      "description": "Assessments reported by you. If set, possible values of are `safe` and `fraudulent`."
    },
    "stripe_report": {
      "type": "string",
      "maxLength": 5000,
      "description": "Assessments from Stripe. If set, the value is `fraudulent`."
    }
  },
  "description": "",
  "x-expandableFields": []
}
object charge_outcome
{
  "type": "object",
  "title": "ChargeOutcome",
  "required": [
    "type"
  ],
  "properties": {
    "rule": {
      "anyOf": [
        {
          "type": "string",
          "maxLength": 5000
        },
        {
          "$ref": "#/components/schemas/rule"
        }
      ],
      "description": "The ID of the Radar rule that matched the payment, if applicable.",
      "x-expansionResources": {
        "oneOf": [
          {
            "$ref": "#/components/schemas/rule"
          }
        ]
      }
    },
    "type": {
      "type": "string",
      "maxLength": 5000,
      "description": "Possible values are `authorized`, `manual_review`, `issuer_declined`, `blocked`, and `invalid`. See [understanding declines](https://docs.stripe.com/declines) and [Radar reviews](https://docs.stripe.com/radar/reviews) for details."
    },
    "reason": {
      "type": "string",
      "nullable": true,
      "maxLength": 5000,
      "description": "An enumerated value providing a more detailed explanation of the outcome's `type`. Charges blocked by Radar's default block rule have the value `highest_risk_level`. Charges placed in review by Radar's default review rule have the value `elevated_risk_level`. Charges blocked because the payment is unlikely to be authorized have the value `low_probability_of_authorization`. Charges authorized, blocked, or placed in review by custom rules have the value `rule`. See [understanding declines](https://docs.stripe.com/declines) for more details."
    },
    "risk_level": {
      "type": "string",
      "maxLength": 5000,
      "description": "Stripe Radar's evaluation of the riskiness of the payment. Possible values for evaluated payments are `normal`, `elevated`, `highest`. For non-card payments, and card-based payments predating the public assignment of risk levels, this field will have the value `not_assessed`. In the event of an error in the evaluation, this field will have the value `unknown`. This field is only available with Radar."
    },
    "risk_score": {
      "type": "integer",
      "description": "Stripe Radar's evaluation of the riskiness of the payment. Possible values for evaluated payments are between 0 and 100. For non-card payments, card-based payments predating the public assignment of risk scores, or in the event of an error during evaluation, this field will not be present. This field is only available with Radar for Fraud Teams."
    },
    "advice_code": {
      "enum": [
        "confirm_card_data",
        "do_not_try_again",
        "try_again_later"
      ],
      "type": "string",
      "nullable": true,
      "description": "An enumerated value providing a more detailed explanation on [how to proceed with an error](https://docs.stripe.com/declines#retrying-issuer-declines)."
    },
    "network_status": {
      "type": "string",
      "nullable": true,
      "maxLength": 5000,
      "description": "Possible values are `approved_by_network`, `declined_by_network`, `not_sent_to_network`, and `reversed_after_approval`. The value `reversed_after_approval` indicates the payment was [blocked by Stripe](https://docs.stripe.com/declines#blocked-payments) after bank authorization, and may temporarily appear as \"pending\" on a cardholder's statement."
    },
    "seller_message": {
      "type": "string",
      "nullable": true,
      "maxLength": 5000,
      "description": "A human-readable description of the outcome type and reason, designed for you (the recipient of the payment), not your customer."
    },
    "network_advice_code": {
      "type": "string",
      "nullable": true,
      "maxLength": 5000,
      "description": "For charges declined by the network, a 2 digit code which indicates the advice returned by the network on how to proceed with an error."
    },
    "network_decline_code": {
      "type": "string",
      "nullable": true,
      "maxLength": 5000,
      "description": "For charges declined by the network, an alphanumeric code which indicates the reason the charge failed."
    }
  },
  "description": "",
  "x-expandableFields": [
    "rule"
  ]
}
object charge_transfer_data
{
  "type": "object",
  "title": "ChargeTransferData",
  "required": [
    "destination"
  ],
  "properties": {
    "amount": {
      "type": "integer",
      "nullable": true,
      "description": "The amount transferred to the destination account, if specified. By default, the entire charge amount is transferred to the destination account."
    },
    "destination": {
      "anyOf": [
        {
          "type": "string",
          "maxLength": 5000
        },
        {
          "$ref": "#/components/schemas/account"
        }
      ],
      "description": "ID of an existing, connected Stripe account to transfer funds to if `transfer_data` was specified in the charge request.",
      "x-expansionResources": {
        "oneOf": [
          {
            "$ref": "#/components/schemas/account"
          }
        ]
      }
    }
  },
  "description": "",
  "x-expandableFields": [
    "destination"
  ]
}
object checkout.session
{
  "type": "object",
  "title": "Session",
  "required": [
    "automatic_tax",
    "created",
    "custom_fields",
    "custom_text",
    "expires_at",
    "id",
    "livemode",
    "mode",
    "object",
    "payment_method_types",
    "payment_status",
    "shipping_options"
  ],
  "properties": {
    "id": {
      "type": "string",
      "maxLength": 5000,
      "description": "Unique identifier for the object."
    },
    "url": {
      "type": "string",
      "nullable": true,
      "maxLength": 5000,
      "description": "The URL to the Checkout Session. Applies to Checkout Sessions with `ui_mode: hosted`. Redirect customers to this URL to take them to Checkout. If you’re using [Custom Domains](https://docs.stripe.com/payments/checkout/custom-domains), the URL will use your subdomain. Otherwise, it’ll use `checkout.stripe.com.`\nThis value is only present when the session is active."
    },
    "mode": {
      "enum": [
        "payment",
        "setup",
        "subscription"
      ],
      "type": "string",
      "description": "The mode of the Checkout Session.",
      "x-stripeBypassValidation": true
    },
    "locale": {
      "enum": [
        "auto",
        "bg",
        "cs",
        "da",
        "de",
        "el",
        "en",
        "en-GB",
        "es",
        "es-419",
        "et",
        "fi",
        "fil",
        "fr",
        "fr-CA",
        "hr",
        "hu",
        "id",
        "it",
        "ja",
        "ko",
        "lt",
        "lv",
        "ms",
        "mt",
        "nb",
        "nl",
        "pl",
        "pt",
        "pt-BR",
        "ro",
        "ru",
        "sk",
        "sl",
        "sv",
        "th",
        "tr",
        "vi",
        "zh",
        "zh-HK",
        "zh-TW"
      ],
      "type": "string",
      "nullable": true,
      "description": "The IETF language tag of the locale Checkout is displayed in. If blank or `auto`, the browser's locale is used.",
      "x-stripeBypassValidation": true
    },
    "object": {
      "enum": [
        "checkout.session"
      ],
      "type": "string",
      "description": "String representing the object's type. Objects of the same type share the same value."
    },
    "status": {
      "enum": [
        "complete",
        "expired",
        "open"
      ],
      "type": "string",
      "nullable": true,
      "description": "The status of the Checkout Session, one of `open`, `complete`, or `expired`."
    },
    "consent": {
      "anyOf": [
        {
          "$ref": "#/components/schemas/payment_pages_checkout_session_consent"
        }
      ],
      "nullable": true,
      "description": "Results of `consent_collection` for this session."
    },
    "created": {
      "type": "integer",
      "format": "unix-time",
      "description": "Time at which the object was created. Measured in seconds since the Unix epoch."
    },
    "invoice": {
      "anyOf": [
        {
          "type": "string",
          "maxLength": 5000
        },
        {
          "$ref": "#/components/schemas/invoice"
        }
      ],
      "nullable": true,
      "description": "ID of the invoice created by the Checkout Session, if it exists.",
      "x-expansionResources": {
        "oneOf": [
          {
            "$ref": "#/components/schemas/invoice"
          }
        ]
      }
    },
    "ui_mode": {
      "enum": [
        "elements",
        "embedded_page",
        "hosted_page"
      ],
      "type": "string",
      "nullable": true,
      "description": "The UI mode of the Session. Defaults to `hosted_page`.",
      "x-stripeBypassValidation": true
    },
    "currency": {
      "type": "string",
      "format": "currency",
      "nullable": true,
      "description": "Three-letter [ISO currency code](https://www.iso.org/iso-4217-currency-codes.html), in lowercase. Must be a [supported currency](https://stripe.com/docs/currencies)."
    },
    "customer": {
      "anyOf": [
        {
          "type": "string",
          "maxLength": 5000
        },
        {
          "$ref": "#/components/schemas/customer"
        },
        {
          "$ref": "#/components/schemas/deleted_customer"
        }
      ],
      "nullable": true,
      "description": "The ID of the customer for this Session.\nFor Checkout Sessions in `subscription` mode or Checkout Sessions with `customer_creation` set as `always` in `payment` mode, Checkout\nwill create a new customer object based on information provided\nduring the payment flow unless an existing customer was provided when\nthe Session was created.",
      "x-expansionResources": {
        "oneOf": [
          {
            "$ref": "#/components/schemas/customer"
          },
          {
            "$ref": "#/components/schemas/deleted_customer"
          }
        ]
      }
    },
    "livemode": {
      "type": "boolean",
      "description": "If the object exists in live mode, the value is `true`. If the object exists in test mode, the value is `false`."
    },
    "metadata": {
      "type": "object",
      "nullable": true,
      "description": "Set of [key-value pairs](https://docs.stripe.com/api/metadata) that you can attach to an object. This can be useful for storing additional information about the object in a structured format.",
      "additionalProperties": {
        "type": "string",
        "maxLength": 500
      }
    },
    "discounts": {
      "type": "array",
      "items": {
        "$ref": "#/components/schemas/payment_pages_checkout_session_discount"
      },
      "nullable": true,
      "description": "List of coupons and promotion codes attached to the Checkout Session."
    },
    "cancel_url": {
      "type": "string",
      "nullable": true,
      "maxLength": 5000,
      "description": "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."
    },
    "expires_at": {
      "type": "integer",
      "format": "unix-time",
      "description": "The timestamp at which the Checkout Session will expire."
    },
    "line_items": {
      "type": "object",
      "title": "PaymentPagesCheckoutSessionListLineItems",
      "required": [
        "data",
        "has_more",
        "object",
        "url"
      ],
      "properties": {
        "url": {
          "type": "string",
          "maxLength": 5000,
          "description": "The URL where this list can be accessed."
        },
        "data": {
          "type": "array",
          "items": {
            "$ref": "#/components/schemas/item"
          },
          "description": "Details about each object."
        },
        "object": {
          "enum": [
            "list"
          ],
          "type": "string",
          "description": "String representing the object's type. Objects of the same type share the same value. Always has the value `list`."
        },
        "has_more": {
          "type": "boolean",
          "description": "True if this list has another page of items after this one that can be fetched."
        }
      },
      "description": "The line items purchased by the customer.",
      "x-expandableFields": [
        "data"
      ]
    },
    "return_url": {
      "type": "string",
      "maxLength": 5000,
      "description": "Applies to Checkout Sessions with `ui_mode: embedded` or `ui_mode: custom`. The URL to redirect your customer back to after they authenticate or cancel their payment on the payment method's app or site."
    },
    "custom_text": {
      "$ref": "#/components/schemas/payment_pages_checkout_session_custom_text"
    },
    "permissions": {
      "anyOf": [
        {
          "$ref": "#/components/schemas/payment_pages_checkout_session_permissions"
        }
      ],
      "nullable": true,
      "description": "This property is used to set up permissions for various actions (e.g., update) on the CheckoutSession object.\n\nFor specific permissions, please refer to their dedicated subsections, such as `permissions.update_shipping_details`."
    },
    "submit_type": {
      "enum": [
        "auto",
        "book",
        "donate",
        "pay",
        "subscribe"
      ],
      "type": "string",
      "nullable": true,
      "description": "Describes the type of transaction being performed by Checkout in order to customize\nrelevant text on the page, such as the submit button. `submit_type` can only be\nspecified on Checkout Sessions in `payment` mode. If blank or `auto`, `pay` is used."
    },
    "success_url": {
      "type": "string",
      "nullable": true,
      "maxLength": 5000,
      "description": "The URL the customer will be directed to after the payment or\nsubscription creation is successful."
    },
    "amount_total": {
      "type": "integer",
      "nullable": true,
      "description": "Total of all items after discounts and taxes are applied."
    },
    "payment_link": {
      "anyOf": [
        {
          "type": "string",
          "maxLength": 5000
        },
        {
          "$ref": "#/components/schemas/payment_link"
        }
      ],
      "nullable": true,
      "description": "The ID of the Payment Link that created this Session.",
      "x-expansionResources": {
        "oneOf": [
          {
            "$ref": "#/components/schemas/payment_link"
          }
        ]
      }
    },
    "setup_intent": {
      "anyOf": [
        {
          "type": "string",
          "maxLength": 5000
        },
        {
          "$ref": "#/components/schemas/setup_intent"
        }
      ],
      "nullable": true,
      "description": "The ID of the SetupIntent for Checkout Sessions in `setup` mode. You can't confirm or cancel the SetupIntent for a Checkout Session. To cancel, [expire the Checkout Session](https://docs.stripe.com/api/checkout/sessions/expire) instead.",
      "x-expansionResources": {
        "oneOf": [
          {
            "$ref": "#/components/schemas/setup_intent"
          }
        ]
      }
    },
    "subscription": {
      "anyOf": [
        {
          "type": "string",
          "maxLength": 5000
        },
        {
          "$ref": "#/components/schemas/subscription"
        }
      ],
      "nullable": true,
      "description": "The ID of the [Subscription](https://docs.stripe.com/api/subscriptions) for Checkout Sessions in `subscription` mode.",
      "x-expansionResources": {
        "oneOf": [
          {
            "$ref": "#/components/schemas/subscription"
          }
        ]
      }
    },
    "automatic_tax": {
      "$ref": "#/components/schemas/payment_pages_checkout_session_automatic_tax"
    },
    "client_secret": {
      "type": "string",
      "nullable": true,
      "maxLength": 5000,
      "description": "The client secret of your Checkout Session. Applies to Checkout Sessions with `ui_mode: embedded` or `ui_mode: custom`. For `ui_mode: embedded`, the client secret is to be used when initializing Stripe.js embedded checkout.\n For `ui_mode: custom`, use the client secret with [initCheckout](https://docs.stripe.com/js/custom_checkout/init) on your front end."
    },
    "custom_fields": {
      "type": "array",
      "items": {
        "$ref": "#/components/schemas/payment_pages_checkout_session_custom_fields"
      },
      "description": "Collect additional information from your customer using custom fields. Up to 3 fields are supported. You can't set this parameter if `ui_mode` is `custom`."
    },
    "shipping_cost": {
      "anyOf": [
        {
          "$ref": "#/components/schemas/payment_pages_checkout_session_shipping_cost"
        }
      ],
      "nullable": true,
      "description": "The details of the customer cost of shipping, including the customer chosen ShippingRate."
    },
    "total_details": {
      "anyOf": [
        {
          "$ref": "#/components/schemas/payment_pages_checkout_session_total_details"
        }
      ],
      "nullable": true,
      "description": "Tax and discount details for the computed total amount."
    },
    "customer_email": {
      "type": "string",
      "nullable": true,
      "maxLength": 5000,
      "description": "If provided, this value will be used when the Customer object is created.\nIf not provided, customers will be asked to enter their email address.\nUse this parameter to prefill customer data if you already have an email\non file. To access information about the customer once the payment flow is\ncomplete, use the `customer` attribute."
    },
    "optional_items": {
      "type": "array",
      "items": {
        "$ref": "#/components/schemas/payment_pages_checkout_session_optional_item"
      },
      "nullable": true,
      "description": "The optional items presented to the customer at checkout."
    },
    "origin_context": {
      "enum": [
        "mobile_app",
        "web"
      ],
      "type": "string",
      "nullable": true,
      "description": "Where the user is coming from. This informs the optimizations that are applied to the session."
    },
    "payment_intent": {
      "anyOf": [
        {
          "type": "string",
          "maxLength": 5000
        },
        {
          "$ref": "#/components/schemas/payment_intent"
        }
      ],
      "nullable": true,
      "description": "The ID of the PaymentIntent for Checkout Sessions in `payment` mode. You can't confirm or cancel the PaymentIntent for a Checkout Session. To cancel, [expire the Checkout Session](https://docs.stripe.com/api/checkout/sessions/expire) instead.",
      "x-expansionResources": {
        "oneOf": [
          {
            "$ref": "#/components/schemas/payment_intent"
          }
        ]
      }
    },
    "payment_status": {
      "enum": [
        "no_payment_required",
        "paid",
        "unpaid"
      ],
      "type": "string",
      "description": "The payment status of the Checkout Session, one of `paid`, `unpaid`, or `no_payment_required`.\nYou can use this value to decide when to fulfill your customer's order."
    },
    "recovered_from": {
      "type": "string",
      "nullable": true,
      "maxLength": 5000,
      "description": "The ID of the original expired Checkout Session that triggered the recovery flow."
    },
    "wallet_options": {
      "anyOf": [
        {
          "$ref": "#/components/schemas/checkout_session_wallet_options"
        }
      ],
      "nullable": true,
      "description": "Wallet-specific configuration for this Checkout Session."
    },
    "amount_subtotal": {
      "type": "integer",
      "nullable": true,
      "description": "Total of all items before discounts or taxes are applied."
    },
    "name_collection": {
      "$ref": "#/components/schemas/payment_pages_checkout_session_name_collection"
    },
    "adaptive_pricing": {
      "anyOf": [
        {
          "$ref": "#/components/schemas/payment_pages_checkout_session_adaptive_pricing"
        }
      ],
      "nullable": true,
      "description": "Settings for price localization with [Adaptive Pricing](https://docs.stripe.com/payments/checkout/adaptive-pricing)."
    },
    "after_expiration": {
      "anyOf": [
        {
          "$ref": "#/components/schemas/payment_pages_checkout_session_after_expiration"
        }
      ],
      "nullable": true,
      "description": "When set, provides configuration for actions to take if this Checkout Session expires."
    },
    "customer_account": {
      "type": "string",
      "nullable": true,
      "maxLength": 5000,
      "description": "The ID of the account for this Session."
    },
    "customer_details": {
      "anyOf": [
        {
          "$ref": "#/components/schemas/payment_pages_checkout_session_customer_details"
        }
      ],
      "nullable": true,
      "description": "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."
    },
    "invoice_creation": {
      "anyOf": [
        {
          "$ref": "#/components/schemas/payment_pages_checkout_session_invoice_creation"
        }
      ],
      "nullable": true,
      "description": "Details on the state of invoice creation for the Checkout Session."
    },
    "managed_payments": {
      "anyOf": [
        {
          "$ref": "#/components/schemas/payment_pages_checkout_session_managed_payments"
        }
      ],
      "nullable": true,
      "description": "Settings for Managed Payments for this Checkout Session and resulting [PaymentIntents](/api/payment_intents/object), [Invoices](/api/invoices/object), and [Subscriptions](/api/subscriptions/object)."
    },
    "shipping_options": {
      "type": "array",
      "items": {
        "$ref": "#/components/schemas/payment_pages_checkout_session_shipping_option"
      },
      "description": "The shipping rate options applied to this Session."
    },
    "branding_settings": {
      "$ref": "#/components/schemas/payment_pages_checkout_session_branding_settings"
    },
    "customer_creation": {
      "enum": [
        "always",
        "if_required"
      ],
      "type": "string",
      "nullable": true,
      "description": "Configure whether a Checkout Session creates a Customer when the Checkout Session completes."
    },
    "tax_id_collection": {
      "$ref": "#/components/schemas/payment_pages_checkout_session_tax_id_collection"
    },
    "consent_collection": {
      "anyOf": [
        {
          "$ref": "#/components/schemas/payment_pages_checkout_session_consent_collection"
        }
      ],
      "nullable": true,
      "description": "When set, provides configuration for the Checkout Session to gather active consent from customers."
    },
    "client_reference_id": {
      "type": "string",
      "nullable": true,
      "maxLength": 5000,
      "description": "A unique string to reference the Checkout Session. This can be a\ncustomer ID, a cart ID, or similar, and can be used to reconcile the\nSession with your internal systems."
    },
    "currency_conversion": {
      "anyOf": [
        {
          "$ref": "#/components/schemas/payment_pages_checkout_session_currency_conversion"
        }
      ],
      "nullable": true,
      "description": "Currency conversion details for [Adaptive Pricing](https://docs.stripe.com/payments/checkout/adaptive-pricing) sessions created before 2025-03-31."
    },
    "presentment_details": {
      "$ref": "#/components/schemas/payment_flows_payment_intent_presentment_details"
    },
    "payment_method_types": {
      "type": "array",
      "items": {
        "type": "string",
        "maxLength": 5000
      },
      "description": "A list of the types of payment methods (e.g. card) this Checkout\nSession is allowed to accept."
    },
    "allow_promotion_codes": {
      "type": "boolean",
      "nullable": true,
      "description": "Enables user redeemable promotion codes."
    },
    "collected_information": {
      "anyOf": [
        {
          "$ref": "#/components/schemas/payment_pages_checkout_session_collected_information"
        }
      ],
      "nullable": true,
      "description": "Information about the customer collected within the Checkout Session."
    },
    "integration_identifier": {
      "type": "string",
      "nullable": true,
      "maxLength": 5000,
      "description": "The integration identifier for this Checkout Session. Multiple Checkout Sessions can have the same integration identifier."
    },
    "payment_method_options": {
      "anyOf": [
        {
          "$ref": "#/components/schemas/checkout_session_payment_method_options"
        }
      ],
      "nullable": true,
      "description": "Payment-method-specific configuration for the PaymentIntent or SetupIntent of this CheckoutSession."
    },
    "redirect_on_completion": {
      "enum": [
        "always",
        "if_required",
        "never"
      ],
      "type": "string",
      "description": "This parameter applies to `ui_mode: embedded`. Learn more about the [redirect behavior](https://docs.stripe.com/payments/checkout/custom-success-page?payment-ui=embedded-form) of embedded sessions. Defaults to `always`."
    },
    "phone_number_collection": {
      "$ref": "#/components/schemas/payment_pages_checkout_session_phone_number_collection"
    },
    "payment_method_collection": {
      "enum": [
        "always",
        "if_required"
      ],
      "type": "string",
      "nullable": true,
      "description": "Configure whether a Checkout Session should collect a payment method. Defaults to `always`."
    },
    "billing_address_collection": {
      "enum": [
        "auto",
        "required"
      ],
      "type": "string",
      "nullable": true,
      "description": "Describes whether Checkout should collect the customer's billing address. Defaults to `auto`."
    },
    "shipping_address_collection": {
      "anyOf": [
        {
          "$ref": "#/components/schemas/payment_pages_checkout_session_shipping_address_collection"
        }
      ],
      "nullable": true,
      "description": "When set, provides configuration for Checkout to collect a shipping address from a customer."
    },
    "saved_payment_method_options": {
      "anyOf": [
        {
          "$ref": "#/components/schemas/payment_pages_checkout_session_saved_payment_method_options"
        }
      ],
      "nullable": true,
      "description": "Controls saved payment method settings for the session. Only available in `payment` and `subscription` mode."
    },
    "excluded_payment_method_types": {
      "type": "array",
      "items": {
        "type": "string",
        "maxLength": 5000
      },
      "description": "A list of the types of payment methods (e.g., `card`) that should be excluded from this Checkout Session. This should only be used when payment methods for this Checkout Session are managed through the [Stripe Dashboard](https://dashboard.stripe.com/settings/payment_methods)."
    },
    "payment_method_configuration_details": {
      "anyOf": [
        {
          "$ref": "#/components/schemas/payment_method_config_biz_payment_method_configuration_details"
        }
      ],
      "nullable": true,
      "description": "Information about the payment method configuration used for this Checkout session if using dynamic payment methods."
    }
  },
  "description": "A Checkout Session represents your customer's session as they pay for\none-time purchases or subscriptions through [Checkout](https://docs.stripe.com/payments/checkout)\nor [Payment Links](https://docs.stripe.com/payments/payment-links). We recommend creating a\nnew Session each time your customer attempts to pay.\n\nOnce payment is successful, the Checkout Session will contain a reference\nto the [Customer](https://docs.stripe.com/api/customers), and either the successful\n[PaymentIntent](https://docs.stripe.com/api/payment_intents) or an active\n[Subscription](https://docs.stripe.com/api/subscriptions).\n\nYou can create a Checkout Session on your server and redirect to its URL\nto begin Checkout.\n\nRelated guide: [Checkout quickstart](https://docs.stripe.com/checkout/quickstart)",
  "x-resourceId": "checkout.session",
  "x-expandableFields": [
    "adaptive_pricing",
    "after_expiration",
    "automatic_tax",
    "branding_settings",
    "collected_information",
    "consent",
    "consent_collection",
    "currency_conversion",
    "custom_fields",
    "custom_text",
    "customer",
    "customer_details",
    "discounts",
    "invoice",
    "invoice_creation",
    "line_items",
    "managed_payments",
    "name_collection",
    "optional_items",
    "payment_intent",
    "payment_link",
    "payment_method_configuration_details",
    "payment_method_options",
    "permissions",
    "phone_number_collection",
    "presentment_details",
    "saved_payment_method_options",
    "setup_intent",
    "shipping_address_collection",
    "shipping_cost",
    "shipping_options",
    "subscription",
    "tax_id_collection",
    "total_details",
    "wallet_options"
  ]
}
object checkout_acss_debit_mandate_options
{
  "type": "object",
  "title": "CheckoutAcssDebitMandateOptions",
  "properties": {
    "default_for": {
      "type": "array",
      "items": {
        "enum": [
          "invoice",
          "subscription"
        ],
        "type": "string"
      },
      "description": "List of Stripe products where this mandate can be selected automatically. Returned when the Session is in `setup` mode."
    },
    "payment_schedule": {
      "enum": [
        "combined",
        "interval",
        "sporadic"
      ],
      "type": "string",
      "nullable": true,
      "description": "Payment schedule for the mandate."
    },
    "transaction_type": {
      "enum": [
        "business",
        "personal"
      ],
      "type": "string",
      "nullable": true,
      "description": "Transaction type of the mandate."
    },
    "custom_mandate_url": {
      "type": "string",
      "maxLength": 5000,
      "description": "A URL for custom mandate text"
    },
    "interval_description": {
      "type": "string",
      "nullable": true,
      "maxLength": 5000,
      "description": "Description of the interval. Only required if the 'payment_schedule' parameter is 'interval' or 'combined'."
    }
  },
  "description": "",
  "x-expandableFields": []
}
object checkout_acss_debit_payment_method_options
{
  "type": "object",
  "title": "CheckoutAcssDebitPaymentMethodOptions",
  "properties": {
    "currency": {
      "enum": [
        "cad",
        "usd"
      ],
      "type": "string",
      "description": "Currency supported by the bank account. Returned when the Session is in `setup` mode."
    },
    "target_date": {
      "type": "string",
      "maxLength": 5000,
      "description": "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."
    },
    "mandate_options": {
      "$ref": "#/components/schemas/checkout_acss_debit_mandate_options"
    },
    "setup_future_usage": {
      "enum": [
        "none",
        "off_session",
        "on_session"
      ],
      "type": "string",
      "description": "Indicates that you intend to make future payments with this PaymentIntent's payment method.\n\nIf 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.\n\nIf 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.\n\nWhen processing card payments, Stripe uses `setup_future_usage` to help you comply with regional legislation and network rules, such as [SCA](/strong-customer-authentication)."
    },
    "verification_method": {
      "enum": [
        "automatic",
        "instant",
        "microdeposits"
      ],
      "type": "string",
      "description": "Bank account verification method. The default value is `automatic`.",
      "x-stripeBypassValidation": true
    }
  },
  "description": "",
  "x-expandableFields": [
    "mandate_options"
  ]
}
object checkout_affirm_payment_method_options
{
  "type": "object",
  "title": "CheckoutAffirmPaymentMethodOptions",
  "properties": {
    "capture_method": {
      "enum": [
        "manual"
      ],
      "type": "string",
      "description": "Controls when the funds will be captured from the customer's account."
    },
    "setup_future_usage": {
      "enum": [
        "none"
      ],
      "type": "string",
      "description": "Indicates that you intend to make future payments with this PaymentIntent's payment method.\n\nIf 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.\n\nIf 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.\n\nWhen processing card payments, Stripe uses `setup_future_usage` to help you comply with regional legislation and network rules, such as [SCA](/strong-customer-authentication)."
    }
  },
  "description": "",
  "x-expandableFields": []
}
object checkout_afterpay_clearpay_payment_method_options
{
  "type": "object",
  "title": "CheckoutAfterpayClearpayPaymentMethodOptions",
  "properties": {
    "capture_method": {
      "enum": [
        "manual"
      ],
      "type": "string",
      "description": "Controls when the funds will be captured from the customer's account."
    },
    "setup_future_usage": {
      "enum": [
        "none"
      ],
      "type": "string",
      "description": "Indicates that you intend to make future payments with this PaymentIntent's payment method.\n\nIf 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.\n\nIf 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.\n\nWhen processing card payments, Stripe uses `setup_future_usage` to help you comply with regional legislation and network rules, such as [SCA](/strong-customer-authentication)."
    }
  },
  "description": "",
  "x-expandableFields": []
}
object checkout_alipay_payment_method_options
{
  "type": "object",
  "title": "CheckoutAlipayPaymentMethodOptions",
  "properties": {
    "setup_future_usage": {
      "enum": [
        "none"
      ],
      "type": "string",
      "description": "Indicates that you intend to make future payments with this PaymentIntent's payment method.\n\nIf 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.\n\nIf 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.\n\nWhen processing card payments, Stripe uses `setup_future_usage` to help you comply with regional legislation and network rules, such as [SCA](/strong-customer-authentication).",
      "x-stripeBypassValidation": true
    }
  },
  "description": "",
  "x-expandableFields": []
}
object checkout_alma_payment_method_options
{
  "type": "object",
  "title": "CheckoutAlmaPaymentMethodOptions",
  "properties": {
    "capture_method": {
      "enum": [
        "manual"
      ],
      "type": "string",
      "description": "Controls when the funds will be captured from the customer's account."
    }
  },
  "description": "",
  "x-expandableFields": []
}
object checkout_amazon_pay_payment_method_options
{
  "type": "object",
  "title": "CheckoutAmazonPayPaymentMethodOptions",
  "properties": {
    "capture_method": {
      "enum": [
        "manual"
      ],
      "type": "string",
      "description": "Controls when the funds will be captured from the customer's account."
    },
    "setup_future_usage": {
      "enum": [
        "none",
        "off_session"
      ],
      "type": "string",
      "description": "Indicates that you intend to make future payments with this PaymentIntent's payment method.\n\nIf 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.\n\nIf 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.\n\nWhen processing card payments, Stripe uses `setup_future_usage` to help you comply with regional legislation and network rules, such as [SCA](/strong-customer-authentication)."
    }
  },
  "description": "",
  "x-expandableFields": []
}
object checkout_au_becs_debit_payment_method_options
{
  "type": "object",
  "title": "CheckoutAuBecsDebitPaymentMethodOptions",
  "properties": {
    "target_date": {
      "type": "string",
      "maxLength": 5000,
      "description": "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."
    },
    "setup_future_usage": {
      "enum": [
        "none"
      ],
      "type": "string",
      "description": "Indicates that you intend to make future payments with this PaymentIntent's payment method.\n\nIf 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.\n\nIf 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.\n\nWhen processing card payments, Stripe uses `setup_future_usage` to help you comply with regional legislation and network rules, such as [SCA](/strong-customer-authentication)."
    }
  },
  "description": "",
  "x-expandableFields": []
}
object checkout_bacs_debit_payment_method_options
{
  "type": "object",
  "title": "CheckoutBacsDebitPaymentMethodOptions",
  "properties": {
    "target_date": {
      "type": "string",
      "maxLength": 5000,
      "description": "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."
    },
    "mandate_options": {
      "$ref": "#/components/schemas/checkout_payment_method_options_mandate_options_bacs_debit"
    },
    "setup_future_usage": {
      "enum": [
        "none",
        "off_session",
        "on_session"
      ],
      "type": "string",
      "description": "Indicates that you intend to make future payments with this PaymentIntent's payment method.\n\nIf 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.\n\nIf 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.\n\nWhen processing card payments, Stripe uses `setup_future_usage` to help you comply with regional legislation and network rules, such as [SCA](/strong-customer-authentication)."
    }
  },
  "description": "",
  "x-expandableFields": [
    "mandate_options"
  ]
}
object checkout_bancontact_payment_method_options
{
  "type": "object",
  "title": "CheckoutBancontactPaymentMethodOptions",
  "properties": {
    "setup_future_usage": {
      "enum": [
        "none"
      ],
      "type": "string",
      "description": "Indicates that you intend to make future payments with this PaymentIntent's payment method.\n\nIf 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.\n\nIf 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.\n\nWhen processing card payments, Stripe uses `setup_future_usage` to help you comply with regional legislation and network rules, such as [SCA](/strong-customer-authentication)."
    }
  },
  "description": "",
  "x-expandableFields": []
}
object checkout_billie_payment_method_options
{
  "type": "object",
  "title": "CheckoutBilliePaymentMethodOptions",
  "properties": {
    "capture_method": {
      "enum": [
        "manual"
      ],
      "type": "string",
      "description": "Controls when the funds will be captured from the customer's account."
    }
  },
  "description": "",
  "x-expandableFields": []
}
object checkout_boleto_payment_method_options
{
  "type": "object",
  "title": "CheckoutBoletoPaymentMethodOptions",
  "required": [
    "expires_after_days"
  ],
  "properties": {
    "expires_after_days": {
      "type": "integer",
      "description": "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."
    },
    "setup_future_usage": {
      "enum": [
        "none",
        "off_session",
        "on_session"
      ],
      "type": "string",
      "description": "Indicates that you intend to make future payments with this PaymentIntent's payment method.\n\nIf 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.\n\nIf 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.\n\nWhen processing card payments, Stripe uses `setup_future_usage` to help you comply with regional legislation and network rules, such as [SCA](/strong-customer-authentication)."
    }
  },
  "description": "",
  "x-expandableFields": []
}
object checkout_card_installments_options
{
  "type": "object",
  "title": "CheckoutCardInstallmentsOptions",
  "properties": {
    "enabled": {
      "type": "boolean",
      "description": "Indicates if installments are enabled"
    }
  },
  "description": "",
  "x-expandableFields": []
}
object checkout_card_payment_method_options
{
  "type": "object",
  "title": "CheckoutCardPaymentMethodOptions",
  "required": [
    "request_three_d_secure"
  ],
  "properties": {
    "installments": {
      "$ref": "#/components/schemas/checkout_card_installments_options"
    },
    "restrictions": {
      "$ref": "#/components/schemas/payment_pages_private_card_payment_method_options_resource_restrictions"
    },
    "capture_method": {
      "enum": [
        "manual"
      ],
      "type": "string",
      "description": "Controls when the funds will be captured from the customer's account."
    },
    "setup_future_usage": {
      "enum": [
        "none",
        "off_session",
        "on_session"
      ],
      "type": "string",
      "description": "Indicates that you intend to make future payments with this PaymentIntent's payment method.\n\nIf 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.\n\nIf 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.\n\nWhen processing card payments, Stripe uses `setup_future_usage` to help you comply with regional legislation and network rules, such as [SCA](/strong-customer-authentication)."
    },
    "request_overcapture": {
      "enum": [
        "if_available",
        "never"
      ],
      "type": "string",
      "description": "Request ability to [overcapture](/payments/overcapture) for this CheckoutSession."
    },
    "request_multicapture": {
      "enum": [
        "if_available",
        "never"
      ],
      "type": "string",
      "description": "Request ability to make [multiple captures](/payments/multicapture) for this CheckoutSession."
    },
    "request_three_d_secure": {
      "enum": [
        "any",
        "automatic",
        "challenge"
      ],
      "type": "string",
      "description": "We strongly recommend that you rely on our SCA Engine to automatically prompt your customers for authentication based on risk level and [other requirements](https://docs.stripe.com/strong-customer-authentication). However, if you wish to request 3D Secure based on logic from your own fraud engine, provide this option. If not provided, this value defaults to `automatic`. Read our guide on [manually requesting 3D Secure](https://docs.stripe.com/payments/3d-secure/authentication-flow#manual-three-ds) for more information on how this configuration interacts with Radar and our SCA Engine.",
      "x-stripeBypassValidation": true
    },
    "request_extended_authorization": {
      "enum": [
        "if_available",
        "never"
      ],
      "type": "string",
      "description": "Request ability to [capture beyond the standard authorization validity window](/payments/extended-authorization) for this CheckoutSession."
    },
    "statement_descriptor_suffix_kana": {
      "type": "string",
      "maxLength": 5000,
      "description": "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."
    },
    "request_incremental_authorization": {
      "enum": [
        "if_available",
        "never"
      ],
      "type": "string",
      "description": "Request ability to [increment the authorization](/payments/incremental-authorization) for this CheckoutSession."
    },
    "statement_descriptor_suffix_kanji": {
      "type": "string",
      "maxLength": 5000,
      "description": "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."
    }
  },
  "description": "",
  "x-expandableFields": [
    "installments",
    "restrictions"
  ]
}
object checkout_cashapp_payment_method_options
{
  "type": "object",
  "title": "CheckoutCashappPaymentMethodOptions",
  "properties": {
    "capture_method": {
      "enum": [
        "manual"
      ],
      "type": "string",
      "description": "Controls when the funds will be captured from the customer's account."
    },
    "setup_future_usage": {
      "enum": [
        "none"
      ],
      "type": "string",
      "description": "Indicates that you intend to make future payments with this PaymentIntent's payment method.\n\nIf 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.\n\nIf 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.\n\nWhen processing card payments, Stripe uses `setup_future_usage` to help you comply with regional legislation and network rules, such as [SCA](/strong-customer-authentication)."
    }
  },
  "description": "",
  "x-expandableFields": []
}
object checkout_customer_balance_bank_transfer_payment_method_options
{
  "type": "object",
  "title": "CheckoutCustomerBalanceBankTransferPaymentMethodOptions",
  "properties": {
    "type": {
      "enum": [
        "eu_bank_transfer",
        "gb_bank_transfer",
        "jp_bank_transfer",
        "mx_bank_transfer",
        "us_bank_transfer"
      ],
      "type": "string",
      "nullable": true,
      "description": "The bank transfer type that this PaymentIntent is allowed to use for funding Permitted values include: `eu_bank_transfer`, `gb_bank_transfer`, `jp_bank_transfer`, `mx_bank_transfer`, or `us_bank_transfer`.",
      "x-stripeBypassValidation": true
    },
    "eu_bank_transfer": {
      "$ref": "#/components/schemas/payment_method_options_customer_balance_eu_bank_account"
    },
    "requested_address_types": {
      "type": "array",
      "items": {
        "enum": [
          "aba",
          "iban",
          "sepa",
          "sort_code",
          "spei",
          "swift",
          "zengin"
        ],
        "type": "string",
        "x-stripeBypassValidation": true
      },
      "description": "List of address types that should be returned in the financial_addresses response. If not specified, all valid types will be returned.\n\nPermitted values include: `sort_code`, `zengin`, `iban`, or `spei`."
    }
  },
  "description": "",
  "x-expandableFields": [
    "eu_bank_transfer"
  ]
}
object checkout_customer_balance_payment_method_options
{
  "type": "object",
  "title": "CheckoutCustomerBalancePaymentMethodOptions",
  "properties": {
    "funding_type": {
      "enum": [
        "bank_transfer"
      ],
      "type": "string",
      "nullable": true,
      "description": "The funding method type to be used when there are not enough funds in the customer balance. Permitted values include: `bank_transfer`."
    },
    "bank_transfer": {
      "$ref": "#/components/schemas/checkout_customer_balance_bank_transfer_payment_method_options"
    },
    "setup_future_usage": {
      "enum": [
        "none"
      ],
      "type": "string",
      "description": "Indicates that you intend to make future payments with this PaymentIntent's payment method.\n\nIf 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.\n\nIf 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.\n\nWhen processing card payments, Stripe uses `setup_future_usage` to help you comply with regional legislation and network rules, such as [SCA](/strong-customer-authentication)."
    }
  },
  "description": "",
  "x-expandableFields": [
    "bank_transfer"
  ]
}
object checkout_eps_payment_method_options
{
  "type": "object",
  "title": "CheckoutEpsPaymentMethodOptions",
  "properties": {
    "setup_future_usage": {
      "enum": [
        "none"
      ],
      "type": "string",
      "description": "Indicates that you intend to make future payments with this PaymentIntent's payment method.\n\nIf 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.\n\nIf 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.\n\nWhen processing card payments, Stripe uses `setup_future_usage` to help you comply with regional legislation and network rules, such as [SCA](/strong-customer-authentication)."
    }
  },
  "description": "",
  "x-expandableFields": []
}
object checkout_fpx_payment_method_options
{
  "type": "object",
  "title": "CheckoutFpxPaymentMethodOptions",
  "properties": {
    "setup_future_usage": {
      "enum": [
        "none"
      ],
      "type": "string",
      "description": "Indicates that you intend to make future payments with this PaymentIntent's payment method.\n\nIf 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.\n\nIf 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.\n\nWhen processing card payments, Stripe uses `setup_future_usage` to help you comply with regional legislation and network rules, such as [SCA](/strong-customer-authentication)."
    }
  },
  "description": "",
  "x-expandableFields": []
}
object checkout_giropay_payment_method_options
{
  "type": "object",
  "title": "CheckoutGiropayPaymentMethodOptions",
  "properties": {
    "setup_future_usage": {
      "enum": [
        "none"
      ],
      "type": "string",
      "description": "Indicates that you intend to make future payments with this PaymentIntent's payment method.\n\nIf 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.\n\nIf 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.\n\nWhen processing card payments, Stripe uses `setup_future_usage` to help you comply with regional legislation and network rules, such as [SCA](/strong-customer-authentication)."
    }
  },
  "description": "",
  "x-expandableFields": []
}
object checkout_grab_pay_payment_method_options
{
  "type": "object",
  "title": "CheckoutGrabPayPaymentMethodOptions",
  "properties": {
    "setup_future_usage": {
      "enum": [
        "none"
      ],
      "type": "string",
      "description": "Indicates that you intend to make future payments with this PaymentIntent's payment method.\n\nIf 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.\n\nIf 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.\n\nWhen processing card payments, Stripe uses `setup_future_usage` to help you comply with regional legislation and network rules, such as [SCA](/strong-customer-authentication)."
    }
  },
  "description": "",
  "x-expandableFields": []
}
object checkout_ideal_payment_method_options
{
  "type": "object",
  "title": "CheckoutIdealPaymentMethodOptions",
  "properties": {
    "setup_future_usage": {
      "enum": [
        "none"
      ],
      "type": "string",
      "description": "Indicates that you intend to make future payments with this PaymentIntent's payment method.\n\nIf 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.\n\nIf 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.\n\nWhen processing card payments, Stripe uses `setup_future_usage` to help you comply with regional legislation and network rules, such as [SCA](/strong-customer-authentication)."
    }
  },
  "description": "",
  "x-expandableFields": []
}
object checkout_kakao_pay_payment_method_options
{
  "type": "object",
  "title": "CheckoutKakaoPayPaymentMethodOptions",
  "properties": {
    "capture_method": {
      "enum": [
        "manual"
      ],
      "type": "string",
      "description": "Controls when the funds will be captured from the customer's account."
    },
    "setup_future_usage": {
      "enum": [
        "none",
        "off_session"
      ],
      "type": "string",
      "description": "Indicates that you intend to make future payments with this PaymentIntent's payment method.\n\nIf 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.\n\nIf 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.\n\nWhen processing card payments, Stripe uses `setup_future_usage` to help you comply with regional legislation and network rules, such as [SCA](/strong-customer-authentication)."
    }
  },
  "description": "",
  "x-expandableFields": []
}
object checkout_klarna_payment_method_options
{
  "type": "object",
  "title": "CheckoutKlarnaPaymentMethodOptions",
  "properties": {
    "capture_method": {
      "enum": [
        "manual"
      ],
      "type": "string",
      "description": "Controls when the funds will be captured from the customer's account."
    },
    "setup_future_usage": {
      "enum": [
        "none",
        "off_session",
        "on_session"
      ],
      "type": "string",
      "description": "Indicates that you intend to make future payments with this PaymentIntent's payment method.\n\nIf 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.\n\nIf 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.\n\nWhen processing card payments, Stripe uses `setup_future_usage` to help you comply with regional legislation and network rules, such as [SCA](/strong-customer-authentication)."
    }
  },
  "description": "",
  "x-expandableFields": []
}
object checkout_konbini_payment_method_options
{
  "type": "object",
  "title": "CheckoutKonbiniPaymentMethodOptions",
  "properties": {
    "expires_after_days": {
      "type": "integer",
      "nullable": true,
      "description": "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."
    },
    "setup_future_usage": {
      "enum": [
        "none"
      ],
      "type": "string",
      "description": "Indicates that you intend to make future payments with this PaymentIntent's payment method.\n\nIf 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.\n\nIf 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.\n\nWhen processing card payments, Stripe uses `setup_future_usage` to help you comply with regional legislation and network rules, such as [SCA](/strong-customer-authentication)."
    }
  },
  "description": "",
  "x-expandableFields": []
}
object checkout_kr_card_payment_method_options
{
  "type": "object",
  "title": "CheckoutKrCardPaymentMethodOptions",
  "properties": {
    "capture_method": {
      "enum": [
        "manual"
      ],
      "type": "string",
      "description": "Controls when the funds will be captured from the customer's account."
    },
    "setup_future_usage": {
      "enum": [
        "none",
        "off_session"
      ],
      "type": "string",
      "description": "Indicates that you intend to make future payments with this PaymentIntent's payment method.\n\nIf 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.\n\nIf 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.\n\nWhen processing card payments, Stripe uses `setup_future_usage` to help you comply with regional legislation and network rules, such as [SCA](/strong-customer-authentication)."
    }
  },
  "description": "",
  "x-expandableFields": []
}
object checkout_link_payment_method_options
{
  "type": "object",
  "title": "CheckoutLinkPaymentMethodOptions",
  "properties": {
    "capture_method": {
      "enum": [
        "manual"
      ],
      "type": "string",
      "description": "Controls when the funds will be captured from the customer's account."
    },
    "setup_future_usage": {
      "enum": [
        "none",
        "off_session"
      ],
      "type": "string",
      "description": "Indicates that you intend to make future payments with this PaymentIntent's payment method.\n\nIf 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.\n\nIf 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.\n\nWhen processing card payments, Stripe uses `setup_future_usage` to help you comply with regional legislation and network rules, such as [SCA](/strong-customer-authentication)."
    }
  },
  "description": "",
  "x-expandableFields": []
}
object checkout_link_wallet_options
{
  "type": "object",
  "title": "CheckoutLinkWalletOptions",
  "properties": {
    "display": {
      "enum": [
        "auto",
        "never"
      ],
      "type": "string",
      "description": "Describes whether Checkout should display Link. Defaults to `auto`."
    }
  },
  "description": "",
  "x-expandableFields": []
}
object checkout_mobilepay_payment_method_options
{
  "type": "object",
  "title": "CheckoutMobilepayPaymentMethodOptions",
  "properties": {
    "capture_method": {
      "enum": [
        "manual"
      ],
      "type": "string",
      "description": "Controls when the funds will be captured from the customer's account."
    },
    "setup_future_usage": {
      "enum": [
        "none"
      ],
      "type": "string",
      "description": "Indicates that you intend to make future payments with this PaymentIntent's payment method.\n\nIf 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.\n\nIf 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.\n\nWhen processing card payments, Stripe uses `setup_future_usage` to help you comply with regional legislation and network rules, such as [SCA](/strong-customer-authentication)."
    }
  },
  "description": "",
  "x-expandableFields": []
}
object checkout_multibanco_payment_method_options
{
  "type": "object",
  "title": "CheckoutMultibancoPaymentMethodOptions",
  "properties": {
    "setup_future_usage": {
      "enum": [
        "none"
      ],
      "type": "string",
      "description": "Indicates that you intend to make future payments with this PaymentIntent's payment method.\n\nIf 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.\n\nIf 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.\n\nWhen processing card payments, Stripe uses `setup_future_usage` to help you comply with regional legislation and network rules, such as [SCA](/strong-customer-authentication)."
    }
  },
  "description": "",
  "x-expandableFields": []
}
object checkout_naver_pay_payment_method_options
{
  "type": "object",
  "title": "CheckoutNaverPayPaymentMethodOptions",
  "properties": {
    "capture_method": {
      "enum": [
        "manual"
      ],
      "type": "string",
      "description": "Controls when the funds will be captured from the customer's account."
    },
    "setup_future_usage": {
      "enum": [
        "none",
        "off_session"
      ],
      "type": "string",
      "description": "Indicates that you intend to make future payments with this PaymentIntent's payment method.\n\nIf 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.\n\nIf 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.\n\nWhen processing card payments, Stripe uses `setup_future_usage` to help you comply with regional legislation and network rules, such as [SCA](/strong-customer-authentication)."
    }
  },
  "description": "",
  "x-expandableFields": []
}
object checkout_oxxo_payment_method_options
{
  "type": "object",
  "title": "CheckoutOxxoPaymentMethodOptions",
  "required": [
    "expires_after_days"
  ],
  "properties": {
    "expires_after_days": {
      "type": "integer",
      "description": "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."
    },
    "setup_future_usage": {
      "enum": [
        "none"
      ],
      "type": "string",
      "description": "Indicates that you intend to make future payments with this PaymentIntent's payment method.\n\nIf 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.\n\nIf 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.\n\nWhen processing card payments, Stripe uses `setup_future_usage` to help you comply with regional legislation and network rules, such as [SCA](/strong-customer-authentication)."
    }
  },
  "description": "",
  "x-expandableFields": []
}
Load more schemas