> ## Documentation Index
> Fetch the complete documentation index at: https://docs.fintoc.com/llms.txt
> Use this file to discover all available pages before exploring further.

# Setup intent error reason

Setup intents can fail for a variety of reasons. The reason a given setup intent failed is available in the [Setup Intent object](/reference/payments-api/setup-intents/setup-intent-object)'s `error_reason` attribute.

Fintoc sends the following `error_reason` values. Handle unknown values gracefully because Fintoc can add error reasons.

The Setup method column indicates which payment method types can produce each error: `bank_transfer`, `card`, or `pac` (automatic recurring bank debit).

| `error_reason`                | Description                                                                                          | Setup method            |
| :---------------------------- | :--------------------------------------------------------------------------------------------------- | :---------------------- |
| `account_type_not_permitted`  | The selected account type is not allowed for this setup.                                             | `pac`                   |
| `authentication_failed`       | Your customer failed the card issuer's authentication challenge.                                     | `card`                  |
| `authorization_timeout`       | Your customer did not authorize the direct debit subscription in time.                               | `pac`                   |
| `bank_connection_error`       | Fintoc had a problem connecting with the selected bank.                                              | `bank_transfer`, `pac`  |
| `bank_not_available`          | The selected bank is temporarily unavailable.                                                        | `bank_transfer`, `pac`  |
| `card_declined`               | The card issuer declined the setup.                                                                  | `card`                  |
| `insufficient_funds`          | The account or card does not have enough funds to complete the setup.                                | `bank_transfer`, `card` |
| `internal_error`              | An unexpected error occurred while processing the setup.                                             | `bank_transfer`, `pac`  |
| `invalid_card`                | The card is invalid, or your business does not allow this card type.                                 | `card`                  |
| `invalid_card_credentials`    | Your customer entered incorrect card details, such as the number, expiration date, or security code. | `card`                  |
| `login_credentials_locked`    | The bank locked your customer's credentials after too many failed attempts.                          | `bank_transfer`, `pac`  |
| `login_invalid_credentials`   | The bank credentials your customer entered are incorrect.                                            | `bank_transfer`, `pac`  |
| `mfa_authorization_timeout`   | Your customer did not complete the bank's multi-factor authentication in time.                       | `pac`                   |
| `mfa_unavailable`             | The bank's multi-factor authentication is not available for your customer.                           | `pac`                   |
| `password_change_required`    | The bank requires your customer to change their password before continuing.                          | `bank_transfer`, `pac`  |
| `request_timeout`             | The request to the bank timed out.                                                                   | `bank_transfer`, `pac`  |
| `subscription_intent_expired` | The underlying subscription intent expired before your customer completed the setup.                 | `pac`                   |
| `user_left`                   | Your customer left the widget before completing the setup.                                           | `pac`                   |
