Komissiya və gecikmələrin azaldılması: kursların keşləşdirilməsi və ödənişlərin marşrutlaşdırılması
Məqalənin tam mətni
1) Məqsəd: risk nəzarətini itirmədən daha sürətli və daha ucuz ödəmək
Sürət: daha az «soyuq» gözləntilər (3-DS, bank batches, şəbəkə təsdiqi).
Qiymət: PSP/bank/şəbəkə komissiyası və dönüşüm spred minimuma endirmək.
Etibarlılıq: zero-loss invariantları: bir debet/kredit, proqnozlaşdırıla bilən kurs.
Komplayens: regional qaydalar, sank-skrininq, göndərilmədən əvvəl RG/AML.
2) Caching kursları (FX) xidməti: necə düzgün təşkil etmək
2. 1 Mənbələr və kalibrləmə
Price-fid: likvidlik provayderləri/FX-API/PSP/kassa kotirovkaları.
Normallaşma: vahid format 'pair/base/quote/scale', mid-rate + marja ('markup _ bps'), alınma vaxtı 'as _ of'.
PSP-də kalibrləmə: PSP hissəsi cavabda «effektiv kursu» qaytarır; rate cards per metodu/PSP/geo saxlayın.
2. 2 Önbellək və TTL
Tez-tez cütlər üçün isti cache (Redis) (EUR, EUR, GBP, USD, BRL və s.).
TTL dəyişkənliyə görə: G10 - 30-120 c, EM - 10-30 c; stables - 60-300 c (provayder üzrə).
Grace window: Artıq başlamış intentləri tamamlamaq üçün «köhnəlmiş» N saniyə kursundan istifadə etmək.
2. 3 Sürüşmə qorunması (slippage)
Müştəriyə 'expires _ at' və icazə verilən drift (məsələn, 20 bps ±) ilə müvəqqəti kotirovka verilir.
İcra zamanı:- bazar drift → «sifariş» kursu tətbiq etdi;
- brend siyasəti üzrə → re-quote (təkrar təsdiq) və ya «best-effort».
- Nəticələr üçün - budgeted FX: dönüşüm xərclərinin limiti, artıq olduqda əməliyyat rədd edilir.
2. 4 İdempotentlik və atom
Bütün FX əməliyyatlarının cəmi/cüt/əməliyyat növü ilə əlaqəli 'X-Idempotency-Key' var.
Ledger-də qeydiyyat və kursun fiksasiyası bir dastandır: 'quote. lock → debit/credit → quote. release`.
Pul qeydlərindəki məzənnələr minor units + scale kimi, üzən nöqtə olmadan saxlanılır.
2. 5 API (etalon)
Kotirovka almaq (cached)
GET /v1/fx/quote? base=EUR"e=USD&side=buy&amount_minor=100000
→ 200 {
"pair":"EUR/USD","rate":"1. 08123","markup_bps":15,  "expires_at":"2025-10-23T12:00:15Z","quote_id":"q_abc"
}Bir kurs sifariş edin və yazın
POST /v1/fx/execute
Headers: X-Idempotency-Key: fx_exec_001
{
"quote_id":"q_abc","amount_minor":100000,"pair":"EUR/USD"
}
→ 200 {"status":"filled","avg_rate":"1. 08125","fx_entry_id":"fx_77"}3) Ödənişlərin marşrutlaşdırılması: ən sürətli və ucuz yolu seçin
3. 1 Marşrutlaşdırma faktorları
Geo/valyuta/metod: kart/SEPA/SWIFT/ewallet/kriptovalyutası.
Komissiyalar: fix +% + FX-markup, PSP/bankın gizli haqları.
SLA: p95 'submit → settled', success-rate, kodlardan imtina.
Cut-off və hesablaşma pəncərələri: banklar (SEPA T + 0/T + 1), kriptovalyutalar (yük/qaz), həftəsonu.
Risklər: sanksiyalar/AML/velocity-limitlər/chargeback-profil.
Əlçatanlıq: kanal statusu/PSP, ticarət limitləri, xəzinə qalıqları.
3. 2 Kaskadlar və bandit strategiyaları
«Sərt» tələblər üçün deterministic rules (yurisdiksiya, lisenziya, məbləğ).
Yuxarıdan - bir neçə uyğun PSP arasında seçim üçün ε -greedy/UCB: minimuma endirmək 'cost _ per _ success' və gecikmə.
Azaldılmış trafik ilə yeni kanallarda Warm-up + deqradasiya zamanı sürətli dayanma.
3. 3 «Ağıllı» retralar
Yalnız retryable kodları (timeouts, transient, bank offline) təkrarlayın.
Hedged-requests (nadir hallarda, ehtiyatla): 2 PSP-də paralel başlanğıc - qanuni olaraq icazə verildikdə VIP/kritik məbləğlər üçün.
Həmişə iki dəfə silinməmək üçün idempotent PSP tokenləri ilə.
3. 4 Cədvəllərin uçotu
Cut-off təqvimi (SEPA, SWIFT, yerli sxemlər), ölkələrə görə «bayramlar».
Scheduler: cut-off  3. 5 Kriptovalyutası 'fee _ per _ byte/throughput/ETA' şəbəkə seçimi, ağ ünvan siyahıları və yol qaydaları (VASP arasında Travel Rule). Dynamic gas: maxFee/maxPriority hesablanması, qaz tikanları zamanı aşağı prioritetli nəticələrin fasiləsi. 3. 6 API (etalon) 4) Netting, batching və on-us optimallaşdırma On-us (ekosistem daxilində): xarici PSP olmadan qarşılıqlı hesablaşma → sıfır komissiya, ani SLA. Netting: Ledger-də ətraflı məftillə kiçik cashautları bir xarici köçürmədə (banklar/kriptolar) ümumiləşdirin. Batching: SEPA faylları, kriptovalyutalar (UTXO consolidation/stablecoin batch) - topdansatış qazı/komissiyalar hesabına qiyməti aşağı salırlar. 5) Telemetriya və SLO, dəyər və sürət yönümlü 6) Müşahidə və audit Strukturlaşdırılmış JSON qeydləri: 'trace _ id', 'route _ id', 'payment _ id', 'psp _ ref', 'fx _ quote _ id', səhv kodları. OpenTelemetry: span 'route. select → fx. quote → wallet. debit → psp. submit → webhook. settled`. WORM auditi: FX marjası, marşrutlaşdırma qaydaları, prioritetlər, cut-off təqvimi. 7) Xəzinədarlıq və qalıqlar per kanal/PSP/şəbəkə ehtiyatları, trafik proqnozları nəzərə alınmaqla avtomatik rebbalans. Minimum balans siyasəti və «no new payouts» stop rejimi maliyyələşdirilmədikdə. Hedge: auto-swap stables/fiata spred qeyd etmək üçün plan. 8) Reconciliation və hesabatlar FX-reyestr: Ledger quote_id ödəniş execute_id. PSP/bank/Ledger şəbəkəsinin gündəlik hesabatları: 'match/timing/missing/amount _ mismatch' kateqoriyaları. FX-PnL-in ayrıca hesabatı: reallaşdırılmış spred, kotirovkaların dəyəri, re-quote-itkilər. 9) Memarlıq blokları (mikroservislər) fx-service: fid toplama, cache, slippage siyasəti, API quote/execute. router-service: qaydalar, bandit-məntiq, cut-off təqvimi, kanalların vəziyyəti. treasury-service: qalıqlar, rebalans, büdcələr. payments-orchestrator: dastanlar, idempotentlik, webhucks, DLQ. Везде — outbox/CDC, partition-keys по `tenant/brand/region`. 10) Çek vərəqləri 11) Qırmızı bayraqlar (anti-nümunələr) 'quote _ id' və etibarlılıq müddəti qeyd edilmədən «bazar» məzənnəsi üzrə konvertasiya. Heç bir slippage məhdudiyyətləri → oyunçu üçün mənfi sürpriz. Routing telemetriya və A/B olmadan koda «sərt tikilir» Eyni PSP kodlarına retraj (məsələn, hard decline). Cut-off/təqvim → sistematik gecikmələr T + 1 +. Netting/batching yüksək komissiyalar ilə bağlanır. Vebhuke imzasız/etibarlılıq pəncərəsi → replies. Heç bir outbox/CDC → «itirilmiş» hadisələr və hesabatlarda uyğunsuzluqlar. 12) Nəticə Komissiyaların və gecikmələrin azaldılması bir «sehrli» açar deyil, bir həll sistemidir: sürüşmə qorunması ilə cached və idarə olunan kurslar, kaskadlar və bandit məntiqi ilə ağıllı marşrut, cədvəl və qalıqların uçotu, üstəgəl nettinq və batching. İdempotentlik, outbox/CDC, SLO-telemetriya və WORM-audit əlavə edin - və ödənişləriniz oyunçu, maliyyə və tənzimləyici üçün şəffaf olaraq daha sürətli, daha ucuz və bir dəfə getməyə başlayır.Marşrutun seçilməsi
POST /v1/payments/route
{
"amount":{"minor_units":5000,"currency":"EUR"},  "method":"card","geo":"DE","direction":"payout"
}
→ 200 {
"route_id":"rt_001",  "candidates":[
{"psp":"A","eta_sec":420,"cost_minor":85,"success_rate":0. 91},   {"psp":"B","eta_sec":360,"cost_minor":120,"success_rate":0. 96}
],  "recommend":"B"
}İcra (idempotentlik ilə)
POST /v1/payments/submit
Headers: X-Idempotency-Key: pay_001
{ "route_id":"rt_001","psp":"B", "fx_quote_id":"q_abc" }
→ 202 {"payment_id":"pm_777","status":"SUBMITTED"}
Platforma/operator
Inteqrasiya/PSP/FX provayderləri
