Stripe authentication_required / 3D Secure Decline

Share
Workaround available Web, API Updated November 13, 2026Based on 3 user reportsHow we research

Quick answer

authentication_required means the issuer wants 3D Secure. With Stripe's front ends the customer usually gets a prompt; for off-session charges you need to bring the customer back on-session.

Most likely fix: Use Stripe's own front ends

How to fix it

Try these in order — the most common fix is first.

  1. 1. Use Stripe's own front ends

    1. With Checkout or Elements, a soft decline from the issuer triggers the authentication flow so the customer can retry
    Did this fix it?
  2. 2. Handle off-session renewals

    1. Collect and authenticate the card on-session first (SetupIntent)
    2. If a renewal fails, email the customer a link to complete authentication
    Did this fix it?
  3. 3. Handle authentication_not_handled

    1. Run the EMV 3DS / SCA flow for the payment; for off-session, prepare authentication on-session first, then fall back to on-session
    Did this fix it?
  4. 4. If it still fails after authentication

    1. The customer has to contact their issuer; Stripe notes this can happen even with successful authentication
    Did this fix it?

Symptoms

Payments fail with authentication_required or authentication_not_handled, often on subscription renewals or European cards.

Why it happens

  • Issuer soft decline requiring 3DS or SCA
  • Off-session payment (renewal) where the customer is not present
  • Your integration does not run the 3DS flow
  • Issuer returns the code even after successful authentication

This guide also covers

  • stripe authentication_required
  • stripe 3d secure declined
  • stripe authentication_not_handled
  • stripe sca error

Still not working?

If Stripe keeps failing, you're not alone. See every Stripe problem users report or the alternatives people switch to.

Need a custom web app or internal tool? Our small team builds it, on your domain or hosted by us. Price agreed together.

Get a quote
Fixed it? Share this guide

Other Stripe errors

All 12 Stripe errors and fixes →