AVS/CVV перевірки і фрод-сигнали
1) Навіщо AVS/CVV в iGaming
AVS (Address Verification Service) і CVV/CVC - базові контролі card-not-present, які:- зменшують ризик фроду/чарджбеків по «No Auth «/« Fraud »,
- підвищують довіру емітента при первинних CIT,
- допомагають відсівати ботів/дропи до 3DS-челенджу,
- дає дані для policy-based роутингу і скорингу.
Важливо: AVS/CVV не замінюють 3DS2/SCA і токенізацію, але добре працюють разом.
2) Як це працює (в загальних рисах)
AVS: порівняння білінгової адреси клієнта (вулиця, індекс, іноді місто/штат) з адресою у емітента. Повертається код (match/partial/no match/unsupported).
CVV: перевірка коду на карті; повертається match/no match/not processed/issuer not certified.
Обидва результати приходять у відповіді авторизації від PSP/еквайєра (або в окремих полях вебхуків) і повинні логуватися без PAN, зв'язуватися з'payment _ id'.
3) Коди AVS (зведена логіка прийняття рішень)
Коди розрізняються між схемами і PSP, але практична нормалізація виглядає так:- Повний збіг: «Y» (вулиця + індекс) → сильний позитивний сигнал.
- Частковий збіг: «A» (вулиця ок, індекс немає), «Z» (індекс ок, вулиця немає), «W/X» (9-/5-значний ZIP), «D/M» (міжнародні збіги) → помірно позитивний.
- Немає збігу: «N» → негативний сигнал; можлива відмова або посилена перевірка/3DS.
- Недоступно/не застосовується: «U» (issuer unavailable), «R» (retry), «S» (AVS not supported), «G» (international not supported) → нейтральний/слабонегативний, рішення залежить від контексту.
- Високоризикові ринки/карти: вимагати ≥ часткового збігу або 3DS-challenge за замовчуванням.
- Низькоризикові клієнти з історією: пом'якшувати до допуску «partial match» без челенджу.
- Для підписок (MIT): AVS корисний на initial CIT; далі спирайтеся на 3DS-артефакти/токени та історію.
4) Коди CVV/CVC (нормалізація)
Match: «M» - сильний позитивний фактор (особливо для первинного запису карти).
No Match: «N» - сильний негатив; рекомендується відмова або обов'язковий 3DS-challenge.
Not processed/Not present: 'P '/' S'- слабонегативний, див. контекст (іноді емітент не підтримує або поле втрачено).
Issuer not certified/Unavailable: U - нейтральний/слабонегативний.
- Для CIT з'CVV = N'- зазвичай відхиляти (або відправляти в 3DS-challenge і перевірку).
- Для MIT (повтори) CVV не запитується; покладайтеся на зв'язок з initial CIT.
5) Зв'язка AVS/CVV ↔ 3DS/SCA і network-токени
3DS2 з успішним результатом (ECI/CAVV) забезпечує liability shift (в рамках правил), що зменшує значимість AVS/CVV як «обов'язкового» бар'єру, але:- AVS/CVV знижують ризик челенджу і підвищують шанс frictionless.
- При'AVS = N'і/або'CVV = N'- розумно насильно ініціювати 3DS.
- Network tokens (VTS/MDES/NSPK) і VAU/ABU підвищують AR і LTV; разом з AVS/CVV дають кращу картину ризику на initial CIT.
6) Фрод-сигнали: що збирати і як використовувати
Технічні/контекстні сигнали:- Device fingerprint (canvas/webgl/audio, шрифты, timezone, lang).
- Velocity: спроби оплати за вікно (по картці/акаунту/пристрою/IP/BIN).
- Гео-узгодженість: IP-країна vs BIN-країна vs білінг vs мова/валюта.
- Поведінкові патерни: швидкість введення, фокус полів, копіпаст, помилки CVV.
- Історія облікового запису: вік, AHT ігрових сесій, KYC-статус, повернення.
- Платіжні атрибути: MCC 7995, тип карти (prepaid/debit/credit), емітентський ризик.
- 3DS-метадані: method completion, dsTransID, частота челленджів у емітента.
- Будуйте композитний ризик-скор (0-100) з вагами: CVV, AVS, device, geo, velocity, 3DS-історія.
- 'score ≤ T1'→ frictionless (якщо доступно);
- `T1 < score ≤ T2` → challenge (3DS);
- 'score> T2'→ decline або ручна перевірка/альтернатива.
7) Матриця рішень (приклад для оркестратора)
8) Ретраї та UX-патерни
CVV-помилка (N): покажіть зрозуміле повідомлення «Перевірте код на карті», очистіть тільки поле CVV, не змушуйте вводити все заново.
AVS-розбіжність: запропонуйте перевірити індекс/вулицю, дайте підказки формату (ZIP-5/ZIP-9).
Soft-decline/SCA: автоматичний повтор з 3DS, без повторного введення карти.
Velocity-блок: короткий «cool-down» з таймером і порадою використовувати інший метод.
Альтернативи: A2A (банківські перекази), локальні гаманці по ринку.
9) Data & схеми зберігання (мінімум полів)
Зберігайте тільки безпечні метадані, без PAN/CVV:- `payment_id`, `psp_txn_id`, `token_id`, `bin`, `last4`, `scheme`, `issuer_country`
- `avs_result_normalized` ∈ {Y, PARTIAL, N, NA}
- `cvv_result_normalized` ∈ {M, N, NA}
- `risk_score`, `velocity_bucket`, `device_id`, `ip_country`, `bill_country`
- `threeDS`:{`version`, `eci`, `cavv`?, `method_done`:bool, `challenge`:bool}
- `decision` ∈ {approve, challenge, decline}, `reason`
- `route` (PSP_A/B), `was_retry`:bool, timestamps
10) Метрики та спостережуваність (KPI/SLO)
Якість і конверсія
Approval Rate за кластерами'AVS/CVV'( наприклад,'CVV = M&AVS = Y'vs'CVV = M&AVS = partial').
Frictionless% і Challenge success% при різних класах AVS.
Abandon rate на екранах введення CVV/адреси.
Ризик
Chargeback rate (fraud/consumer dispute) в розрізі AVS/CVV комбінацій.
Частка false positive: відмов при подальшій легітимності (за апеляціями/повторами).
Soft-decline → успішний повтор (після 3DS).
Техніка
Latency AVS/CVV перевірки (p95) і частка'U/S/G'( недоступно).
Спайки по'CVV = N','AVS = N'( алерти) в розрізі BIN/емітента/PSP.
11) Анти-патерни
Трактувати'AVS = U/S/G'як жорстку відмову на міжнародних BIN - втрата конверсії.
Вимагати AVS в країнах/банках, де він системно не підтримується.
Логувати сирі адреси без маскування і без цілей - ризик витоків/PII.
Хард-відхиляти'CVV = N'без аналізу частоти помилки введення (можливий чесний міс-тайп).
Ігнорувати 3DS-артефакти та історію клієнта при часткових збігах AVS.
12) Чек-лист впровадження
- Нормалізований словник кодів AVS/CVV за схемами/PSP.
- Політики прийняття рішень (approve/challenge/decline) за комбінаціями.
- Інтеграція з 3DS2: автоперехід в challenge при негативних AVS/CVV.
- Скоринг ризику: device, geo, velocity, історія клієнта, BIN-політики.
- UX-шаблони помилок (локалізація, збереження введених полів).
- Дешборди KPI і алерти по сплесках'N '/' U/S/G'.
- PAN-safe: hosted fields/iframe, токенізація; в логи - тільки метадані.
- A/B-тести порогів (T1/T2) і правил по ринках/емітентам.
- Плейбуки ретраїв/soft-decline і альтернативних методів оплати.
- Політики зберігання адрес/PII (GDPR/DSR), маскування, мінімізація.
13) Приклад політик по ринках (ескіз)
США/Канада (AVS сильний): 'AVS = Y'або'partial + 3DS/низький ризик';'AVS = N'→ challenge/decline.
ЄС (PSD2): упор на 3DS2 (frictionless де можна); AVS - сигнал для скорингу.
Міжнародні ринки з обмеженою підтримкою AVS: опора на 3DS + device/geo/velocity;'AVS = U/S/G'- нейтрально.
14) Резюме
AVS/CVV - це «перші фільтри» в CNP-платежах. Вони повинні працювати в зв'язці з 3DS2, токенізацією і ризик-скорингом, а рішення - прийматися по контексту, а не по одному коду. Нормалізуйте відповіді, будуйте скоринг, автоматизуйте перехід в 3DS, акуратно звертайтеся з адресами/PII і вимірюйте результат метриками. Так ви знизите фрод і чарджбеки, не вбиваючи конверсію.