← All Stripe decline codes

Stripe decline code

authentication_required

The card issuer requires Strong Customer Authentication (3D Secure) before the charge can proceed.

Type

Authentication required

Recoverable

Recoverable

Frequency

Common

What does authentication_required mean?

authentication_required is a European-driven decline under PSD2/SCA regulations. The customer has to complete a 3D Secure challenge with their bank before the charge can go through. For recurring SaaS subscriptions, this usually happens on the first charge or when the bank decides to re-challenge. Once the customer authenticates, subsequent charges can be exempted under MIT (merchant-initiated transaction) rules.

Recovery strategy

Retry approach

Do not retry without authentication. Instead, use Stripe's authenticate flow: create a SetupIntent or PaymentIntent with confirm: false, redirect the customer to the 3DS challenge, and charge on success. Stripe supports sending the customer a secure off-session authentication link.

Customer message

Explain that the bank requires an extra verification step and send a secure link to authenticate. Typical UX: a redirect to the bank's 3DS page or an in-app modal.

Best practices

  • Use Stripe PaymentIntents and SetupIntents from day one to support SCA
  • Mark subscriptions as MIT (merchant-initiated) after the first authenticated charge to reduce future SCA prompts
  • Send customers an email with a 3DS link if the charge fails off-session
  • Test 3DS behavior using Stripe's 3DS test cards

About authentication requireds

Bank requires extra verification (like 3D Secure). Recoverable once the customer authenticates.

Frequently asked questions

What is SCA?

Strong Customer Authentication, a requirement under the European PSD2 regulation. Most European cards and some UK cards require 3D Secure challenges for online purchases.

Can I avoid 3D Secure for recurring subscriptions?

Yes for the renewals. If the first charge is authenticated with 3DS, subsequent recurring charges qualify as MIT and can be exempted from SCA. Use Stripe's off_session flag.

How Rebounce handles authentication_required

Automatic authentication required handling, no code required

Rebounce classifies every failed payment by its Stripe decline code and applies the optimal recovery strategy automatically. For authentication_required, that means intelligent retries at the right times. Multi-channel follow-up through email, SMS, WhatsApp, and in-app banners ensures the customer actually sees the message.

Start free trial