1. 3DS Authentication
Kushki Docs
English
  • Español
  • English
  • Home
  • Quick Start
    • Frequently Asked Questions
    • Moving to Production
    • Policy for Important API Changes
    • Test Data
    • Error Codes
    • Latest Features
  • Payment Glossary
    • Payments Glossary
  • One-time card payments (Online)
    • Supported card brands
    • Functionalities by business model
    • Network Tokens
    • One-step Payments
      • How do Card Payments Work?
      • Accept a Card Payment
      • Direct charge (without token)
      • Accept One-Time Payments with OTP
      • OTP Authentication Error Codes
      • Error codes for single card payments
    • Two-steps Payments
      • How do one-time payments with authorization and capture work?
      • Receive payments with authorization and capture
    • Refunds
      • Returns, cancellations, and refunds
    • 3DS Authentication
      • Introduction to 3DS
      • 3DS API integration
      • 3DS integration with kushki.js library
      • 3DS API integration plus kushki.js library
      • 3DS Error Codes
    • Apple Pay Payments
      • Apple Pay Configuration
      • Apple Pay Sandbox testing
  • Recurring Card Payments (Online)
    • Functionalities by business model
    • External subscriptions to Kushki
    • Authenticate your subscriptions with 3DS
    • Accept one-click payments with 3DS
    • Error codes in recurring charges
    • Scheduled payments
      • How do Credit or Debit Card Payment Recurring Charges Work?
      • Schedule a recurring charge
      • Manage your Scheduled Charges
    • OneClick Payments
      • Accepting One-Click Payments
      • How does authorization and capture work in OneClick payments?
      • Receive OneClick payments with authorization and capture
  • Card-present payments
    • Accept card present payments
    • Test data
    • Webhooks for card present
    • Raw card-present API
      • Raw card-present API overview
      • Cryptographic key exchange
      • Sample script to encrypt information
      • Take Payments
      • Frequently Asked Questions
      • Error codes for card-present transactions
    • Kushki One
      • First Steps
      • Autenticación y Cifrado de Requests
      • Accept payments with Kushki One
      • Amount Format
      • Async services and webhooks
      • Printing on SmartPOS terminal
      • Unified Error Catalog — Kushki ONE Connect
    • Kushki One Payment App
      • Overview
      • Process a payment
      • Split payment on the terminal
      • Refunds and PreAuth & Capture
      • Review Your Transactions
      • Terminal Setup
    • Transactions
      • Transactions
      • Cancel payments
  • Wire Transfers
    • Banks and transaction details for bank transfer payments
    • Receive Wire Transfers
    • Check the Status of a Transaction
    • Error Codes for Transfers
  • Cash Payments
    • How do Cash Payments Work?
    • Accept a Cash Payment
    • Authorized locations
    • Error Codes for declined cash transaction
  • Alternative payment methods (APM)
    • How do APM payments work?
    • Accept Bre-B payments
  • Money Disbursement
    • Payment Distribution
    • Recharge your balance for dispersions
    • Wire Transfer
      • How Does a Payment Distribution by Wire Transfer Work?
      • Payment Distribution to Bank Accounts
      • Disburse with Bre-B
      • Error codes for transfer dispersions
    • Cash
      • How does payment distribution in cash work?
      • Distribute Payments in Cash
      • Manage your Payment Distribution Transactions
  • Plugins
    • Shopify
      • Shopify
      • Plugin Operation
    • VTEX
      • VTEX Integration Guide
  • Payment Links
    • Smartlinks
  • Payment forms and buttons
    • Kajita
      • How Does it Work?
      • Payment Kajitas
    • Payment Button
      • Overview
      • Generate a payment button
  • Branch Offices Management
    • How to Onboard Submerchants via API
  • Notifications
    • Good Practices
    • Check your Webhooks
    • One-time Payments Webhooks
      • Webhook for One-Time Payments made with a card
      • Webhook for One-Time Payments by Wire Transfer
      • Webhook for One-Time Payments in Cash
    • Recurring Payments Webhooks
      • Webhook for Recurring Payments Made with Card
    • Payment Distribution Webhooks
      • Webhook for payment disbursement through wire transfer
      • Webhook for Payment Distribution in Cash
    • Payment button Webhooks
      • Webhooks with Payment Button
    • Smartlinks Webhooks
      • Webhooks with Smartlinks
    • Refunds Webhooks
      • Webhook for Voids and Refunds
      • Chargeback Webhooks
HomeMexico 🇲🇽Ecuador 🇪🇨Chile 🇨🇱Colombia 🇨🇴
Peru 🇵🇪
HomeMexico 🇲🇽Ecuador 🇪🇨Chile 🇨🇱Colombia 🇨🇴
Peru 🇵🇪
Status
Soporte / Support
English
  • Español
  • English
  1. 3DS Authentication

Introduction to 3DS

This functionality is available for the following models:
☑ Acquirer

☑ Aggregator
Do you have your own 3DS authentication engine?
If so, please make sure to send the threeDomainSecure object in the payment request to proceed with the payment authorization.

Introduction#

For the security of your merchant, the Kushki fraud prevention team will request you to activate the 3DS authentication when receiving card payments.
By having the 3DS authentication service active, your customers will be requested to complete an extra verification step (from now on, challenge) with the card issuer to complete certain transactions. This challenge usually consists of an OTP sent by the bank to your customer's e-mail address or telephone number.

3DS Validation Availability#

Check below for the availability of 3DS validation with the affiliation and integration models available in Kushki.

By affiliation models#

3DS validation is available when processing transactions with the following card brands:

Aggregation/Gateway#

Credit and debit cards
VisaMastercardAmerican ExpressDiners
Colombia 🇨🇴        -       -        -
Chile 🇨🇱        -          -         -         -
Ecuador 🇪🇨 (Onlye Gateway)YesYes         -         -
Perú 🇵🇪YesYes          -          -
México 🇲🇽YesYes          -         -

Acquiring#

Credit and debit cards
VisaMastercardAmerican ExpressDiners
Colombia 🇨🇴YesYes      -        -
Chile 🇨🇱YesYes       -        -
Perú 🇵🇪YesYes       -        -
México 🇲🇽YesYes       -        -

Availability by integration method#

3DS validation is available in the following integration methods:
Shopify integration
Smartlink Integration
Kajita Integration
Android Integration (SDK)
iOS Integration (SDK)
Payment button integration
Kushki.js integration
Kushki.js Hosted Fields integration
API Integration

How does the 3DS authentication work?#

Once the user fills out the form and clicks on the Pay button, Kushki will validate if 3DS authentication is required for the transaction. If this validation is required, your customer will be displayed a challenge whose experience may vary depending on the brand and the issuing bank. When your customer completes the challenge, they will be able to finalize the transaction.
The 3DS authentication flow with Kushki is shown below:
3DS Flujo pagos únicos EN
Important
Keep in mind that, due to our risk policies, the available payment methods and the integration type may vary once you complete the affiliation. We will tell you how to proceed in case this process applies to your merchant.
This is what a payment with 3DS authentication will look like:
3DS

100% API integration
If you are a PCI-certified merchant or PSP, you will be able to authenticate your one-time card payments with 3DS by consuming our API.
Integration via Kushki.js
Use this option if you have implemented or plan to implement kushki.js in your front-end and want to authenticate your transactions with 3DS.
Modificado en 2026-10-14 19:54:36
Anterior
3DS Authentication
Siguiente
3DS API integration
Built with