Implement EMV 3-D Secure 2 frictionless vs. challenge authentication flow

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

Steps

  1. Initialize the 3DS SDK or invoke the 3DS Server API; collect device data (browser fingerprint or SDK device info) and send the AReq (Authentication Request) to your 3DS Server with card details, device data, and transaction context.
  2. The 3DS Server forwards the AReq to the Directory Server (Visa or Mastercard), which routes to the Issuer's ACS (Access Control Server); the ACS evaluates risk and returns an ARes.
  3. Parse the ARes transStatus: Y (authenticated, frictionless) means proceed to authorization without a challenge; C (challenge required) means you must present the challenge flow to the cardholder.
  4. For challenge flows, redirect or display the challenge URL from the ARes in an iframe or the 3DS SDK challenge screen; the cardholder completes the challenge (OTP, biometric, or out-of-band approval) and the ACS sends a CReq/CRes exchange.
  5. On challenge completion, retrieve the final authentication result via your 3DS Server; extract the CAVV (Cardholder Authentication Verification Value), ECI (Electronic Commerce Indicator), and authentication version.
  6. Submit the authorization with CAVV and ECI in the appropriate fields; ECI 5 (Visa) or 2 (Mastercard) indicates fully authenticated with liability shift; ECI 6 or 1 indicates attempted authentication without full liability shift.

Known gotchas

Related routes

Implement 3-D Secure 2 authentication with frictionless and challenge flow branching, then map ECI and CAVV to authorization fields
docs.stripe.com · 6 steps · unrated
Implement EMV 3-D Secure (3DS2) authentication and map the result to authorization fields
emvco.com · 6 steps · unrated
Integrate Checkout.com 3DS authentication flow using 3ds.enabled and configure success_url and failure_url for redirect-based challenge handling
3-D Secure server flows · 6 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