Төлем логикасындағы блэклистер мен блок-парақтар
TL; DR
Блэклист/блок-парақ - бұл төлем пайплейніндегі «қатаң» және «жұмсақ» тыйым салулардың басқарылатын қабаты. Оның құндылығы - көрінеу тәуекелді сәйкестендіргіштерді (карталар, IBAN, крипто-мекенжайлар, құрылғылар, IP және т.б.) қымбат тексерулер мен есептен шығару әрекеттеріне дейін тез кесіп тастау. Тиімділіктің кілті - нақты деректер моделі (әрекет ету мерзімі, дереккөз, себеп, юрисдикция, сенімділік деңгейі), күшті кэшпен және аудитпен оқшауланған сервис, келісілген TTL/рақымшылық саясаты, сондай-ақ «hit-rate overblock» метрикасы.
1) Терминдер мен айырмашылықтар
Blacklist/Deny-list/Блок-парақ - операция қатаң ауытқитын сәйкестендіргіштер жиынтығы (HARD BLOCK).
Stop-list (контекстік) - нақты мәтінмәндегі бұғаттау (мысалы, тек тұжырымдар үшін, тек X елінде, тек сомасы үшін> € Y).
Watchlist/Greylist - «бақылау»: операция бірден ауытқымайды, бірақ STEP-UP (3DS/OTP/қосымша. KYC) немесе Manual Review.
Allow-list/White-list - сұр сигналдардан асып түсетін айқын рұқсат (мысалы, VIP, расталған банк-аккаунт).
Negative List (ішкі) - ішкі инциденттер негізіндегі тізім (чарджбэки, бонус-абьюз, санкциялық сәйкестіктер, мультиаккаунтинг).
2) Нақты не «парақ»: идентификаторлар
Төлем деректемелері
Карта: PAN-токен/FPAN-хэш, BIN, эмитент/ел (гео-саясаткерлер үшін), мерзімі, тасығыштың атауы (қосымша, хэш/фаззи).
Банктік: IBAN/BIC, шот/routing (ACH/SEPA), иесінің аты (қалыпқа келтірілген хэш).
E-wallet/финтех: әмиян (PayPal/Skrill/Neteller және т.б.), UPI/PIX ID, Open-Banking PISP-төлеуші.
Крипто: L1/L2 мекен-жайлары, белгілер (mixer/санкциялар/жоғарыориск), тізбек (ETH/BTC/TON және т.б.).
Коммуникациялық және мінез-құлық
Email/телефон (қалыпқа келтірумен, «бір реттік» домендерді және қайта бөлінетін нөмірлерді есепке алу).
Құрылғы/браузер-фингерпринт, клиенттік кілт, mobile-ID.
Желілік: IP (ASN/прокси/VPN/дата-орталық) ,/24-кіші желілер, гео-локейшн.
Аккаунттық және контрагенттік
UserID/CustomerID, серіктес/аффилиат, промо-дереккөз.
PSP/MID/Acquirer (бағыттар бойынша операциялық бұғаттау үшін).
Мекен-жайы/ТАӘ (хеш-қалыпқа келтіру, fuzzy-matching).
3) Тізімдерді толықтыру көздері
Ішкі оқиғалар: чарджбэки, фрод-алерты, бонус-абьюз (мультиаккаунт, скоринг «бонус алды - айналымсыз шығарды»), санкциялық сәйкес келулер, self-exclusion/MLRO-жалаулар.
Сыртқы көздер: PSP/эквайерлердің жағымсыз парақтары, консорциумдық базалар (shared fraud intel), крипто-белгілер бойынша провайдерлер, BIN-базалар, тәуекел модельдері.
Қағидалар және қолмен енгізу: комплаенс/тәуекел-офис шешімдері, инцидентке «freeze».
4) Деректер моделі (ең аз жеткілікті)
json
{
"key": "card:pan_token:9c4f...e1",
"scope": {
"action": ["deposit","withdrawal","payout"],
"jurisdiction": ["EEA","CA-ON"],
"product": ["casino","sports"]
},
"policy": "deny stop observe allow",
"reason_code": "CHARGEBACK BONUS_ABUSE SANCTION_MATCH MFA_BYPASS KYC_FAIL CONSORTIUM_HIT",
"source": "risk_engine psp_x mlro consortium",
"confidence": 0. 92,
"created_at": "2025-10-01T12:30:00Z",
"expiry_at": "2026-01-01T00:00:00Z",
"ttl_days": 90,
"review_after": "2025-12-01T00:00:00Z",
"metadata": {
"case_id": "INC-2025-10344",
"notes": "2 CB in 45 days; bonus cycling through 3 wallets,"
"hash_algorithm": "sha256+salt",
"tenant": "brand_A"
}
}
Міндетті өрістер: 'key', 'policy', 'reason _ code', 'source', 'created _ at', 'expiry _ at/ttl'.
Жақсы тәжірибе: scope (әрекет/юрисдикция/өнім) және confidence (жұмсақ саясат үшін) сақтау.
5) Тізім сервисінің архитектурасы
ListService қызметі (барлық микросервистер үшін «ақиқат» мәртебесі).
API:- `GET /v1/list/check? key =... & ctx =... '- синхронды тексеру (p99 <5-10 ms Redis).
- 'POST/v1/list/upsert' - валидациямен және аудитпен жаппай/жеке жазба.
- 'POST/v1/list/bulk' - dry-run бар CSV/NDJSON жүктеулері.
- 'POST/v1/list/review/: id' - таңбалау/рақымшылық/ұзарту.
- Сақтау орны: Redis (ыстық кэш, TTL) + Postgres (тарих/аудит) + DLQ/event-sourcing және репликация үшін лог-шина (Kafka).
- Қол жетімділік: write - RBAC + сезімтал кілттерге (банктік/крипто) 4 көзбен бақылау арқылы тек тәуекел/комплаенс/MLRO.
- Сенімділік: сәйкестендірілген upsert, жазбаларды нұсқалау, оқиғалар конвейерінде exactly-once, KMS/HSM шифрлау.
6) Тексерулерді қайда кірістіру керек
1. Төлем құралын тіркеу/байланыстыру - «өртелген» деректемелер үшін ерте Deny.
2. Депозит (бастама) - әдейі нашар кілттер бойынша авторизация үшін төлемеу үшін 3DS/OTP дейін жылдам Deny/Stop.
3. Шығару/төлеу - payout-деректемелер үшін жеке тізімдер (IBAN/крипто-мекенжайы); кіруге қарағанда жиі қатал.
4. Деректемелерді өзгерту - step-up + check; «шығару алдындағы шотты ауыстырудан» қорғау.
5. Бонустық операциялар - абьюз схемалары (мультиаккаунт, құрылғы тізбегі) бойынша observe/stop.
7) Саясат (HARD/SOFT) және TTL
HARD (deny/stop): санкциялар, расталған фрод, қайталама чарджбэктер, ұрланған карталар, қашарлар кезінде қолданыңыз.
SOFT (observe/step-up) кезінде: әлсіз сигналдар (жаңа IP/құрылғы, «суық» e-mail-домен, high-velocity), «күмәнді» BIN/ASN.
- Чарджбэк: 180-540 күн (схемалар мен тәуекелге байланысты).
- Бонус-абьюз: 90-365 күн (қайта қараумен).
- Санкциялар: тізімдерді мерзімді синхрондаумен мерзімсіз.
- Рақымшылық: сәтті ҚҰК/« таза »ойын тарихынан кейін ≥ күн және инцидентсіз - автоматты түрде observe дейін төмендету немесе алып тастау.
8) Шешімдер және эскалация (Decision Matrix)
9) Онлайн тексерудің жалған құжаты
python def is_blocked(keys: list[str], ctx: dict) -> Decision:
keys: ["card:pan_token:..", "ip:..", "device:..", "iban:.."]
ctx: {"action":"withdrawal","jurisdiction":"EEA","product":"casino","amount":1000}
hits = list_service. batch_check(keys, ctx) # из Redis + fallback PG if any(h. policy in ["deny","stop"] for h in hits if h. in_scope(ctx)):
return Decision(block=True, reason=top_reason(hits))
if any(h. policy == "observe" for h in hits if h. in_scope(ctx)):
return Decision(block=False, step_up="3DS_or_KYC", reason="OBS_HIT")
return Decision(block=False)
10) Тәуекел-қозғалтқышпен және төлем шинасымен интеграциялау
Тәуекел-қозғалтқыш алдымен ListService, содан кейін - скоринг/ML/ережелерді оқиды.
Пайплайндағы тәртіп: 'Pre-auth → ListService (hard/soft) → 3DS/OTP → Auth → Clearing'.
Маршруттау: PSP-роутинг деңгейінде, егер 'MID '/' BIN' провайдерлердің блок-парағына түссе, арналарды/аквайерлерді «нөлдеуге» болады.
Оқиғалар: әрбір шешім ('DENY/STOP/OBSERVE/ALLOW') аудит және ML-ді толық оқыту үшін Kafkаға кетеді.
11) Операциялар мен процестер
Жаппай жүктеулер: CSV/NDJSON валидациясы және симуляциясы бар (қанша операция әсер етеді).
Ревью: ұзарту/алу үшін күнделікті іріктеме; Кейстерді өңдеуге арналған SLA.
Қайшылықтар: Егер 'ALLOW' және 'DENY' бір уақытта болса, анық VIP-override ережесінен басқа most-restrictive ережесін қолданыңыз.
Нұсқалау: кез келген түзету - жазбаның жаңа нұсқасы; ескі жай-күйі тергеу үшін сақталады.
Оқиғалар: reason_code үлгілері, тикеттермен байланыс (Jira/Case-ID).
12) Сапа және мақсат өлшемдері
Hit Rate (HR) = кез келген тізімге түскен операциялардың үлесі.
Hard-Hit Rate (HHR) = қатаң оқшауланған үлес.
Overblock Rate (OBR) = «жалған» бұғаттаулардың үлесі (келесі валидті төлеуші).
CB-Uplift ↓/Fraud-Loss ↓ енгізілгеннен кейін.
Approval Rate (AR) депозиттерге/қорытындыларға.
Time-to-Wallet (TTW) soft-шараның (step-up) төлем жылдамдығына әсері.
Онлайн чектер үшін Time-to-Decision (p95/p99).
13) Заңдық және жекешелiк
Өңдеудің негізі: заңды мүдде/құқықтық міндет (AML/санкциялар/фрод-превенция).
Барынша азайту: бастапқы деректердің (PAN/IBAN) орнына хэштер/токендерді сақтаймыз, тұздаймыз, кіруді бақылаймыз.
Сақтау мерзімі: TTL + жалпы retention саясаты (AML/бухгалтерлік есеп/реттеуіш).
Субъектілердің құқықтары: DSAR процесі/жою (комплаенс-ерекшеліктерді ескере отырып).
Трансшекаралық: өңірлер/тенанттар арасындағы репликацияның нақты шекаралары.
14) Жиі қателер және оларды болдырмау
IP/ASN бойынша оверблок: дата-орталықтар/CGNAT → сигналдар тіркесімін пайдаланыңыз (IP + құрылғы + мінез-құлық).
Дербес деректердің жабысуы: e-mail/телефонды қалыпқа келтіріңіз, нөмірлердің рециклингін ескеріңіз.
Карталарды рециркуляциялау (PAN реэмиссиясы): «шикі» деректер бойынша емес, PAN-токен/крипто-токенизация бойынша байланыстыру.
Үй шаруашылығының жалпы IBAN: global deny орнына scope (тек payouts) және observe қолданыңыз.
Крипто-мекенжайлар: бәрін қатар бұғаттамаңыз; белгілерді/контексті (биржалар, кастодиандық әмияндар) ескеріңіз.
15) Бонус-абьюзбен және лимиттермен байланыс
Бонус үлгілері: бір әмиян/мекенжайы → көптеген шоттар, айналымсыз жылдам шығару - payouts-та stop/deny.
Лимиттер және TtW: «observe» жоғары айналымды/ұзартылған TtW ревьге дейін талап етуі мүмкін.
16) Кілттердің үлгілері (каноникалық нысандар)
card:pan_token:<sha256>
iban:<sha256>
wallet:skrill:<normalized_id_hash>
upi:<vpa_hash>
pix:<pix_key_hash>
crypto:eth:<address_lower>
email:<local+domain_hash>
phone:+<E164_hash>
device:<fp_hash>
ip:<ipv4/6 or /24>
asn:<asn_id>
affiliate:<id>
psp:mid:<id>
17) Бақылау тізімдері (енгізу чек-парағы)
1. policy set: deny/stop/observe/allow + reason_codes.
2. Деректер схемасы: кілттер, scope, ttl/expiry, confidence, audit.
3. Сәулет: Redis + PG + Kafka, idempotency, 4 көзді бақылау.
4. Ағынға кірістіру: pre-auth check, step-up, payout-hardening.
5. Метриктер/дашборд: HR/HHR/OBR/AR/TTW, юрисдикциялар/арналар бойынша тіліктер.
6. Процестер: ревю/рақымшылық, жаппай жүктеулер, DSAR, инциденттер.
7. Командаларды оқыту: саппорт/тәуекел/қаржы, дауларды шешу плейбуктері.
18) Шағын ойнатқыштар
BIN X → бойынша CB уақытша stop (deposit) 'bin: X' + reroute бойынша басқа эквайерге, 48 сағ.
Шығару алдында деректемелерді ауыстыру → stop (withdrawal) + KYC-step-up + бенефициарды верификациялау.
Әмиян бойынша консорциумдық хит → observe депозиттерге, stop на payouts до MLRO-ревю.
Ел бойынша санкциялық жаңалықтар Y → country-scope жаңарту, payouts-те deny қосу, тізімдерді қайта санау.
19) Әкімшілік панелі интерфейсінің мысалы (логика)
Кілт/маска бойынша іздеу, сүзгілер: policy, scope, reason, source, expiry <30d.
Кнопки: Amnesty, Extend TTL, Lower to Observe, Convert to Deny, Add Allow.
dry-run жаппай әрекеттері: жаңа ережелерге қанша операция түсетінін көрсету.
20) Түйіндеме
Блок-парақтар - бұл жай ғана «тыйым салу кестесі» емес, платформа деңгейінің сервисі: нақты деректер моделі, күшті кэш, аудитория, сауатты TTL және айқын ревю процестері бар. Тәуекел-қозғалтқышпен дұрыс интеграцияланған жағдайда олар конверсияны бұзбай, фрод құйғышын тарылтады және ол қауіпсіз жерде төлемдерді жылдамдатады.