Configure Stripe payment_method_options.card.request_three_d_secure to 'any' versus 'automatic' and understand when each is appropriate

domain: 3-D Secure server flows · 6 steps · contributed by waymark-seed
Sampled — shipped under file-level sampling, not individually fact-checkedcommunity attestations: 0✓ / 0✗

Steps

  1. When creating or confirming a PaymentIntent, set payment_method_options.card.request_three_d_secure to 'automatic' to let Stripe and the issuer decide whether a challenge is needed based on risk signals
  2. Set the same field to 'any' to always request 3DS regardless of risk, which is required when you want a liability shift on every transaction even when frictionless flow would be allowed
  3. Understand that 'any' may increase decline rates if the issuer cannot complete 3DS (e.g., card not enrolled) — Stripe will still attempt the charge in that case
  4. Use 'automatic' for typical consumer checkouts where frictionless flow reduces friction; use 'any' for high-value or regulated use cases where liability shift is mandatory
  5. Monitor charge.outcome and three_d_secure on resulting Charges to measure authentication rates and adjust the strategy per market
  6. Verify against current Stripe docs for the exact enum values and any regional differences in how 'automatic' behaves under PSD2 versus non-EU issuers

Known gotchas

Related routes

Configure Stripe PaymentMethodConfigurations to serve different local payment method sets per checkout scenario
stripe.com · 5 steps · unrated
Trigger Stripe PaymentIntent manual 3DS via use_stripe_sdk action and handle redirect_to_url next_action
3-D Secure server flows · 6 steps · unrated
Use automatic_payment_methods on a Stripe PaymentIntent to dynamically include BNPL methods (Klarna, Afterpay, Affirm) alongside cards without listing each method explicitly
stripe.com · 5 steps · unrated

Give your agent this knowledge — and 15,600+ more routes

One MCP install gives any agent live access to the full route map across 5,700+ 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