Logo GH

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) Матриця рішень (приклад для оркестратора)

УмоваДіяПримітка
CVV=M и AVS=YПродовжити без челенджа (якщо ризик-скор низький)Найкращий сценарій
CVV=M и AVS=partial (A/Z/W/M)Дозволити; 3DS за ризиком/сумою/геоКомбінуйте з device/velocity
CVV=NВідхилити або 3DS-challenge (якщо політика дозволяє)Для CIT майже завжди відмова
AVS=N (CVV=M)Увімкнути 3DS; при soft-decline → повторМожливі чесні mismatch (міждунар.)
AVS=U/S/G/RРішення по швидкій і BIN-країніНе карати там, де AVS системно не працює
Високий velocity/неузгоджений GEO3DS + посилена антифрод-перевіркаМожливий роутинг до PSP з кращим AR по BIN

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 і вимірюйте результат метриками. Так ви знизите фрод і чарджбеки, не вбиваючи конверсію.

Contact

Зв’яжіться з нами

Звертайтеся з будь-яких питань або за підтримкою.Ми завжди готові допомогти!

Telegram
@Gamble_GC
Розпочати інтеграцію

Email — обов’язковий. Telegram або WhatsApp — за бажанням.

Ваше ім’я необов’язково
Email необов’язково
Тема необов’язково
Повідомлення необов’язково
Telegram необов’язково
@
Якщо ви вкажете Telegram — ми відповімо й там, додатково до Email.
WhatsApp необов’язково
Формат: +код країни та номер (наприклад, +380XXXXXXXXX).

Натискаючи кнопку, ви погоджуєтесь на обробку даних.