---
title: "Submit a 3DS Authentication"
method: POST
path: "/v1/three_d_secure/authentications/{authentication}/submit"
---

# Submit a 3DS Authentication

`POST /v1/three_d_secure/authentications/{authentication}/submit`

This endpoint submits a 3DS Authentication. You can submit a 3DS Authentication object when it has status `requires_submission`. Refer to the [Submit the 3DS Authentication object section of the Standalone 3DS guide](/payments/3d-secure/standalone-3d-secure#submit-the-3ds-authentication-object) for more information.

## Path parameters

- `authentication` string, required

## Response `200`

Successful response.

- ThreeDSecureAuthentication — The Standalone 3DS API allows you to run EMV 3D Secure (3DS) authentication using Stripe while authorizing the payment with any PSP. Related guide: [Standalone 3DS](/payments/3d-secure/standalone-3d-secure)
  - `acquirer_details` ThreeDSecureStandaloneResourceAcquirerDetails — Contains additional details about the acquirer for a 3DS Authentication.
    - `acquirer_bin` string — The Acquirer BIN (specific to the directory_server).
    - `acquirer_country` string — The two-letter country code of the acquirer ([ISO 3166-1 alpha-2](https://en.wikipedia.org/wiki/ISO_3166-1_alpha-2)).
    - `acquirer_merchant_id` string — The Merchant ID (or Card Acceptor ID) that your acquirer assigned you (specific to the directory_server).
    - `mcc` string — The [merchant category code](https://en.wikipedia.org/wiki/Merchant_category_code) as defined by each payment system or directory server.
    - `merchant_name` string — The merchant name assigned by the acquirer or payment system. Same name used in the authorization message as defined in [ISO 8583](https://en.wikipedia.org/wiki/ISO_8583).
    - `requestor_id` string — Requestor ID if you’re enrolled in the card network’s 3DS program. Otherwise, you can omit this field because Stripe assigns a Requestor ID with the card networks.
  - `amount` integer — The amount for this 3DS Authentication.
  - `challenge_url` string — The URL for presenting a challenge to your cardholder, present if status is requires_challenge.
  - `channel` ThreeDSecureStandaloneResourceChannel, required — Contains details on the channel used (browser, 3RI) for a standalone 3DS Authentication.
    - `browser` ThreeDSecureStandaloneResourceBrowserDetails — Contains details on the browser for a standalone 3DS Authentication.
      - `accept_header` string, required — The HTTP accept headers from the cardholder's browser.
      - `color_depth` integer — The color depth of the cardholder’s screen.
      - `ip_address` string, required — The IP address of the browser.
      - `java_enabled` boolean — The cardholder browser’s ability to execute Java.
      - `javascript_enabled` boolean, required — The cardholder browser’s ability to execute JavaScript.
      - `language` string, required — An IETF BCP 47 language tag representing the browser language.
      - `screen_height` integer — The total height of the cardholder’s screen in pixels.
      - `screen_width` integer — The total width of the cardholder’s screen in pixels.
      - `timezone_offset` integer — The time difference between UTC time and the local time of the cardholder’s browser, in minutes.
      - `user_agent` string, required — The browser user agent.
    - `three_r_i` ThreeDSecureStandaloneResourceThreeRiDetails — Contains details for a 3RI standalone 3DS Authentication.
      - `previous_authentication` string, required — ID of the previous initial authenticated 3DS Authentication object.
      - `type` 'delayed_shipment' | 'other_payment' | 'recurring' | 'split_shipment', required — Type of the 3RI Authentication.
    - `type` 'browser' | 'three_r_i', required — Type of channel you would prefer to use for this 3DS Authentication. Only browser.
  - `created` integer, required — Time at which the object was created. Measured in seconds since the Unix epoch.
  - `currency` string, currency — 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).
  - `directory_server` 'american_express' | 'cartes_bancaires' | 'discover' | 'mastercard' | 'visa', required — The 3DS directory server with which this 3DS Authentication was processed.
  - `fingerprinting_url` string — The URL for performing issuer fingerprinting, present if fingerprinting is supported for the given payment method.
  - `flow_preference` ThreeDSecureStandaloneResourceFlowPreference — Contains details of the flow preference used for a standalone 3DS Authentication.
    - `challenge` ThreeDSecureStandaloneResourceChallengeDetails
      - `type` 'mandated' | 'preferred', required — Type of challenge flow you requested for this 3DS Authentication.
    - `data_share` ThreeDSecureStandaloneResourceDataShareDetails
      - `type` 'ds_specific' | 'emv_standard', required — Type of data share flow you requested for this 3DS Authentication.
    - `frictionless` ThreeDSecureStandaloneResourceFrictionlessDetails
      - `type` 'low_risk' | 'none', required — Type of frictionless flow you requested for this 3DS Authentication.
    - `type` 'challenge' | 'data_share' | 'frictionless', required — Type of flow you requested for this 3DS Authentication.
  - `future_usage` ThreeDSecureStandaloneResourceFutureUsage — Contains information about the future authorisations related to this authentication
    - `installment` ThreeDSecureStandaloneResourceInstallment — Details about installment payments
      - `amount` integer — A non-negative integer representing the amount in the [smallest currency unit](/currencies#zero-decimal).
      - `expiry` ThreeDSecureStandaloneResourceExpiry, required — Information about recurring payment expiry
        - `date` string
        - `type` 'date' | 'never', required
      - `interval` 'day', required — The unit of time for `interval_count`.
      - `interval_count` integer, required — The minimum number of time intervals between authorizations.
      - `number` integer, required — The maximum number of installments.
    - `recurring` ThreeDSecureStandaloneResourceRecurring — Details about recurring payments
      - `amount` integer — A non-negative integer representing the amount in the [smallest currency unit](/currencies#zero-decimal).
      - `expiry` ThreeDSecureStandaloneResourceExpiry, required — Information about recurring payment expiry
        - `date` string
        - `type` 'date' | 'never', required
      - `interval` 'day', required — The unit of time for `interval_count`.
      - `interval_count` integer, required — The minimum number of time intervals between authorizations.
    - `type` 'card_on_file' | 'installment' | 'recurring', required — The type of future usage declared for this 3DS Authentication.
  - `id` string, required — Unique identifier for the object.
  - `livemode` boolean, required — If the object exists in live mode, the value is `true`. If the object exists in test mode, the value is `false`.
  - `message_category` 'non_payment_authentication' | 'payment_authentication', required — Indicates whether this 3DS Authentication is being performed for a payment or non-payment use case.
  - `metadata` object, nullable — 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.
  - `object` 'three_d_secure.authentication', required — String representing the object's type. Objects of the same type share the same value.
  - `outcome` 'abandoned' | 'attempt_acknowledged' | 'authenticated' | 'canceled' | 'denied' | 'informational' | 'internal_error' | 'not_supported' | 'not_triggered' | 'processing_error' | 'rejected' — The outcome of this 3DS Authentication.
  - `outcome_details` ThreeDSecureStandaloneResourceOutcomeDetails — Contains details on the result for a standalone 3DS Authentication.
    - `acs_transaction_id` string — Universally unique transaction identifier assigned by the issuer to identify the transaction.
    - `ares` string — The Authentication Response Message (ARes) is the issuer's response to the AReq message.
    - `ares_trans_status` 'A' | 'C' | 'D' | 'I' | 'N' | 'R' | 'S' | 'U' | 'Y' — TransStatus field on the ARes
    - `cryptogram` string — A 28-character Base64 string proving that 3DS was completed. Store this value securely, and don’t reuse it for multiple authorizations.
    - `ds_transaction_id` string — The 3DS2 Directory Server Transaction ID.
    - `eci` string — Electronic Commerce Indicator provided by the issuer to indicate the result of this 3DS Authentication.
    - `network_details` ThreeDSecureStandaloneResourceNetworkDetails — Contains details specific to the individual network.
      - `cartes_bancaires` ThreeDSecureStandaloneResourceCartesBancaires — Contains details for Cartes Bancaires specific fields in the authentication outcomes.
        - `avalgo` string, required — The cryptogram calculation algorithm used by the card Issuer's ACS to calculate the Authentication cryptogram. Also known as cavvAlgorithm. ARes/RReq messageExtension: `CB-AVALGO`
        - `cb_exemption` string, nullable — The exemption indicator returned from Cartes Bancaires in the ARes. This is a 3 byte bitmap (lowest significant byte first and most significant bit first) that has been Base64 encoded. String (4 characters). ARes message extension: `CB-EXEMPTION`
        - `cb_score` string, nullable — The risk score returned from Cartes Bancaires in the ARes. Numeric value 0-99. ARes/RReq message extension: `CB-SCORE`
    - `protocol_version` '2.1.0' | '2.2.0' | '2.3.1', required — The 3DS protocol version used for this 3DS Authentication.
    - `requestor_challenge_indicator` '01' | '02' | '03' | '04' | '05' | '06' — The indicator provided to the issuer by Stripe in the AReq that indicates whether a challenge is requested for this Authentication. This indicator should match the flow_preference you specified but may be overridden (for compliance reasons for example).
    - `rreq` string — The Results Request Message (RReq) communicates the results of the authentication or verification.
    - `rreq_trans_status` 'A' | 'C' | 'D' | 'I' | 'N' | 'R' | 'S' | 'U' | 'Y' — TransStatus field on the RReq
    - `three_ds_server_transaction_id` string, required — Universally unique transaction identifier assigned by Stripe to identify the transaction.
  - `payment_method` union, required — ID of the payment method (a PaymentMethod object) to attach to this 3DS Authentication.
    - string
    - PaymentMethod — PaymentMethod objects represent your customer's payment instruments. You can use them with [PaymentIntents](https://docs.stripe.com/payments/payment-intents) to collect payments or save them to Customer objects to store instrument details for future payments. Related guides: [Payment Methods](https://docs.stripe.com/payments/payment-methods) and [More Payment Scenarios](https://docs.stripe.com/payments/more-payment-scenarios).
      - `acss_debit` PaymentMethodAcssDebit
        - `bank_name` string, nullable — Name of the bank associated with the bank account.
        - `fingerprint` string, nullable — Uniquely identifies this particular bank account. You can use this attribute to check whether two bank accounts are the same.
        - `institution_number` string, nullable — Institution number of the bank account.
        - `last4` string, nullable — Last four digits of the bank account number.
        - `transit_number` string, nullable — Transit number of the bank account.
      - `affirm` PaymentMethodAffirm
      - `afterpay_clearpay` PaymentMethodAfterpayClearpay
      - `alipay` PaymentFlowsPrivatePaymentMethodsAlipay
      - `allow_redisplay` 'always' | 'limited' | 'unspecified' — 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”.
      - `alma` PaymentMethodAlma
      - `amazon_pay` PaymentMethodAmazonPay
      - `au_becs_debit` PaymentMethodAuBecsDebit
        - `bsb_number` string, nullable — Six-digit number identifying bank and branch associated with this bank account.
        - `fingerprint` string, nullable — Uniquely identifies this particular bank account. You can use this attribute to check whether two bank accounts are the same.
        - `last4` string, nullable — Last four digits of the bank account number.
      - `bacs_debit` PaymentMethodBacsDebit
        - `fingerprint` string, nullable — Uniquely identifies this particular bank account. You can use this attribute to check whether two bank accounts are the same.
        - `last4` string, nullable — Last four digits of the bank account number.
        - `sort_code` string, nullable — Sort code of the bank account. (e.g., `10-20-30`)
      - `bancontact` PaymentMethodBancontact
      - `billie` PaymentMethodBillie
      - `billing_details` BillingDetails, required
        - `address` Address
          - `city` string, nullable — City, district, suburb, town, or village.
          - `country` string, nullable — Two-letter country code ([ISO 3166-1 alpha-2](https://en.wikipedia.org/wiki/ISO_3166-1_alpha-2)).
          - `line1` string, nullable — Address line 1, such as the street, PO Box, or company name.
          - `line2` string, nullable — Address line 2, such as the apartment, suite, unit, or building.
          - `postal_code` string, nullable — ZIP or postal code.
          - `state` string, nullable — State, county, province, or region ([ISO 3166-2](https://en.wikipedia.org/wiki/ISO_3166-2)).
        - `email` string, nullable — Email address.
        - `name` string, nullable — Full name.
        - `phone` string, nullable — Billing phone number (including extension).
        - `tax_id` string, nullable — Taxpayer identification number. Used only for transactions between LATAM buyers and non-LATAM sellers.
      - `bizum` PaymentMethodBizum
        - `buyer_id` string, nullable — A unique identifier for the buyer as determined by the local payment processor.
      - `blik` PaymentMethodBlik
        - `buyer_id` string, nullable — A unique and immutable identifier assigned by BLIK to every buyer.
      - `boleto` PaymentMethodBoleto
        - `tax_id` string, required — Uniquely identifies the customer tax id (CNPJ or CPF)
      - `card` PaymentMethodCard
        - `brand` string, required — Card brand. Can be `amex`, `cartes_bancaires`, `diners`, `discover`, `eftpos_au`, `jcb`, `link`, `mastercard`, `unionpay`, `visa` or `unknown`.
        - `checks` PaymentMethodCardChecks
          - `address_line1_check` string, nullable — If a address line1 was provided, results of the check, one of `pass`, `fail`, `unavailable`, or `unchecked`.
          - `address_postal_code_check` string, nullable — If a address postal code was provided, results of the check, one of `pass`, `fail`, `unavailable`, or `unchecked`.
          - `cvc_check` string, nullable — If a CVC was provided, results of the check, one of `pass`, `fail`, `unavailable`, or `unchecked`.
        - `country` string, nullable — 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.
        - `display_brand` string, nullable — The brand to use when displaying the card, this accounts for customer's brand choice on dual-branded cards. Can be `american_express`, `cartes_bancaires`, `diners_club`, `discover`, `eftpos_australia`, `interac`, `jcb`, `mastercard`, `union_pay`, `visa`, or `other` and may contain more values in the future.
        - `exp_month` integer, required — Two-digit number representing the card's expiration month.
        - `exp_year` integer, required — Four-digit number representing the card's expiration year.
        - `fingerprint` string, nullable — 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. *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.*
        - `funding` string, required — Card funding type. Can be `credit`, `debit`, `prepaid`, or `unknown`.
        - `generated_from` PaymentMethodCardGeneratedCard
          - `charge` string, nullable — The charge that created this object.
          - `payment_method_details` CardGeneratedFromPaymentMethodDetails
            - `card_present` PaymentMethodDetailsCardPresent
              - …
            - `type` string, required — The type of payment method transaction-specific details from the transaction that generated this `card` payment method. Always `card_present`.
          - `setup_attempt` union — The ID of the SetupAttempt that generated this PaymentMethod, if any.
            - string
            - SetupAttempt — A SetupAttempt describes one attempted confirmation of a SetupIntent, whether that confirmation is successful or unsuccessful. You can use SetupAttempts to inspect details of a specific attempt at setting up a payment method using a SetupIntent.
              - …
        - `last4` string, required — The last four digits of the card.
        - `networks` Networks
          - `available` string[], required — All networks available for selection via [payment_method_options.card.network](/api/payment_intents/confirm#confirm_payment_intent-payment_method_options-card-network).
          - `preferred` string, nullable — The preferred network for co-branded cards. Can be `cartes_bancaires`, `mastercard`, `visa` or `invalid_preference` if requested network is not valid for the card.
        - `regulated_status` 'regulated' | 'unregulated', nullable — Status of a card based on the card issuer.
        - `three_d_secure_usage` ThreeDSecureUsage
          - `supported` boolean, required — Whether 3D Secure is supported on this card.
        - `wallet` PaymentMethodCardWallet
          - `amex_express_checkout` PaymentMethodCardWalletAmexExpressCheckout
          - `apple_pay` PaymentMethodCardWalletApplePay
          - `dynamic_last4` string, nullable — (For tokenized numbers only.) The last four digits of the device account number.
          - `google_pay` PaymentMethodCardWalletGooglePay
          - `link` PaymentMethodCardWalletLink
          - `masterpass` PaymentMethodCardWalletMasterpass
            - `billing_address` Address
              - …
            - `email` string, nullable — Owner's verified email. Values are verified or provided by the wallet directly (if supported) at the time of authorization or settlement. They cannot be set or mutated.
            - `name` string, nullable — Owner's verified full name. Values are verified or provided by the wallet directly (if supported) at the time of authorization or settlement. They cannot be set or mutated.
            - `shipping_address` Address
              - …
          - `samsung_pay` PaymentMethodCardWalletSamsungPay
          - `type` 'amex_express_checkout' | 'apple_pay' | 'google_pay' | 'link' | 'masterpass' | 'samsung_pay' | 'visa_checkout', required — The type of the card wallet, one of `amex_express_checkout`, `apple_pay`, `google_pay`, `masterpass`, `samsung_pay`, `visa_checkout`, or `link`. An additional hash is included on the Wallet subhash with a name matching this value. It contains additional information specific to the card wallet type.
          - `visa_checkout` PaymentMethodCardWalletVisaCheckout
            - `billing_address` Address
              - …
            - `email` string, nullable — Owner's verified email. Values are verified or provided by the wallet directly (if supported) at the time of authorization or settlement. They cannot be set or mutated.
            - `name` string, nullable — Owner's verified full name. Values are verified or provided by the wallet directly (if supported) at the time of authorization or settlement. They cannot be set or mutated.
            - `shipping_address` Address
              - …
      - `card_present` PaymentMethodCardPresent
        - `brand` string, nullable — Card brand. Can be `amex`, `cartes_bancaires`, `diners`, `discover`, `eftpos_au`, `jcb`, `link`, `mastercard`, `unionpay`, `visa` or `unknown`.
        - `brand_product` string, nullable — The [product code](https://stripe.com/docs/card-product-codes) that identifies the specific program or product associated with a card.
        - `cardholder_name` string, nullable — The cardholder name as read from the card, in [ISO 7813](https://en.wikipedia.org/wiki/ISO/IEC_7813) format. May include alphanumeric characters, special characters and first/last name separator (`/`). In some cases, the cardholder name may not be available depending on how the issuer has configured the card. Cardholder name is typically not available on swipe or contactless payments, such as those made with Apple Pay and Google Pay.
        - `country` string, nullable — 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.
        - `description` string, nullable — A high-level description of the type of cards issued in this range.
        - `exp_month` integer, required — Two-digit number representing the card's expiration month.
        - `exp_year` integer, required — Four-digit number representing the card's expiration year.
        - `fingerprint` string, nullable — 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. *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.*
        - `funding` string, nullable — Card funding type. Can be `credit`, `debit`, `prepaid`, or `unknown`.
        - `issuer` string, nullable — The name of the card's issuing bank.
        - `last4` string, nullable — The last four digits of the card.
        - `networks` PaymentMethodCardPresentNetworks
          - `available` string[], required — All networks available for selection via [payment_method_options.card.network](/api/payment_intents/confirm#confirm_payment_intent-payment_method_options-card-network).
          - `preferred` string, nullable — The preferred network for the card.
        - `offline` PaymentMethodDetailsCardPresentOffline
          - `stored_at` integer, nullable — Time at which the payment was collected while offline
          - `type` 'deferred', nullable — The method used to process this payment method offline. Only deferred is allowed.
        - `preferred_locales` string[], nullable — The languages that the issuing bank recommends using for localizing any customer-facing text, as read from the card. Referenced from EMV tag 5F2D, data encoded on the card's chip.
        - `read_method` 'contact_emv' | 'contactless_emv' | 'contactless_magstripe_mode' | 'magnetic_stripe_fallback' | 'magnetic_stripe_track2', nullable — How card details were read in this transaction.
        - `wallet` PaymentFlowsPrivatePaymentMethodsCardPresentCommonWallet
          - `type` 'apple_pay' | 'google_pay' | 'samsung_pay' | 'unknown', required — The type of mobile wallet, one of `apple_pay`, `google_pay`, `samsung_pay`, or `unknown`.
      - `cashapp` PaymentMethodCashapp
        - `buyer_id` string, nullable — A unique and immutable identifier assigned by Cash App to every buyer.
        - `cashtag` string, nullable — A public identifier for buyers using Cash App.
      - `created` integer, required — Time at which the object was created. Measured in seconds since the Unix epoch.
      - `crypto` PaymentMethodCrypto
      - `custom` PaymentMethodCustom
        - `display_name` string, nullable — Display name of the Dashboard-only CustomPaymentMethodType.
        - `logo` CustomLogo
          - `content_type` string, nullable — Content type of the Dashboard-only CustomPaymentMethodType logo.
          - `url` string, required — URL of the Dashboard-only CustomPaymentMethodType logo.
        - `type` string, required — ID of the Dashboard-only CustomPaymentMethodType. Not expandable.
      - `customer` union — The ID of the Customer to which this PaymentMethod is saved. This will not be set when the PaymentMethod has not been saved to a Customer.
        - string
        - Customer — This object represents a customer of your business. Use it to [create recurring charges](https://docs.stripe.com/invoicing/customer), [save payment](https://docs.stripe.com/payments/save-during-payment) and contact information, and track payments that belong to the same customer.
          - `address` Address
            - `city` string, nullable — City, district, suburb, town, or village.
            - `country` string, nullable — Two-letter country code ([ISO 3166-1 alpha-2](https://en.wikipedia.org/wiki/ISO_3166-1_alpha-2)).
            - `line1` string, nullable — Address line 1, such as the street, PO Box, or company name.
            - `line2` string, nullable — Address line 2, such as the apartment, suite, unit, or building.
            - `postal_code` string, nullable — ZIP or postal code.
            - `state` string, nullable — State, county, province, or region ([ISO 3166-2](https://en.wikipedia.org/wiki/ISO_3166-2)).
          - `balance` integer — The current balance, if any, that's stored on the customer in their default currency. If negative, the customer has credit to apply to their next invoice. If positive, the customer has an amount owed that's added to their next invoice. The balance only considers amounts that Stripe hasn't successfully applied to any invoice. It doesn't reflect unpaid invoices. This balance is only taken into account after invoices finalize. For multi-currency balances, see [invoice_credit_balance](https://docs.stripe.com/api/customers/object#customer_object-invoice_credit_balance).
          - `business_name` string — The customer's business name.
          - `cash_balance` CashBalance — 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.
            - `available` object, nullable — 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).
            - `customer` string, required — The ID of the customer whose cash balance this object represents.
            - `customer_account` string, nullable — The ID of an Account representing a customer whose cash balance this object represents.
            - `livemode` boolean, required — If the object exists in live mode, the value is `true`. If the object exists in test mode, the value is `false`.
            - `object` 'cash_balance', required — String representing the object's type. Objects of the same type share the same value.
            - `settings` CustomerBalanceCustomerBalanceSettings, required
              - …
          - `created` integer, required — Time at which the object was created. Measured in seconds since the Unix epoch.
          - `currency` string, nullable — Three-letter [ISO code for the currency](https://stripe.com/docs/currencies) the customer can be charged in for recurring billing purposes.
          - `customer_account` string, nullable — The ID of an Account representing a customer. You can use this ID with any v1 API that accepts a customer_account parameter.
          - `default_source` union — ID of the default payment source for the customer. If you use payment methods created through the PaymentMethods API, see the [invoice_settings.default_payment_method](https://docs.stripe.com/api/customers/object#customer_object-invoice_settings-default_payment_method) field instead.
            - string
            - BankAccount — These bank accounts are payment methods on `Customer` objects. On the other hand [External Accounts](/api#external_accounts) are transfer destinations on `Account` objects for connected accounts. They can be bank accounts or debit cards as well, and are documented in the links above. Related guide: [Bank debits and transfers](/payments/bank-debits-transfers)
              - …
            - Card — You can store multiple cards on a customer in order to charge the customer later. You can also store multiple debit cards on a recipient in order to transfer to those cards later. Related guide: [Card payments with Sources](https://docs.stripe.com/sources/cards)
              - …
            - Source — `Source` objects allow you to accept a variety of payment methods. They represent a customer's payment instrument, and can be used with the Stripe API just like a `Card` object: once chargeable, they can be charged, or can be attached to customers. Stripe doesn't recommend using the deprecated [Sources API](https://docs.stripe.com/api/sources). We recommend that you adopt the [PaymentMethods API](https://docs.stripe.com/api/payment_methods). This newer API provides access to our latest features and payment method types. Related guides: [Sources API](https://docs.stripe.com/sources) and [Sources & Customers](https://docs.stripe.com/sources/customers).
              - …
          - `delinquent` boolean, nullable — Tracks the most recent state change on any invoice belonging to the customer. Paying an invoice or marking it uncollectible via the API will set this field to false. An automatic payment failure or passing the `invoice.due_date` will set this field to `true`. If an invoice becomes uncollectible by [dunning](https://docs.stripe.com/billing/automatic-collection), `delinquent` doesn't reset to `false`. If you care whether the customer has paid their most recent subscription invoice, use `subscription.status` instead. Paying or marking uncollectible any customer invoice regardless of whether it is the latest invoice for a subscription will always set this field to `false`.
          - `description` string, nullable — An arbitrary string attached to the object. Often useful for displaying to users.
          - `discount` Discount — A discount represents the actual application of a [coupon](https://docs.stripe.com/api#coupons) or [promotion code](https://docs.stripe.com/api#promotion_codes). It contains information about when the discount began, when it will end, and what it is applied to. Related guide: [Applying discounts to subscriptions](https://docs.stripe.com/billing/subscriptions/discounts)
            - `checkout_session` string, nullable — The Checkout session that this coupon is applied to, if it is applied to a particular session in payment mode. Not present for subscription mode.
            - `customer` union — The ID of the customer associated with this discount.
              - …
            - `customer_account` string, nullable — The ID of the account representing the customer associated with this discount.
            - `end` integer, nullable — If the coupon has a duration of `repeating`, the date that this discount will end. If the coupon has a duration of `once` or `forever`, this attribute will be null.
            - `id` string, required — The ID of the discount object. Discounts can't be fetched by ID. Use `expand[]=discounts` in API calls to expand discount IDs in an array.
            - `invoice` string, nullable — The invoice that the discount's coupon was applied to, if it was applied directly to a particular invoice.
            - `invoice_item` string, nullable — The invoice item `id` (or invoice line item `id` for invoice line items of type='subscription') that the discount's coupon was applied to, if it was applied directly to a particular invoice item or invoice line item.
            - `object` 'discount', required — String representing the object's type. Objects of the same type share the same value.
            - `promotion_code` union — The promotion code applied to create this discount.
              - …
            - `source` DiscountSource, required
              - …
            - `start` integer, required — Date that the coupon was applied.
            - `subscription` string, nullable — The subscription that this coupon is applied to, if it is applied to a particular subscription.
            - `subscription_item` string, nullable — The subscription item that this coupon is applied to, if it is applied to a particular subscription item.
          - `email` string, nullable — The customer's email address.
          - `id` string, required — Unique identifier for the object.
          - `individual_name` string — The customer's individual name.
          - `invoice_credit_balance` object — The current multi-currency balances, if any, that's stored on the customer. If positive in a currency, the customer has a credit to apply to their next invoice denominated in that currency. If negative, the customer has an amount owed that's added to their next invoice denominated in that currency. These balances don't apply to unpaid invoices. They solely track amounts that Stripe hasn't successfully applied to any invoice. Stripe only applies a balance in a specific currency to an invoice after that invoice (which is in the same currency) finalizes.
          - `invoice_prefix` string, nullable — The prefix for the customer used to generate unique invoice numbers.
          - `invoice_settings` InvoiceSettingCustomerSetting
            - `custom_fields` InvoiceSettingCustomField[], nullable — Default custom fields to be displayed on invoices for this customer.
              - …
            - `default_payment_method` union — ID of a payment method that's attached to the customer, to be used as the customer's default payment method for subscriptions and invoices.
              - …
            - `footer` string, nullable — Default footer to be displayed on invoices for this customer.
            - `rendering_options` InvoiceSettingCustomerRenderingOptions
              - …
          - `livemode` boolean, required — If the object exists in live mode, the value is `true`. If the object exists in test mode, the value is `false`.
          - `metadata` object — 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.
          - `name` string, nullable — The customer's full name or business name.
          - `next_invoice_sequence` integer — The suffix of the customer's next invoice number (for example, 0001). When the account uses account level sequencing, this parameter is ignored in API requests and the field omitted in API responses.
          - `object` 'customer', required — String representing the object's type. Objects of the same type share the same value.
          - `phone` string, nullable — The customer's phone number.
          - `preferred_locales` string[], nullable — The customer's preferred locales (languages), ordered by preference.
          - `shipping` Shipping
            - `address` Address
              - …
            - `carrier` string, nullable — The delivery service that shipped a physical product, such as Fedex, UPS, USPS, etc.
            - `name` string — Recipient name.
            - `phone` string, nullable — Recipient phone (including extension).
            - `tracking_number` string, nullable — The tracking number for a physical product, obtained from the delivery service. If multiple tracking numbers were generated for this purchase, please separate them with commas.
          - `sources` object — The customer's payment sources, if any.
            - `data` union[], required — Details about each object.
              - …
            - `has_more` boolean, required — True if this list has another page of items after this one that can be fetched.
            - `object` 'list', required — String representing the object's type. Objects of the same type share the same value. Always has the value `list`.
            - `url` string, required — The URL where this list can be accessed.
          - `subscriptions` object — The customer's current subscriptions, if any.
            - `data` Subscription[], required — Details about each object.
              - …
            - `has_more` boolean, required — True if this list has another page of items after this one that can be fetched.
            - `object` 'list', required — String representing the object's type. Objects of the same type share the same value. Always has the value `list`.
            - `url` string, required — The URL where this list can be accessed.
          - `tax` CustomerTax
            - `automatic_tax` 'failed' | 'not_collecting' | 'supported' | 'unrecognized_location', required — Surfaces if automatic tax computation is possible given the current customer location information.
            - `ip_address` string, nullable — A recent IP address of the customer used for tax reporting and tax location inference.
            - `location` CustomerTaxLocation
              - …
            - `provider` 'anrok' | 'avalara' | 'sphere' | 'stripe', required — The tax calculation provider used for location resolution. Defaults to `stripe` when not using a [third-party provider](/tax/third-party-apps).
          - `tax_exempt` 'exempt' | 'none' | 'reverse', nullable — Describes the customer's tax exemption status, which is `none`, `exempt`, or `reverse`. When set to `reverse`, invoice and receipt PDFs include the following text: **"Reverse charge"**.
          - `tax_ids` object — The customer's tax IDs.
            - `data` TaxId[], required — Details about each object.
              - …
            - `has_more` boolean, required — True if this list has another page of items after this one that can be fetched.
            - `object` 'list', required — String representing the object's type. Objects of the same type share the same value. Always has the value `list`.
            - `url` string, required — The URL where this list can be accessed.
          - `test_clock` union — ID of the test clock that this customer belongs to.
            - string
            - TestHelpersTestClock — A test clock enables deterministic control over objects in testmode. With a test clock, you can create objects at a frozen time in the past or future, and advance to a specific future time to observe webhooks and state changes. After the clock advances, you can either validate the current state of your scenario (and test your assumptions), change the current state of your scenario (and test more complex scenarios), or keep advancing forward in time.
              - …
      - `customer_account` string, nullable
      - `customer_balance` PaymentMethodCustomerBalance
      - `eps` PaymentMethodEps
        - `bank` 'arzte_und_apotheker_bank' | 'austrian_anadi_bank_ag' | 'bank_austria' | 'bankhaus_carl_spangler' | 'bankhaus_schelhammer_und_schattera_ag' | 'bawag_psk_ag' | 'bks_bank_ag' | 'brull_kallmus_bank_ag' | 'btv_vier_lander_bank' | 'capital_bank_grawe_gruppe_ag' | 'deutsche_bank_ag' | 'dolomitenbank' | 'easybank_ag' | 'erste_bank_und_sparkassen' | 'hypo_alpeadriabank_international_ag' | 'hypo_bank_burgenland_aktiengesellschaft' | 'hypo_noe_lb_fur_niederosterreich_u_wien' | 'hypo_oberosterreich_salzburg_steiermark' | 'hypo_tirol_bank_ag' | 'hypo_vorarlberg_bank_ag' | 'marchfelder_bank' | 'oberbank_ag' | 'raiffeisen_bankengruppe_osterreich' | 'schoellerbank_ag' | 'sparda_bank_wien' | 'volksbank_gruppe' | 'volkskreditbank_ag' | 'vr_bank_braunau', nullable — The customer's bank. Should be one of `arzte_und_apotheker_bank`, `austrian_anadi_bank_ag`, `bank_austria`, `bankhaus_carl_spangler`, `bankhaus_schelhammer_und_schattera_ag`, `bawag_psk_ag`, `bks_bank_ag`, `brull_kallmus_bank_ag`, `btv_vier_lander_bank`, `capital_bank_grawe_gruppe_ag`, `deutsche_bank_ag`, `dolomitenbank`, `easybank_ag`, `erste_bank_und_sparkassen`, `hypo_alpeadriabank_international_ag`, `hypo_noe_lb_fur_niederosterreich_u_wien`, `hypo_oberosterreich_salzburg_steiermark`, `hypo_tirol_bank_ag`, `hypo_vorarlberg_bank_ag`, `hypo_bank_burgenland_aktiengesellschaft`, `marchfelder_bank`, `oberbank_ag`, `raiffeisen_bankengruppe_osterreich`, `schoellerbank_ag`, `sparda_bank_wien`, `volksbank_gruppe`, `volkskreditbank_ag`, or `vr_bank_braunau`.
      - `fpx` PaymentMethodFpx
        - `bank` 'affin_bank' | 'agrobank' | 'alliance_bank' | 'ambank' | 'bank_islam' | 'bank_muamalat' | 'bank_of_china' | 'bank_rakyat' | 'bnp_paribas' | 'bsn' | 'cimb' | 'citibank' | 'deutsche_bank' | 'hong_leong_bank' | 'hsbc' | 'kfh' | 'maybank2e' | 'maybank2u' | 'mbsb_bank' | 'ocbc' | 'pb_enterprise' | 'public_bank' | 'rhb' | 'standard_chartered' | 'uob', required — The customer's bank, if provided. Can be one of `affin_bank`, `agrobank`, `alliance_bank`, `ambank`, `bank_islam`, `bank_muamalat`, `bnp_paribas`, `bank_rakyat`, `bsn`, `cimb`, `citibank`, `hong_leong_bank`, `hsbc`, `kfh`, `maybank2u`, `ocbc`, `public_bank`, `rhb`, `standard_chartered`, `uob`, `deutsche_bank`, `maybank2e`, `mbsb_bank`, `pb_enterprise`, or `bank_of_china`.
      - `giropay` PaymentMethodGiropay
      - `grabpay` PaymentMethodGrabpay
      - `id` string, required — Unique identifier for the object.
      - `ideal` PaymentMethodIdeal
        - `bank` 'abn_amro' | 'adyen' | 'asn_bank' | 'bunq' | 'buut' | 'finom' | 'handelsbanken' | 'ing' | 'knab' | 'mollie' | 'moneyou' | 'n26' | 'nn' | 'rabobank' | 'regiobank' | 'revolut' | 'sns_bank' | 'triodos_bank' | 'van_lanschot' | 'yoursafe', nullable — The customer's bank, if provided. Can be one of `abn_amro`, `adyen`, `asn_bank`, `bunq`, `buut`, `finom`, `handelsbanken`, `ing`, `knab`, `mollie`, `moneyou`, `n26`, `nn`, `rabobank`, `regiobank`, `revolut`, `sns_bank`, `triodos_bank`, `van_lanschot`, or `yoursafe`.
        - `bic` 'ABNANL2A' | 'ADYBNL2A' | 'ASNBNL21' | 'BITSNL2A' | 'BUNQNL2A' | 'BUUTNL2A' | 'FNOMNL22' | 'FVLBNL22' | 'HANDNL2A' | 'INGBNL2A' | 'KNABNL2H' | 'MLLENL2A' | 'MOYONL21' | 'NNBANL2G' | 'NTSBDEB1' | 'RABONL2U' | 'RBRBNL21' | 'REVOIE23' | 'REVOLT21' | 'SNSBNL2A' | 'TRIONL2U', nullable — The Bank Identifier Code of the customer's bank, if the bank was provided.
      - `interac_present` PaymentMethodInteracPresent
        - `brand` string, nullable — Card brand. Can be `interac`, `mastercard` or `visa`.
        - `cardholder_name` string, nullable — The cardholder name as read from the card, in [ISO 7813](https://en.wikipedia.org/wiki/ISO/IEC_7813) format. May include alphanumeric characters, special characters and first/last name separator (`/`). In some cases, the cardholder name may not be available depending on how the issuer has configured the card. Cardholder name is typically not available on swipe or contactless payments, such as those made with Apple Pay and Google Pay.
        - `country` string, nullable — 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.
        - `description` string, nullable — A high-level description of the type of cards issued in this range.
        - `exp_month` integer, required — Two-digit number representing the card's expiration month.
        - `exp_year` integer, required — Four-digit number representing the card's expiration year.
        - `fingerprint` string, nullable — 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. *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.*
        - `funding` string, nullable — Card funding type. Can be `credit`, `debit`, `prepaid`, or `unknown`.
        - `issuer` string, nullable — The name of the card's issuing bank.
        - `last4` string, nullable — The last four digits of the card.
        - `networks` PaymentMethodCardPresentNetworks
          - `available` string[], required — All networks available for selection via [payment_method_options.card.network](/api/payment_intents/confirm#confirm_payment_intent-payment_method_options-card-network).
          - `preferred` string, nullable — The preferred network for the card.
        - `preferred_locales` string[], nullable — The languages that the issuing bank recommends using for localizing any customer-facing text, as read from the card. Referenced from EMV tag 5F2D, data encoded on the card's chip.
        - `read_method` 'contact_emv' | 'contactless_emv' | 'contactless_magstripe_mode' | 'magnetic_stripe_fallback' | 'magnetic_stripe_track2', nullable — How card details were read in this transaction.
      - `kakao_pay` PaymentMethodKakaoPay
      - `klarna` PaymentMethodKlarna
        - `dob` PaymentFlowsPrivatePaymentMethodsKlarnaDob
          - `day` integer, nullable — The day of birth, between 1 and 31.
          - `month` integer, nullable — The month of birth, between 1 and 12.
          - `year` integer, nullable — The four-digit year of birth.
      - `konbini` PaymentMethodKonbini
      - `kr_card` PaymentMethodKrCard
        - `brand` 'bc' | 'citi' | 'hana' | 'hyundai' | 'jeju' | 'jeonbuk' | 'kakaobank' | 'kbank' | 'kdbbank' | 'kookmin' | 'kwangju' | 'lotte' | 'mg' | 'nh' | 'post' | 'samsung' | 'savingsbank' | 'shinhan' | 'shinhyup' | 'suhyup' | 'tossbank' | 'woori', nullable — The local credit or debit card brand.
        - `last4` string, nullable — The last four digits of the card. This may not be present for American Express cards.
      - `link` PaymentMethodLink
        - `email` string, nullable — Account owner's email address.
      - `livemode` boolean, required — If the object exists in live mode, the value is `true`. If the object exists in test mode, the value is `false`.
      - `mb_way` PaymentMethodMbWay
      - `metadata` object, nullable — 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.
      - `mobilepay` PaymentMethodMobilepay
      - `multibanco` PaymentMethodMultibanco
      - `naver_pay` PaymentMethodNaverPay
        - `buyer_id` string, nullable — Uniquely identifies this particular Naver Pay account. You can use this attribute to check whether two Naver Pay accounts are the same.
        - `funding` 'card' | 'points', required — Whether to fund this transaction with Naver Pay points or a card.
      - `nz_bank_account` PaymentMethodNzBankAccount
        - `account_holder_name` string, nullable — The name on the bank account. Only present if the account holder name is different from the name of the authorized signatory collected in the PaymentMethod’s billing details.
        - `bank_code` string, required — The numeric code for the bank account's bank.
        - `bank_name` string, required — The name of the bank.
        - `branch_code` string, required — The numeric code for the bank account's bank branch.
        - `last4` string, required — Last four digits of the bank account number.
        - `suffix` string, nullable — The suffix of the bank account number.
      - `object` 'payment_method', required — String representing the object's type. Objects of the same type share the same value.
      - `oxxo` PaymentMethodOxxo
      - `p24` PaymentMethodP24
        - `bank` 'alior_bank' | 'bank_millennium' | 'bank_nowy_bfg_sa' | 'bank_pekao_sa' | 'banki_spbdzielcze' | 'blik' | 'bnp_paribas' | 'boz' | 'citi_handlowy' | 'credit_agricole' | 'envelobank' | 'etransfer_pocztowy24' | 'getin_bank' | 'ideabank' | 'ing' | 'inteligo' | 'mbank_mtransfer' | 'nest_przelew' | 'noble_pay' | 'pbac_z_ipko' | 'plus_bank' | 'santander_przelew24' | 'tmobile_usbugi_bankowe' | 'toyota_bank' | 'velobank' | 'volkswagen_bank', nullable — The customer's bank, if provided.
      - `pay_by_bank` PaymentMethodPayByBank
      - `payco` PaymentMethodPayco
      - `paynow` PaymentMethodPaynow
      - `paypal` PaymentMethodPaypal
        - `country` string, nullable — Two-letter ISO code representing the buyer's country. Values are provided by PayPal directly (if supported) at the time of authorization or settlement. They cannot be set or mutated.
        - `payer_email` string, nullable — Owner's email. Values are provided by PayPal directly (if supported) at the time of authorization or settlement. They cannot be set or mutated.
        - `payer_id` string, nullable — PayPal account PayerID. This identifier uniquely identifies the PayPal customer.
      - `paypay` PaymentMethodPaypay
      - `payto` PaymentMethodPayto
        - `bsb_number` string, nullable — Bank-State-Branch number of the bank account.
        - `last4` string, nullable — Last four digits of the bank account number.
        - `pay_id` string, nullable — The PayID alias for the bank account.
      - `pix` PaymentMethodPix
        - `fingerprint` string, nullable — Uniquely identifies this particular Pix account. You can use this attribute to check whether two Pix accounts are the same.
      - `promptpay` PaymentMethodPromptpay
      - `radar_options` RadarRadarOptions — Options to configure Radar. See [Radar Session](https://docs.stripe.com/radar/radar-session) for more information.
        - `session` string — A [Radar Session](https://docs.stripe.com/radar/radar-session) is a snapshot of the browser metadata and device details that help Radar make more accurate predictions on your payments.
      - `revolut_pay` PaymentMethodRevolutPay
      - `samsung_pay` PaymentMethodSamsungPay
      - `satispay` PaymentMethodSatispay
      - `scalapay` PaymentMethodScalapay
      - `sepa_debit` PaymentMethodSepaDebit
        - `bank_code` string, nullable — Bank code of bank associated with the bank account.
        - `branch_code` string, nullable — Branch code of bank associated with the bank account.
        - `country` string, nullable — Two-letter ISO code representing the country the bank account is located in.
        - `fingerprint` string, nullable — Uniquely identifies this particular bank account. You can use this attribute to check whether two bank accounts are the same.
        - `generated_from` SepaDebitGeneratedFrom
          - `charge` union — The ID of the Charge that generated this PaymentMethod, if any.
            - string
            - Charge — The `Charge` object represents a single attempt to move money into your Stripe account. PaymentIntent confirmation is the most common way to create Charges, but [Account Debits](https://docs.stripe.com/connect/account-debits) may also create Charges. The create and capture methods are deprecated and will be deleted soon. If your integration uses either of them, you need to update it to use a different payment flow, such as [the Payment Intents API](https://docs.stripe.com/payments/payment-intents).
              - …
          - `setup_attempt` union — The ID of the SetupAttempt that generated this PaymentMethod, if any.
            - string
            - SetupAttempt — A SetupAttempt describes one attempted confirmation of a SetupIntent, whether that confirmation is successful or unsuccessful. You can use SetupAttempts to inspect details of a specific attempt at setting up a payment method using a SetupIntent.
              - …
        - `last4` string, nullable — Last four characters of the IBAN.
      - `sequra` PaymentMethodSequra
      - `sofort` PaymentMethodSofort
        - `country` string, nullable — Two-letter ISO code representing the country the bank account is located in.
      - `sunbit` PaymentMethodSunbit
      - `swish` PaymentMethodSwish
      - `twint` PaymentMethodTwint
      - `type` 'acss_debit' | 'affirm' | 'afterpay_clearpay' | 'alipay' | 'alma' | 'amazon_pay' | 'au_becs_debit' | 'bacs_debit' | 'bancontact' | 'billie' | 'bizum' | 'blik' | 'boleto' | 'card' | 'card_present' | 'cashapp' | 'crypto' | 'custom' | 'customer_balance' | 'eps' | 'fpx' | 'giropay' | 'grabpay' | 'ideal' | 'interac_present' | 'kakao_pay' | 'klarna' | 'konbini' | 'kr_card' | 'link' | 'mb_way' | 'mobilepay' | 'multibanco' | 'naver_pay' | 'nz_bank_account' | 'oxxo' | 'p24' | 'pay_by_bank' | 'payco' | 'paynow' | 'paypal' | 'paypay' | 'payto' | 'pix' | 'promptpay' | 'revolut_pay' | 'samsung_pay' | 'satispay' | 'scalapay' | 'sepa_debit' | 'sequra' | 'sofort' | 'sunbit' | 'swish' | 'twint' | 'upi' | 'us_bank_account' | 'wechat_pay' | 'zip', required — The type of the PaymentMethod. An additional hash is included on the PaymentMethod with a name matching this value. It contains additional information specific to the PaymentMethod type.
      - `upi` PaymentMethodUpi
        - `vpa` string, nullable — Customer's unique Virtual Payment Address
      - `us_bank_account` PaymentMethodUsBankAccount
        - `account_holder_type` 'company' | 'individual', nullable — Account holder type: individual or company.
        - `account_type` 'checking' | 'savings', nullable — Account type: checkings or savings. Defaults to checking if omitted.
        - `bank_name` string, nullable — The name of the bank.
        - `financial_connections_account` string, nullable — The ID of the Financial Connections Account used to create the payment method.
        - `fingerprint` string, nullable — Uniquely identifies this particular bank account. You can use this attribute to check whether two bank accounts are the same.
        - `last4` string, nullable — Last four digits of the bank account number.
        - `networks` UsBankAccountNetworks
          - `preferred` string, nullable — The preferred network.
          - `supported` string[], required — All supported networks.
        - `routing_number` string, nullable — Routing number of the bank account.
        - `status_details` PaymentMethodUsBankAccountStatusDetails
          - `blocked` PaymentMethodUsBankAccountBlocked
            - `network_code` 'R02' | 'R03' | 'R04' | 'R05' | 'R07' | 'R08' | 'R10' | 'R11' | 'R16' | 'R20' | 'R29' | 'R31', nullable — The ACH network code that resulted in this block.
            - `reason` 'bank_account_closed' | 'bank_account_frozen' | 'bank_account_invalid_details' | 'bank_account_restricted' | 'bank_account_unusable' | 'debit_not_authorized' | 'tokenized_account_number_deactivated', nullable — The reason why this PaymentMethod's fingerprint has been blocked
      - `wechat_pay` PaymentMethodWechatPay
      - `zip` PaymentMethodZip
  - `reason` 'cardholder_authentication' | 'issuer_requested' | 'liability_shift' | 'processing_costs' | 'regulatory_compliance' — The reason for invoking this 3DS Authentication.
  - `shipping_address` ThreeDSecureStandaloneResourceShippingAddress — Contains details about the shipping address for a 3DS Authentication.
    - `city` string — City, district, suburb, town, or village.
    - `country` string — Two-letter country code ([ISO 3166-1 alpha-2](https://en.wikipedia.org/wiki/ISO_3166-1_alpha-2)).
    - `line1` string — Address line 1, such as the street, PO Box, or company name.
    - `line2` string — Address line 2, such as the apartment, suite, unit, or building.
    - `postal_code` string — ZIP or postal code.
    - `state` string — State, county, province, or region ([ISO 3166-2](https://en.wikipedia.org/wiki/ISO_3166-2)).
  - `status` 'canceled' | 'error' | 'failed' | 'requires_challenge' | 'requires_submission' | 'succeeded', required — Status of this Authentication.

## Other responses

- `default` — Error response.

---

[API](https://skmtc.dev/stripe/apis/spec3.md) · [All operations](https://skmtc.dev/stripe/apis/spec3/llms.txt) · [OpenAPI document](https://skmtc.dev/stripe/apis/spec3/revisions/585b581504ae?raw)
