Multivalyuta kataloqları
(Bölmə: Əməliyyatlar və İdarəetmə)
1) Vəzifə və tətbiq sahəsi
Multivalyuta kataloqu müxtəlif valyutalar, regionlar və kanallar üçün qiymətlər/komissiyalar/vergilər haqqında vahid həqiqət mənbəyidir. Bu təmin edir:- düzgün qiymət vitrini (UX, etimad),
- hesablaşmaların təkrarlanabilirliyi (audit, geri qaytarmalar),
- iqtisadi proqnozlaşdırılabilirlik (marja/vergilər),
- komplayens (vergitutma, sanksiyalar, valyuta məhdudiyyətləri).
2) Məlumat modeli (referans)
Mahiyyətlər:- Product/SKU: `{sku_id, title, attributes, region_policies[]}`
- PriceList: `{pricelist_id, base_currency, effective_from, effective_to, version}`
- PriceItem: `{sku_id, base_price, base_currency, tax_class, pricing_model, promo_refs[]}`
- FXRate: `{pair: EUR→USD, rate, source, method, precision, effective_from, version}`
- `minor_units` (ISO 4217; məs. JPY = 0, USD/EUR = 2, KWD = 3; crypto üçün - 8-ə qədər)
- 'rounding _ mode': 'HALF _ UP' (pərakəndə satış), 'BANKERS' (maliyyə), 'FLOOR '/' CEIL' (vergilər/tənzimləyicilər)
3) FX mənbələri və siyasəti (valyuta məzənnələri)
Mənbələr: kursların provayderləri (kommersiya/mərkəzi banklar), öz TWAP/media.
Yeniləmə siyasəti: tezlik (dəyişkən üçün 1-15 dəqiqə, sabit üçün 1 dəfə/gün), nəşr gecikməsi.
Markaplar: 'rate (1 + fx_markup_bps)' müştərinin tərəfinə; şəffaf qaydalar per-kanal/region.
Zəmanətli kotirovka pəncərəsi (rate lock): sifarişdə 'fx _ version' ilə 5-30 dəq.
Anti-sıçrayış: son valid kotirovka tik, circuit-breakers, fallback üçün cap dəyişikliklər.
Version: kursların hər nəşrində 'version', 'effective _ from' var; geri/mübahisələr üçün tarixi saxlayın.
4) Qiymət strategiyaları
Base + FX: əsas qiyməti «nüvədə» saxlamaq (məsələn, EUR), vitrində çevirmək.
Per-currency vərəqləri: əsas valyutalar üçün əvvəlcədən hesablanmış qiymətlər (ən yaxşı UX, proqnozlaşdırıla bilən).
Mixed: ilk 10 valyuta - ön hesablama, «uzun quyruq» - on-the-fly.
Charm-pricing: `X. 99/95/90 'regionda, yuvarlaqlaşdırma səhvlərinin toplanmasına nəzarət edin.
Ödənişlər: payment fee, cross-border fee, network fee (crypto) - kataloqda və ya «Checkout Pricing» mərhələsində.
5) Vergilər və «aktivlik»
VAT/GST aktiv/xaric: EU - daha tez-tez VAT-inclusive; B2B ƏDV olmadan ola bilər.
Vergi təbəqələri: federal/ştat/yerli; onlayn oyunlar üçün - xüsusi ödənişlər.
Eşik dərəcələri: vergi dövriyyədən/kateqoriyadan/bölgədən (threshold) dəyişir.
Vergi dairəsi: per-item vs per-basket; yuvarlaqlaşdırma rejimləri və hesablama qaydası determinasiya edilməlidir.
Jur. hesabat: çek/qəbzdə 'tax _ rule _ version' saxlayın.
6) Yuvarlaqlaşdırma və dəqiqlik
Nümayişin son addımında yuvarlaq; hesablamalarda «yüksək dəqiqlik» saxlayın (8-9 işarəyə qədər).
crypto üçün decimal-kitabxana istifadə edin (ikilik üzən olmadan).
Anti-drift səbət: məbləğlər üçün «bankers rounding», lakin göstərilməsi üçün UX dairəvi; 'rounding _ scope' yazın.
Məbləğ qaydası: dəyirmanlardan sonra sətirlərin cəmi total ilə üst-üstə düşməlidir - son qəpiklərin/sentlərin paylanmasından istifadə edin (penny distribution).
7) Kataloqlar, promo və bandla
Promo-правила: `if region=A and currency in [EUR,USD] then discount=10% cap=50`.
Tətbiq qaydası: (1) əsas qiymət → (2) endirimlər → (3) vergilər → (4) rüsumlar → (5) dairəvi.
Bundle-paylama: endirimdən əvvəl mövqelər sekməsinə mütənasib; geri qaytarmaq üçün.
Threshold-promo: səbət valyutasında total ≥ X ilə pulsuz çatdırılma/bonus; ekvivalenti baza valyutasında saxlayın, lakin FX versiyasını qeyd edin.
8) Ödənişlər və komplayensiyalarla inteqrasiya
Valyuta əlçatanlığı: Hər bir valyuta hər bir oyunçu/region/ödəniş provayderi üçün mövcud deyil.
Guaranteed FX: sabit 'fx _ version' üzrə ön-avtorizasiya; ekspirasiya zamanı - yeni qiymətin təsdiqlənməsi üçün sorğu.
KUS/sanksiyalar: valyutaların/bankların/tokenlərin blok vərəqələri, konvertasiya məhdudiyyətləri.
Qaytarmalar/chargeback: tarixi 'fx _ version' sifariş üzrə yenidən hesablama; geri qaytarma haqqı - əməliyyat tarixinə kataloq üzrə.
9) Memarlıq və müqavilə API
Kataloqun oxunması:- `GET /catalog/prices? sku=…¤cy=…®ion=…&pricelist=…`
- Ответ: `{unit_price, currency, fx_version, pricelist_version, tax_breakdown[], fees[], display_price, rounding_mode}`
- `POST /pricing/quote { items[], region, currency, buyer_type }`
- Ответ: `{items_priced[], subtotal, discounts, taxes[], fees[], total, fx_version, lock_ttl, signature}`
- 'POST/pricing/commit {quote_id, signature}' → heş və imzalı qəbz.
- `PriceListUpdated`, `FXRatePublished`, `TaxRuleChanged`, `PromoChanged` — с `version/effective_from`.
10) Caching və Performance
Edge-cache: açar 'pricelist: region: currency: sku: version'; TTL sabit valyuta yuxarıda.
Warmup: kampaniyanın başlaması üçün üst kateqoriyaların istiləşməsi.
SWR (stale-while-revalidate): vitrinlər üçün; checkout - yalnız fresh.
Partial invalidation: 'sku', 'category', 'pricelist _ version' etiketləri ilə əlillik.
SLO: vitrin üçün p95 ≤ 120 ms, quote üçün p95 ≤ 250 ms, ≥ 99. 95% mövcudluğu.
11) Müşahidə və audit
Tracking: 'trace _ id', 'pricelist _ version', 'fx _ version', 'tax _ rule _ version' bütün hadisələrdə.
Immutability: WORM-Price List/Kurslar nəşr jurnalları; Merkle-bölmələr, buraxılış imzaları (DSSE).
Receipts: tam düzəliş və yük hashem ilə çek/qəbz; 7-10 il saxlamaq (tənzimləyici).
Dashboard: vitrin uyğunsuzluğu, yuvarlaqlaşdırma tezliyi «yuxarı/aşağı», FX səhvləri, məzənnə kilidi vaxtı (TTL kilidi), ROI promo.
12) Ekran lokalizasiyası
Valyuta formatı: simvol/kod (, €, $, AED), simvol mövqeyi, ayırıcılar, boşluq.
Lokal qaydalar: " 1 234,56" vs "$1,234. 56”.
Psixologiya: sehrli qiymətlər ('.99') fintech/oyunlarda həmişə uyğun deyil; per-region test edin.
Hüquqi imzalar: «Qiymətə ƏDV daxildir», «Şəbəkə komissiyası ayrıca tutulur».
13) Xüsusi hallar
Kəsirli olmayan valyutalar: JPY/ISK - minor_units=0.
Üç işarəli minor units: KWD/BHD = 3.
Kriptovalyutası: BTC/ETH/USDT - 8 işarəyə qədər, network fee ayrıca; stablecoins ≠ cross-border ilə «kurs 1:1».
İkiqat qiymət: «kataloq valyutası» ≠ «debet valyutası» (merchant bank məzənnəsi). Spread sənədləşdirin.
İdman/Oyunlar: Kataloq valyutasında maksimum qazanc limitləri - ekvivalentləri 'fx _ version' raundda saxlayın.
14) SLO/SLI və uğur metrikası
Düzgünlük: sifarişlərin payı, burada total_checkout = total_quote (paylama qaydalarında ± 1 minor unit) ≥ 99. 99%.
FX sabitliyi: rate lock pəncərəsində əməliyyatların payı ≥ 99%.
İqtisadiyyat: marja/vahid vs plan; FX/dairələr (bps) səbəbiylə sapmalar.
UX: quote p95 sürəti, qiymətin yenidən hesablanmasında tullantıların payı, NPS vitrinləri.
Audit: 100% saxlanan '_ version' və imza ilə çeklər.
15) Hadisə pleybukları
«Vitrin qiyməti ≠ səbətdə»:1. freeze cache əlillər, 2) məcburi refresh qiymət siyahısı, 3) müqayisə 'pricelist _ version '/' fx _ version', 4) siyasət kompensasiya.
«FX sıçrayışı marjanı məhv edir»:1. 2) TTL kilidini qısaltmaq, 3) fallback mənbəyinə keçid.
«Vergi uyğun deyil»:1. yoxlamaq 'tax _ rule _ version', 2) rounding_scope validasiyası, 3) hotfix qaydaları və səbətlərin repraysı.
«Promo mənfi qiymət verir»:1. mühafizə qaydaları (min_price), 2) axın söndürmək, 3) recalculation və audit.
16) Təhlükəsizlik və uyğunluq
Policy-as-code: PR + buraxılış imzaları vasitəsilə qiymət vərəqlərində/FX/vergilərdə dəyişikliklərə nəzarət.
Rollar/Accessories: 4-göz prinsipi/FX.
Qeydlər/qəbzlər: imzalanmış hadisələr nəşrlər və checkout.
Regional məhdudiyyətlər: ayrı-ayrı valyutaların/tokenlərin qadağan edilməsi; Geo-siyasət.
17) Təcrübələr və optimallaşdırma
A/B: charm-pricing, əvvəlcədən hesablanmış qiymətlər vs on-the-fly, ekran formatı.
Dinamik markup: cütlük/günün dəyişkənliyindən asılılıq.
Kohort analizi: valyutalar üzrə qaytarmalar/chargeback, yuvarlaqlaşdırmaya həssaslıq.
Cash Strategies: SWR/TTL-in dönüşüm və dəqiqliyə təsiri.
18) Giriş çek siyahısı
- əsas valyuta və per-currency səhifə siyasətini müəyyən edin.
- TTL versiyaları, markapları və kilidləri ilə FX-in toplanmasını/yayımlanmasını konfiqurasiya edin.
- TaxRule və hesablama/yuvarlaqlaşdırma qaydasını rəsmiləşdirin (per-item və ya per-basket).
- API kataloq/quote/commit + imzalanmış qəbzləri həyata.
- edge-cache və qranulyar əlilliyi daxil edin; vitrinlər üçün SWR.
- Dashboard (vitrin, FX səhvləri, vergilər, marja bps).
- Qiymət/məzənnə dərc rolları/imzaları daxil, WORM jurnalları.
- playbook hazırlamaq: qiymət aşağı, FX sıçrayış, vergi uyğunsuzluqları.
- «GameDay kataloq» keçirmək: FX mənbəyi, promosyon burst, vergi dəyişikliyi.
- Bölgələr üzrə minor_units/otobrazheniye mütəmadi olaraq reviziya edin.
19) FAQ
Qiymətləri hər valyutada saxlamaq lazımdırmı?
Mütləq deyil. Üst valyutalar üçün əvvəlcədən hesablamanı və «quyruq» üçün dönüşümü birləşdirin - UX və xərclər belə balanslaşdırılır.
Niyə yuvarlaqlaşdırmadan sonra total «döymür»?
per-item vs per-basket fərqlərinə görə. Bir yanaşmanı düzəldin və «penny distribution» istifadə edin.
Bir ay sonra geri qaytarmaq necə?
Qəbzdə saxlanılan tarixi 'pricelist _ version', 'fx _ version' və 'tax _ rule _ version'.
Crypto haqqında nə?
Decimal dəqiqliyi, network fee ayrıca istifadə edin, fiata 1:1 vəd etməyin; kursu və fəaliyyət pəncərəsini qeyd edin.
CV: Multivalyuta kataloqu dəqiq riyaziyyat, ciddi siyasət və ağlabatan keşlərin birləşməsidir. Hər şeyi verin (qiymətlər/məzənnələr/vergilər), kotirovka pəncərəsini düzəldin, hesablama və yuvarlaqlaşdırma qaydasını müəyyənləşdirin, çek artefaktlarını imzalayın və daşbordları görünən saxlayın. Beləliklə, bütün valyutalarda və bölgələrdə dürüst vitrin, təkrar hesablamalar və idarə olunan iqtisadiyyat əldə edəcəksiniz.