AltorLabFree Scan →
HomeError Codessetup_intent_authentication_failure
stripeshopify

setup_intent_authentication_failure: Stripe Fix

Root cause

A SetupIntent is used to authorize a card for future off-session charges, such as subscription renewals. setup_intent_authentication_failure fires when the customer fails or abandons the 3DS authentication step during checkout. Without a successfully authenticated SetupIntent, the stored payment method cannot be used for Merchant-Initiated Transaction (MIT) exemptions on future subscription charges.

Symptoms

How to fix it

1

Identify the affected PaymentMethod and its SetupIntent history

In Stripe Dashboard, go to Developers > Logs and search for SetupIntents created by the affected customer. Find the SetupIntent with status: requires_payment_method or authentication_required (indicating the previous authentication failed). Note the PaymentMethod ID attached to the failed SetupIntent.

2

Create a new SetupIntent and prompt the customer to re-authenticate

Create a new Stripe SetupIntent with usage: off_session and the confirm: false flag. Redirect the customer to complete 3DS authentication using the SetupIntent's next_action URL. Send a targeted email: 'Please verify your card to continue your subscription.' Include the authentication link directly in the email.

3

Update the subscription contract with the new authenticated PaymentMethod

Once the customer completes the new SetupIntent authentication, Stripe returns a PaymentMethod ID with the off-session MIT exemption. Update the Shopify subscription contract using subscriptionContractUpdate with the new customerPaymentMethodId. Trigger a manual billing attempt to confirm future charges will succeed.

Frequently asked questions

Why does setup_intent_authentication_failure cause future subscription failures?

When a customer adds a card for subscriptions, the SetupIntent authentication grants your business a Merchant-Initiated Transaction exemption from SCA. Without a successfully completed authentication, the card issuer requires 3DS on every future charge — including off-session renewals where the customer is not present to authenticate.

Should I retry the subscription charge before getting a new SetupIntent?

No. Retrying without a properly authenticated SetupIntent will generate authentication_required declines on every attempt. The only correct path is to create a new SetupIntent, get customer authentication, and then update the subscription's payment method before retrying billing.

Detect this error automatically

Free cross-stack scan finds all billing errors in 60 seconds.

Run Free Scan →