Как работает 3-D Secure 2.0 (3DS2): Полное руководство

Cloned Boy

Professional
Messages
857
Reaction score
695
Points
93
Актуальная версия протокола для безопасных онлайн-платежей.

1. Что такое 3DS 2.0?​

3-D Secure 2.0 — усовершенствованный протокол аутентификации для онлайн-платежей, пришедший на смену устаревшему 3DS 1.0. Разработан платежными системами (Visa, Mastercard, Mir) для:
  • Соответствия PSD2 (требование SCA — Strong Customer Authentication в ЕС).
  • Снижения мошенничества без ущерба для удобства пользователей.

2. Ключевые отличия от 3DS 1.0​

Параметр3DS 1.03DS 2.0
АутентификацияТолько SMS/парольБиометрия, push-уведомления, поведенческий анализ
ИнтеграцияПереход на страницу банкаВстроенная проверка в приложении/сайте
Данные для анализаМинимум100+ параметров (устройство, история покупок)
SCA (PSD2)Не соответствуетПолное соответствие

3. Как работает 3DS 2.0: Пошаговый процесс​

Шаг 1. Инициализация транзакции​

Пользователь вводит данные карты на сайте → мерчант отправляет запрос в платежную систему (Visa/Mastercard).

Шаг 2. Сбор данных (Risk-Based Authentication)​

Платежная система анализирует 150+ параметров для оценки риска:
  • Данные устройства: IP, ОС, браузер, цифровой отпечаток.
  • История покупок: Частота, суммы, геолокация.
  • Контекст платежа: Тип товара, поведение пользователя.
Пример параметров:
JSON:
{
"device": {"os": "iOS 16", "ip": "192.168.1.1", "screen_resolution": "1125x2436"},
"transaction": {"amount": 100, "currency": "EUR", "merchant_category": "electronics"}
}

Шаг 3. Принятие решения​

Система выбирает один из сценариев:
  1. Без аутентификации (Low Risk):
    • Малые суммы (<€30 в ЕС), доверенные мерчанты.
  2. Прозрачная аутентификация (Frictionless Flow):
    • Проверка через токен/биометрию без ввода кода.
  3. Полная аутентификация (Challenge Flow):
    • Требуется ввод OTP, сканирование лица (Face ID) или подтверждение в приложении банка.

Шаг 4. Подтверждение платежа​

  • Для Challenge Flow:
    • Пользователь подтверждает платеж в мобильном приложении банка (например, через push-уведомление).
    • Или вводит код из SMS (редко, только для старых карт).

Шаг 5. Завершение транзакции​

  • После успешной аутентификации мерчант получает криптографический токен (заменяет номер карты).
  • Деньги списываются.

4. Технические инновации 3DS 2.0​

4.1. Токенизация​

  • Номер карты заменяется на одноразовый токен (например, tok_9s7dFg34).
  • Даже при утечке токен бесполезен для повторного использования.

4.2. App-Based Authentication​

Банки могут использовать:
  • Биометрию (Face ID, Touch ID).
  • Подпись транзакции через мобильное приложение (без SMS).

4.3. Снижение трения (Frictionless Flow)​

Для надежных пользователей платеж проходит без дополнительных шагов (на основе доверия к устройству/мерчанту).

5. Примеры из практики​

Кейс 1: Покупка на €50 в ЕС​

  1. Пользователь вводит данные карты.
  2. Система проверяет:
    • Устройство известно (используется 2 года).
    • Покупка в знакомом магазине.
  3. Результат: Платеж одобрен без ввода кода (Frictionless Flow).

Кейс 2: Подозрительная транзакция​

  1. Новая карта + IP из другой страны.
  2. Действие: Требуется Face ID в приложении банка.

6. Как тестируют 3DS 2.0?​

Для разработчиков и QA:
  • Сандбокс-среды:
    • Visa Sandbox (тестовые карты и сценарии).
    • Stripe 3DS2 Testing.
  • Коды ответов:
    • Y – успех.
    • N – отказ.
    • U – ошибка.
Пример тестовой карты для 3DS2:
  • Номер: 4000 0000 0000 1000 (Visa, всегда требует аутентификацию).

7. Ограничения и обходные пути мошенников (Для защиты!)

  • Слабые места:
    • Старые карты без поддержки 3DS2.
    • Фишинговые атаки на OTP (но биометрия снижает риск).
  • Защита:
    • Банки блокируют транзакции без 3DS для высокорисковых операций.

Вывод​

3DS 2.0 — это:
✅ Безопасность: Соответствие PSD2, защита от фрода.
✅ Удобство: Минимум шагов для надежных платежей.
✅ Гибкость: Поддержка биометрии, токенов и ML-аналитики.

Для интеграции:
  • Используйте SDK Stripe/Adyen.
  • Тестируйте в Visa/Mastercard Sandbox.

Нужны детали по настройке 3DS2 для вашего сайта? Или примеры кода для проверки? Спрашивайте!
 
Last edited:
Top