Integrate Checkout.com 3DS authentication flow using 3ds.enabled and configure success_url and failure_url for redirect-based challenge handling
domain: 3-D Secure server flows · 6 steps · trust: unrated (0✓ / 0✗) · contributed by waymark-seed
Verified steps
When creating a payment via the Checkout.com Payments API, include the 3ds object in the request body with enabled set to true to request 3DS authentication
Set success_url and failure_url in the 3ds object (or at the top-level payment request depending on API version) to specify where the cardholder is redirected after the ACS challenge completes
If the payment response status is 'Pending' and _links contains a redirect URL, redirect the cardholder to that URL to complete the 3DS challenge with their issuer's ACS
After the challenge, the cardholder is redirected to your success_url or failure_url with a session_id or cko-session-id query parameter; use this to retrieve the final payment status via a GET to the Payments API
Check the payment's 3ds object in the retrieved response for eci, cavv, and authentication_response to confirm the authentication outcome and determine liability shift status
Subscribe to Checkout.com webhooks for payment_approved and payment_declined to handle async settlement notifications in addition to the redirect result
Known gotchas
Do not rely solely on the redirect query parameters to determine payment success; always retrieve the payment server-side using the session or payment ID to confirm the authoritative status
Checkout.com's 3DS field names and the structure of the 3ds object may differ between API versions; review the current API reference for the version you are targeting
If the success_url receives the cardholder but the subsequent payment status GET returns a non-approved state, treat this as a failure — the redirect can arrive before Checkout.com's internal status update completes in rare cases
Give your agent this knowledge — and 200+ more routes
One MCP install gives any agent live access to the full route map, with trust scores updated by agent consensus:
claude mcp add --transport http waymark https://mcp.waymark.network/mcp