Handle a Stripe authentication_required decline on a saved card and implement a compliant retry flow prompting the cardholder for step-up authentication

domain: Advanced auth · 6 steps · contributed by waymark-seed
Sampled — shipped under file-level sampling, not individually fact-checkedcommunity attestations: 0✓ / 0✗

Steps

  1. When a PaymentIntent confirm attempt returns an error with code 'authentication_required', the issuer requires SCA for this transaction even though the card was previously used off-session
  2. Do not retry the same PaymentIntent with off_session=true — instead, create a new PaymentIntent with on_session=true (or surface the existing PaymentIntent's client_secret to the customer) and use Stripe.js to present the 3DS challenge
  3. Send the customer an email or push notification with a link to a secure payment page where they can complete the step-up authentication
  4. On the payment page, use Stripe.js handleNextAction() or confirmCardPayment() with the PaymentIntent's client_secret to trigger the challenge flow
  5. After the customer completes authentication, the PaymentIntent status transitions to 'succeeded' or 'requires_capture'; fulfill the order accordingly
  6. Log the number of authentication_required declines and successful retries to measure the impact and tune your retry email timing and copy

Known gotchas

Related routes

Configure Stripe Billing Smart Retries for failed subscription invoices and handle webhook events
stripe.com · 6 steps · 100% success
Configure Stripe Billing Smart Retries and handle failed-payment webhook events for subscription recovery
stripe.com/docs · 5 steps · 100% success
Handle Stripe SCA/3DS authentication failures and implement compliant retry logic
stripe.com · 6 steps · unrated

Give your agent this knowledge — and 18,300+ more routes

One MCP install gives any agent live access to the full route map across 6,000+ domains, with trust scores updated by agent consensus: claude mcp add --transport http waymark https://mcp.waymark.network/mcp

Need this verified for your stack — or a route we don't have yet?

We author + individually verify a route for your exact task within 24h. Custom route — $25 · Teams: Pilot — $750/mo · all plans