Velocity limitləri və anti-sui-istifadə
1) Velocity nədir və niyə lazımdır
Velocity limitləri müəyyən vaxt pəncərələri üçün əməliyyatların tezlik və həcm məhdudiyyətləridir. Məqsəd:- bonusların/promosyonların istifadəsini azaltmaq,
- ödəniş infrastrukturunu «fırtına» retraylarından qorumaq,
- mümkün olan yerdə «sərt imtina» əvəzinə şübhəli cəhdləri çağırışa (3DS/SCA) köçürərək sağlam dönüşü saxlayın.
Velocity-controls scoring, AVS/CVV, 3DS2/SCA və smart-routing tamamlayır.
2) Məhdudlaşdırmaq üçün hansı mövzular (scopes)
Eyni anda bir neçə səviyyədə limitlər layihələndirin:- Ödəniş varlıqları: 'card _ token' (vault/network), 'bin', 'issuer', 'psp _ route'.
- Xüsusi: 'account _ id', 'kyc _ level', 'email/phone'.
- Texniki: 'device _ id' (fingerprint/SDK), 'ip', 'asn', 'session _ id'.
- Biznes konteksti: 'bonus _ id', 'campaign _ id', 'country', 'mcc 7995' alt tipi (depozit/çıxarış).
- Maliyyə: 'amount _ bucket' (mikro/orta/böyük), 'currency', 'payment _ method'.
3) Pəncərələr və sayğaclar
Sabit pəncərə (T = 15m/1h/24h) - sadə, lakin sərhədlərə həssasdır.
Sliding window - daha doğrusu, «sürüşmə» intervalında hesab edir.
Leaky bucket/Token bucket - sıçramaları hamarlaşdırın, sabit bant genişliyi təyin edin.
Kombinə: burst (qısa sıçrayış) + sustained (uzun axın).
- 'device _ id': 15 dəqiqə ərzində 3 ≤, 24 saat ərzində 10 ≤.
- 'card _ token': 3DS olmadan ardıcıl 2 decline ≤; üçüncüsü - məcburi 3DS.
- 'ip': ≤ 5 unikal 'card _ token' 1 saat (əks halda - kapça/blok).
- 'account _ id': ardıcıl olaraq ləğv edilmiş 2 depozit ≤; bundan sonra - kuldaun 1 saat.
4) Məhdudiyyət alqoritmləri (qısa)
Token Bucket (bursts imkan verir):- 'capacity' və 'refill _ rate' başlat.
- Hər cəhddən əvvəl 1 token «çıxarın»; tokenlər yoxdursa - challenge/decline.
- Növbə sabit sürətlə axır; gələn hadisələr dolur - throttle.
- 1-ci təkrar: 2-5 dəqiqə → 2-ci: 10-20 dəqiqə → 3-cü: 1-2 saat → stop, və ya alternativ üsula tərcümə.
5) Həll siyasəti (decisioning)
Velocity yoxlamalarının nəticələrini təsnif edin:- Allow: aşağı risk, həddində.
- Challenge: yumşaq həddi aşdı → 3DS/SCA/kapça/KBA (suallar).
- Throttle: şəffaf UX ilə müvəqqəti məhdudlaşdırmaq (kuldaun).
- Decline: kobud pozuntular (kütləvi kart, bot-pullar, bonus-sui-istifadə).
- Reroute: PSP/metod (məsələn, A2A) emitentin '91/96' sıçrayışında dəyişdirilir.
Mini matris nümunələri
'device _ id' cəhd ≥ 3 15 dəqiqə və 'cvv = N' ≥ 2 → Decline + kapça.
'card _ token' 2 soft-decline → 3DS-challenge (tələb olunur).
'ip' ≥ 5 unikal 'account _ id' 30 dəq → Throttle 30 dəq + KYC-yoxlama.
'account _ id' 10 dəq (karusel) üçün depozit-çıxarış-depozit → Çağırış və ya məbləğ üzrə limit.
6) Velocity depozitlər, retrajlar və nəticələr üçün
Depozitlər:- «Mikro doldurma» (bir çox kiçik əməliyyatlar) qoruyun: T. üçün miqdar və ümumi dövriyyə limiti.
- '05 '/' 14 '/' 54' ardıcıllığında - rekvizitlərin «həddindən artıq» olmasını dayandırın, 3DS-ə tərcümə edin.
- CIT və MIT növbələrini dağıtın. MIT üçün T + 1/T + 24h yumşaq pəncərələrdən istifadə edin.
- Soft-decline 'SCA required' → dərhal 3DS, cəhd yandırmayın.
- Məbləğ/tezlik üçün ayrı-ayrı limitlər: məsələn, ≤ 2 çıxış/24h və ≤ N cəmi/həftə.
- «Pilləkən» KYC: yoxlama nə qədər yüksəkdirsə, limitlər də bir o qədər yüksəkdir.
- Detekt «circling»: sürətli depozit və ani çıxarış - manual review/hold.
7) Anti-sui-istifadə promo və bonuslar
Per-campaign caps: 'bonus _ id' ≤ 'device _ id '/' ip '/' payment _ fingerprint' üzərində X aktivləşdirmələr.
«Çəngəllər» (hesablar arasında pul köçürülməsi): ümumi kartların/IP/cihazların qrafik təhlili.
Cool-off windows: bonus depozit sonra - ani çıxarılması qadağan, ToS şəffaf qaydaları.
Səviyyələrə görə sanksiyalar: müvəqqəti bloklamalardan «əbədi», səbəblər jurnalı ilə.
8) Memarlıq: velocity qaydaları yaşamaq harada
Real-time şluz (orkestratorda): həll ≤ 50-100 ms.
Sayğacların saxlanması: in-memory (Redis/KeyDB) + uzunmüddətli «hesabatlar» (DWH).
Fichestor: vahid pəncərələr/aqreqatlar (15m/1h/24h/7d).
Rule engine + ML skoring: model üzərində «safety-net» qaydaları.
bayraqları: «3DS daxil», «X regionda daha sərt», «PSP-A fasilə».
İdempotentlik: təkrarlama/taymaut zamanı dublikatlardan qorunma.
9) Qaydaların psevdokodu (eskiz)
pseudo on payment_attempt(ctx):
s = features(ctx) // device/ip/account/bin/score/avs/cvv/history if counter(device, 15m) >= 3 and cvv_fail(device, 15m) >= 2:
return DECLINE(reason="velocity_device_cvv")
if soft_declines(card_token, 1h) >= 2:
return CHALLENGE_3DS()
if uniq_accounts(ip, 30m) >= 5:
return THROTTLE(ttl=30m)
if score > T2 and velocity(account, 1h) > Vmax:
return DECLINE(reason="high_risk_burst")
return ALLOW
10) UX-patternlər (dönüşümü pozmadan)
Aydın mesajlar: "Qısa müddətdə çox cəhd. 15 dəqiqə sonra cəhd edin və ya bankda təsdiq edin".
Zamanlayıcı ilə «Daha sonra təkrarla» düyməsi.
Alternativ təklif: A2A/Trottling yerli cüzdan.
Avto-3DS SCA-soft-da rekvizitləri təkrar daxil etmədən.
Kapça yalnız nöqtəli (IP/ASN/bot siqnalları ilə), hamıya deyil.
11) Uyğunluq və məxfilik
GDPR/PII: minimum identifikatorları (cihaz hash, kart tokenləri, last4), şəffaf siyasətləri saxlayın.
PCI DSS: log heç bir PAN/CVV; həssas məlumat olmadan velocity-hadisə.
PSD2/SCA: total uğursuzluqlar əvəzinə, uyğun olduğu yerdə aşırımları challenge-ə köçürün.
12) Metriklər, Alertlər, SLO
KPI:- Approval Rate (ümumi və qaydalar işlədikdə).
- False Positive Rate velocity qaydaları (ədalətli bloklar payı → sonrakı legitimlik).
- «Fırtına» retras sayı və orta bərpa vaxtı.
- Uğurlu nəticə ilə decline → challenge-dən köçürmələrin payı.
- Limitlərin işlədiyi seqmentlərdə Chargeback rate (↓ gözləyirik).
- Spayk '05/14/54' + BIN/ASN klasterində 15 dəqiqə ərzində X cəhdlərinin artması.
- sıçrayış '91/96' → PSP-B-də T1 + routing həddinin avtomatik qaldırılması
- FP-rate qaydaları> hədəf (məsələn, 1. 5 × həftəlik media).
- Velocity həlli ≤ 100 ms p95.
- Hədəf ≥ imtina əvəzinə 3DS-ə köçürülmüş uğurlu ödənişlərin payı.
13) Anti-nümunələr
Bütün bazarlar və müştəri növləri üçün universal «total» limit.
AVS-in normal işləmədiyi ölkələrdə 'AVS = U/S/G' ilə bloklayın.
CIT/MIT ayırmayın - abunə/təkrar pozur.
Jitter və idempotentlik olmadan retraj - dubllar və fırtınalar.
Uğursuzluğun səbəblərini gizlətmək - sapport və toksiklik artır.
14) Giriş çek siyahısı
- Varlıqların xəritəsi (scopes) və pəncərələr (15m/1h/24h/7d).
- Alqoritmlərin seçimi: bursts üçün sliding + token bucket.
- Retrajların normallaşdırılması: backoff + jitter, CIT/MIT üçün ayrı.
- 3DS/SCA ilə inteqrasiya: yumşaq aşırımlarda auto-challenge.
- Çıxarışlar və bonuslar üçün ayrı-ayrı limitlər; qrafik-yoxlama əlaqələri.
- Müşahidə: KPI dashboard/alert/audit qaydaları.
- UX mesaj şablonları və alternativ üsullar.
- PCI/GDPR siyasətləri: tokenlər, maskalanma, PII-nin minimuma endirilməsi.
- /BIN/ASN bazarları və müştəri profilləri üzrə A/B-eşik testləri.
- Playbook insidentlər: emitent/PSP deqradasiya, bot sıçrayış.
15) Xülasə
Effektiv velocity limitləri müxtəlif xüsusiyyətlərə görə çox səviyyəli pəncərələr və sayğaclar, hamarlama alqoritmləri (token/leaky bucket), ağıllı retrajlar və 3DS/SCA və skorinq ilə sıx əlaqədir. Belə bir kontur frod və sui-istifadəni azaldır, dönüşü boğmur və emitentlərin və trafikin dəyişkənliyi ilə sabit monetizasiyanı saxlamağa kömək edir.