To’lovlar va failover
To’lovlar va failover
1) Nima uchun bu zarur?
Konvertatsiya: to’g "ri kanal/PSPni BIN/bank/geo/xavf bo’yicha tanlash Auth Rate-ni 5-15 p.p. oshiradi.
Qiymati: «muvaffaqiyat × komissiyasi» bo’yicha dinamik tanlov effective rate ni 10-30 bps ga kamaytiradi.
Barqarorlik: PSP/3DS/banklarning qulashidan izolyatsiya qilish; qisman uzilishlar bo’lganda qabul qilish va to’lovlarni davom ettirish.
Komplayens/RG: yo’nalishda limitlar, geo-cheklovlar, o’z-o’zidan istisnolar va sanksiya qoidalarini moslashuvchan amalga oshirish.
2) Maqsadli arxitektura (qatlamlar)
1. Checkout Layer - valyuta/usullarni mahalliylashtirish, APM discovery, 3DS UX.
2. Payment Orchestrator (Rule Engine) - marshrutlash, smart retry, idempotentlik, circuit-breaker.
3. Risk/KYT Engine - device/behavior, sanksiyalar/PER, velocity, RG-limitlar, 3DS-siyosat.
4. Compliance Hub - KYC, sanksiya provayderlari, affordbiliti/limitlar, auditlar.
5. Wallet & Ledgers - pul va o’yin leggerlari, bonus-passivlar, multivalyuta.
6. Reconciliation & Reporting - T + 0/T + 1 solishtirma, reason codes, soliq reyestrlari.
7. Observability & Security - metriklar/logs/traces, alertlar, RBAC, PCI-segmentatsiya.
8. Data/ML - tavakkalchilik skoringi, banklar/usullar bo’yicha konversiyani bashorat qilish.
3) Ma’lumotlar modeli va idempotentlik
Payment Intent (PI): amount, currency, method, geo, BIN, , , , status.
Idempotentlik: har bir hop (PSP-A → PSP-B) bir idempotency_key bilan bajariladi; qo’ng’iroqlarni takrorlash ledjerning holatini o’zgartirmaydi.
Route Journal: yo’nalishlar va javoblar jurnali (PSP id, reason code, latency, 3DS-flou, fee) A/B va modellarni o’qitish uchun zarur.
4) Yo’naltirish algoritmi (etalon)
4. 1 Qabul qilish (Acquiring)
1. Pre-score: GEO, BIN/IIN, bank-emitent, qurilma, chek, tavakkalchilik, RG-maqom.
2. Komplayens filtrlari: sanksiyalar/PER, geo-bloklar, yoshi/o’zini istisno qilish.
3. Qiymat/muvaffaqiyat qoidalari: score = w1· AuthRate + w2· (− Fee) + w3· Health − penalties.
4. 3DS siyosati: TRA/whitelisting/step-up, challenge vs frictionless.
5. Yo’nalishni tanlash: PSP-A → (nosozliklarda/xatolarda) → PSP-B → muqobil usul (APM/open banking).
6. Smart Retry: 3DS rejimini o’zgartirish, MID, mcc/fallback, reason codes bo’yicha taym-bekoff (05/51/62 ≠ 91/96).
7. Post-processing: Route Journalga yozish, tarozini yangilash.
4. 2 To’lovlar (Payouts)
1. Ustuvorlik: tezlik (instant/near-instant), qiymati, foydalanish imkoniyati.
2. KYT/AML/RG: velocity, "o’g" irlangan "patternlar, limitlar, mablag’manbai, istisnolar ro’yxati.
3. card-to-card OCT/RTP/Faster Payments/SEPA Instant/Pix/UPI.
4. Failover: queued payouts bank/PSP mavjud bo’lmaganda, davriy drain navbati.
5. Confirmation: webhooks imzosi, tafovutlarni qoplash.
5) Failover-patternlar
5. 1 Circuit-breaker
Lokal (PSP): error_rate↑, latency ↑, spike in declines (issuer-specific).
Global (usulga): tarmoq nosozligida (masalan, yirik bankda ACS/3DS).
Holatlar: Closed → Open → Half-open; vaqt-autlar va chegaralar GEO/BIN segmentlari bo’yicha beriladi.
5. 2 Active-Active vs Active-Passive
Active-Active: parallel PSP/usullar; qoidalar/qiymat bo’yicha balanslashtirish; eng yaxshi RTO/RPO.
Active-Passive: vositachilik/qo’llab-quvvatlash bo’yicha tejash, lekin RTOdan uzoqroq; ikkilamchi GEO/usullar uchun yaroqli.
5. 3 Degradation Modes
High-risk usullarini uzib qo’yish, trafikning bir qismini open banking/APMga o’tkazish.
«Yonayotgan» BIN-lar/banklar uchun majburiy 3DS challenge-all.
Summa/chastota uchun vaqtinchalik limit (RG + xavf).
6) 3DS/SCA bilan ishlash (dinamik)
Frictionless default bo’yicha past xavf/kichik cheklarda, challenge - high-riskda.
Istisnolar PSD2: LVA, MOTO, MIT - ilovada emas, balki orkestratorda.
Fallback: ACS degradatsiyasida - challenge rate yoki vaqtincha trafikni muqobil usulga (open banking) o’tkazish.
KPI: challenge rate, frictionless share, post-3DS approvals.
7) Antifrod/KYT/RG bilan integratsiya
Yo’naltirishdan oldin - skoring (device, xulq-atvor, proxy/VPN, BIN-xavf, tarix).
Yo’naltirishda - risk_score bo’yicha 3DS/kanal/PSPni tanlash.
To’lashdan oldin - KYT/velocity/anti-arb (tezkor win → withdraw, ko’p karta, bog’langan qurilmalar).
RG-limitlar va o’zini istisno qilish - orkestrator darajasidagi «qattiq» stop-qoidalar.
8) Kuzatuv va ma’lumotlar
Real vaqt metrikasi: auth_rate, decline_reason mix, p95 latency, PSP health, 3DS success, payout time, queue depth.
Alertlar: banklar/usullar bo’yicha ostonalar, tashqi maqom sahifalari bilan yopishtirish.
A/B & Lerning: konversiya/qiymat asosida yo’naltirish tarozilarini yangilash; kalibrlash uchun retrajsiz nazorat guruhlari.
9) KPI va maqsadli mo’ljallar
Auth Rate (xaritalar): EU 85-92%, US 80-88%, LATAM 70-85% (orkestrsiz - pastki cheti).
p95 latency auth API: < 3 c; webhooks: < 60 c.
Share of Instant Payouts: ≥ 70% yengil cheklar.
Routing Efficiency (konvertatsiya ÷ qiymat): tyuningdan keyingi chorak uchun bazelinga + 5-10%.
Circuit-break RTO: o’zgartirish uchun <2 min; RPO: 0 (idempotentlik).
Chargeback rate: < 0. count bo’yicha 5% (mahsulot/GEOga bog’liq).
10) Hodisalar pleybuklari (shpargalka)
10. 1 Emitent bank bo’yicha ommaviy declines
1. BIN/issuer orqali tasdiqlash.
2. Lokal circuit-breaker → ni alt-PSP/usuliga qayta taqsimlash.
3. Ta’sirlangan BIN uchun challenge rate’ni ko’paytirish, smart retry’ni yoqish.
4. Status-kanallarga kommunikatsiya; reason codes maʼlumotlari bilan RCA.
10. 2 3DS/ACS qulashi
1. Boʻyi boʻyicha detekt timeouts/» soft decline».
2. Trafikning bir qismini open banking/APM ga o’tkazish; ACS tirikligida «challenge-all» ni yoqish.
3. Tavakkalchilik chekini (summa/tezlik limitlarini) kamaytirish, monitoringni kuchaytirish.
10. 3 PSP beqarorligi
1. Health-alert → open breaker ishladi.
2. Zaxira PSP/MIDga oʻtish; yuqori latentlikka ega bo’lgan «og’ir» usullarni taqiqlash.
3. Kanareykalar bilan half-open orqali tiklash (1-5% trafik), keyin gradation.
10. 4 To’lovlar bo’yicha kechikishlar
1. Ustuvorliklar bilan queued payouts (VIP, summa limiti) ga o’tkazish.
2. Qismni muqobil relslarga (RTP/FPS/SEPA Instant/Pix) koʻchirish.
3. O’yinchilarga shaffof bildirishnomalar; qo’lda eskalatsiyalar> X soat.
11) SLA va shartnomaviy langarlar (PSPdan nimani talab qilish kerak)
Foydalanish imkoniyati: 99 ≥. qabul qilishning 95 foizi; p95 latency < 3 c; webhooks < 60 c.
Hodisalar: TTA ≤ 15 daqiqa, aylanma yo’l (fallback MID/APM), RCA ≤ 5 kun.
Ma’lumotlar: xom reason codes, banklar bo’yicha tafsilotlar, tokenlarni qaytarish ≤ chiqishda 10 kun.
Moliya: zaxiralarni cheklash/holdback, shaffof fees (shu jumladan 3DS/network tokens), FX-ustamalarga cap.
Xavfsizlik: PCI-AOC, imzolar webhooks, key rotation, SOC 2/ISO 27001 (maqsadga muvofiq).
12) Mintaqaviy patternlar
EC/UK: PSD2/SCA; kartalar + open banking (SEPA Instant/FPS). Kuchli 3DS orkestri, TRA va whitelisting.
AQSh: kartalar + ACH; tezkor to’lovlarning ustuvorligi (push-to-card, RTP). Chorjbek konturlari majburiydir.
LATAM: Pix (BR), SPEI (MX), PSE (CO); APM-heavy; devays-tavakkalchilikka va KYC hujjatiga e’tibor qaratish.
Turkiya/OA: mahalliy pul o’tkazmalari/hamyonlar; kuchaytirilgan sanksiya/AML-kontur, summa/tezlik limitlari.
Osiyo/Hindiston: UPI/e-hamyonlar; qat’iy velocity-qoidalar; emitent banklar bo’yicha yo’naltirish.
13) Joriy etish chek-varaqalari
Arxitektura/maʼlumotlar
- Payment Intent + barcha hops uchun idempotentlik.
- Route Journal, xom reason codes, webhooks.
- Pul/o’yin legyerlarini ajratish; kompensatsiya qiluvchi tranzaksiyalar.
Marshrut/qoidalar
- GEO/BIN/issuer/tavakkalchilik/qiymat bo’yicha Rule-engine.
- Smart retry taym-bekoff va 3DS/MID almashtirish bilan.
- Circuit-breakers mahalliy va global; canary-qaytarish.
Tavakkalchilik/komplayens
- Yo’naltirishdan oldin va keyin risk/KYT/RG integratsiyasi.
- Sanktsiyalar/RER, yosh/o’z-o’zini istisno qilish - «qattiq» filtrlar kabi.
- Velocity/summa limitlari; qarorlar jurnali.
Kuzatish/SLA
- Auth Rate, latency, decline mix, payout time.
- Ostonalar bo’yicha alertlar; hodisalar uchun runbooks.
- Shartnomada SLA, QBR va qoidabuzarliklar uchun jarimalar.
14) Strategiya soxta hujjati (jamoa uchun)
on PaymentRequest(PI):
ensureIdempotency(PI.key)
risk = RiskEngine.score(PI)
if not ComplianceHub.pass(PI, risk): reject()
candidates = RouteCatalog.filter(PI.geo, PI.method, PI.bin, risk)
for route in rankBy(Score(AuthRate, Fee, Health, Risk), candidates):
res = PSP.call(route, PI, policy=ThreeDS.select(risk))
log(RouteJournal, route, res)
if res.approved: return approve(PI)
if isRetryable(res.reason): continue with SmartRetryAdjustments()
return decline(PI)
15) Iqtisodiyot va A/B-optimallashtirish
Считайте effective rate = (Fees + 3DS + FX + chargeback cost − interchange rebates) / Approved Volume.
A/B: kamida 10k tranzaksiya/shoxobcha, 2-4 hafta; banklar/usullar bo’yicha belgilang.
AuthRate vs Fee og’irligini GEO/mavsumiylik bo’yicha optimallashtiring; qimmatbaho, ammo konversion relslarga «qiyshiq» ni nazorat qiling.
16) Nimani yodda tutish muhim
Orkestrator + qoidalar + ma’lumotlar - to’lov barqarorligi va konversiyaning yuragi.
Idempotentlik/Payment Intent ikki marta hisobdan chiqarishni istisno qiladi va failoverni soddalashtiradi.
Circuit-breakers va canary-qaytarish tezkor barqarorlikni ta’minlaydi.
Shartnomaviy SLA va shaffof ma’lumotlar PSPda - variant emas, balki talab.
Mintaqaviy relslar (open banking, RTP, Pix/UPI) tez-tez tezlik/qiymat bo’yicha kartalardan yaxshiroqdir - yo’naltirishda hisobga oling.