HORIZON HASKELLDocslts/ghc-9.10.xc74966e2026-09-27Search names, modules, packages, or :: a typeCtrl K

GHC 9.10.3 · lts/ghc-9.10.x · c74966e · 2026-09-27

Modulestripeapi-3.0.0.0Haskell2010

StripeAPI.Types.SetupIntent

Contains the types generated from the schema SetupIntent

  • 34 types
  • 12 values
datadata SetupIntent
#

Defines the object schema located at components.schemas.setup_intent in the specification.

A SetupIntent guides you through the process of setting up and saving a customer's payment credentials for future payments. For example, you could use a SetupIntent to set up and save your customer's card without immediately collecting a payment. Later, you can use PaymentIntents to drive the payment flow.

Create a SetupIntent as soon as you're ready to collect your customer's payment credentials. Do not maintain long-lived, unconfirmed SetupIntents as they may no longer be valid. The SetupIntent then transitions through multiple statuses as it guides you through the setup process.

Successful SetupIntents result in payment credentials that are optimized for future payments. For example, cardholders in certain regions may need to be run through Strong Customer Authentication at the time of payment method collection in order to streamline later off-session payments. If the SetupIntent is used with a Customer, upon success, it will automatically attach the resulting payment method to that Customer. We recommend using SetupIntents or setup_future_usage on PaymentIntents to save payment methods in order to prevent saving invalid or unoptimized payment methods.

By using SetupIntents, you ensure that your customers experience the minimum set of required friction, even as regulations change over time.

Related guide: Setup Intents API.

Constructors

Instances4Eq, Show, FromJSON, ToJSON

Defines the oneOf schema located at components.schemas.setup_intent.properties.application.anyOf in the specification.

ID of the Connect application that created the SetupIntent.

Instances4Eq, Show, FromJSON, ToJSON

Defines the enum schema located at components.schemas.setup_intent.properties.cancellation_reason in the specification.

Reason for cancellation of this SetupIntent, one of `abandoned`, `requested_by_customer`, or `duplicate`.

Constructors

Instances4Eq, Show, FromJSON, ToJSON

Defines the oneOf schema located at components.schemas.setup_intent.properties.customer.anyOf in the specification.

ID of the Customer this SetupIntent belongs to, if one exists.

If present, the SetupIntent's payment method will be attached to the Customer on successful setup. Payment methods attached to other Customers cannot be used with this SetupIntent.

Instances4Eq, Show, FromJSON, ToJSON

Defines the enum schema located at components.schemas.setup_intent.properties.flow_directions.items in the specification.

Constructors

Instances4Eq, Show, FromJSON, ToJSON

Defines the object schema located at components.schemas.setup_intent.properties.last_setup_error.anyOf in the specification.

The error encountered in the previous SetupIntent confirmation.

Constructors

Instances4Eq, Show, FromJSON, ToJSON

Defines the object schema located at components.schemas.setup_intent.properties.last_setup_error.anyOf.properties.source.anyOf in the specification.

The source object for errors returned on a request involving a source.

Constructors

Instances4Eq, Show, FromJSON, ToJSON

Defines the oneOf schema located at components.schemas.setup_intent.properties.last_setup_error.anyOf.properties.source.anyOf.properties.account.anyOf in the specification.

The ID of the account that the bank account is associated with.

Instances4Eq, Show, FromJSON, ToJSON

Defines the enum schema located at components.schemas.setup_intent.properties.last_setup_error.anyOf.properties.source.anyOf.properties.available_payout_methods.items in the specification.

Constructors

Instances4Eq, Show, FromJSON, ToJSON

Defines the oneOf schema located at components.schemas.setup_intent.properties.last_setup_error.anyOf.properties.source.anyOf.properties.customer.anyOf in the specification.

The ID of the customer that the bank account is associated with.

Instances4Eq, Show, FromJSON, ToJSON

Defines the enum schema located at components.schemas.setup_intent.properties.last_setup_error.anyOf.properties.source.anyOf.properties.object in the specification.

String representing the object's type. Objects of the same type share the same value.

Constructors

Instances4Eq, Show, FromJSON, ToJSON

Defines the object schema located at components.schemas.setup_intent.properties.last_setup_error.anyOf.properties.source.anyOf.properties.owner.anyOf in the specification.

Information about the owner of the payment instrument that may be used or required by particular source types.

Constructors

Instances4Eq, Show, FromJSON, ToJSON

Defines the object schema located at components.schemas.setup_intent.properties.last_setup_error.anyOf.properties.source.anyOf.properties.owner.anyOf.properties.address.anyOf in the specification.

Owner\'s address.

Constructors

Instances4Eq, Show, FromJSON, ToJSON

Defines the object schema located at components.schemas.setup_intent.properties.last_setup_error.anyOf.properties.source.anyOf.properties.owner.anyOf.properties.verified_address.anyOf in the specification.

Verified owner\'s address. Verified values are verified or provided by the payment method directly (and if supported) at the time of authorization or settlement. They cannot be set or mutated.

Constructors

Instances4Eq, Show, FromJSON, ToJSON

Defines the oneOf schema located at components.schemas.setup_intent.properties.last_setup_error.anyOf.properties.source.anyOf.properties.recipient.anyOf in the specification.

The recipient that this card belongs to. This attribute will not be in the card object if the card belongs to a customer or account instead.

Instances4Eq, Show, FromJSON, ToJSON

Defines the enum schema located at components.schemas.setup_intent.properties.last_setup_error.anyOf.properties.source.anyOf.properties.type in the specification.

The `type` of the source. The `type` is a payment method, one of `ach_credit_transfer`, `ach_debit`, `alipay`, `bancontact`, `card`, `card_present`, `eps`, `giropay`, `ideal`, `multibanco`, `klarna`, `p24`, `sepa_debit`, `sofort`, `three_d_secure`, or `wechat`. An additional hash is included on the source with a name matching this value. It contains additional information specific to the payment method used.

Constructors

Instances4Eq, Show, FromJSON, ToJSON

Defines the enum schema located at components.schemas.setup_intent.properties.last_setup_error.anyOf.properties.type in the specification.

The type of error returned. One of `api_error`, `card_error`, `idempotency_error`, or `invalid_request_error`

Constructors

Instances4Eq, Show, FromJSON, ToJSON

Defines the oneOf schema located at components.schemas.setup_intent.properties.latest_attempt.anyOf in the specification.

The most recent SetupAttempt for this SetupIntent.

Instances4Eq, Show, FromJSON, ToJSON

Defines the oneOf schema located at components.schemas.setup_intent.properties.mandate.anyOf in the specification.

ID of the multi use Mandate generated by the SetupIntent.

Instances4Eq, Show, FromJSON, ToJSON

Defines the object schema located at components.schemas.setup_intent.properties.next_action.anyOf in the specification.

If present, this property tells you what actions you need to take in order for your customer to continue payment setup.

Constructors

Instances4Eq, Show, FromJSON, ToJSON

Defines the oneOf schema located at components.schemas.setup_intent.properties.on_behalf_of.anyOf in the specification.

The account (if any) for which the setup is intended.

Instances4Eq, Show, FromJSON, ToJSON

Defines the oneOf schema located at components.schemas.setup_intent.properties.payment_method.anyOf in the specification.

ID of the payment method used with this SetupIntent.

Instances4Eq, Show, FromJSON, ToJSON
Instances4Eq, Show, FromJSON, ToJSON
Instances4Eq, Show, FromJSON, ToJSON

Defines the enum schema located at components.schemas.setup_intent.properties.payment_method_options.anyOf.properties.acss_debit.anyOf.properties.currency in the specification.

Currency supported by the bank account

Constructors

Instances4Eq, Show, FromJSON, ToJSON

Defines the enum schema located at components.schemas.setup_intent.properties.payment_method_options.anyOf.properties.acss_debit.anyOf.properties.verification_method in the specification.

Bank account verification method.

Constructors

Instances4Eq, Show, FromJSON, ToJSON

Defines the object schema located at components.schemas.setup_intent.properties.payment_method_options.anyOf.properties.sepa_debit.anyOf in the specification.

Instances4Eq, Show, FromJSON, ToJSON

Defines the enum schema located at components.schemas.setup_intent.properties.payment_method_options.anyOf.properties.sepa_debit.anyOf.properties.verification_method in the specification.

Bank account verification method.

Constructors

Instances4Eq, Show, FromJSON, ToJSON

Defines the object schema located at components.schemas.setup_intent.properties.payment_method_options.anyOf.properties.us_bank_account.anyOf in the specification.

Instances4Eq, Show, FromJSON, ToJSON

Defines the enum schema located at components.schemas.setup_intent.properties.payment_method_options.anyOf.properties.us_bank_account.anyOf.properties.verification_method in the specification.

Bank account verification method.

Constructors

Instances4Eq, Show, FromJSON, ToJSON

Defines the oneOf schema located at components.schemas.setup_intent.properties.single_use_mandate.anyOf in the specification.

ID of the single_use Mandate generated by the SetupIntent.

Instances4Eq, Show, FromJSON, ToJSON
datadata SetupIntentStatus'
#

Defines the enum schema located at components.schemas.setup_intent.properties.status in the specification.

Status of this SetupIntent, one of `requires_payment_method`, `requires_confirmation`, `requires_action`, `processing`, `canceled`, or `succeeded`.

Constructors

Instances4Eq, Show, FromJSON, ToJSON