GH GambleHub

Her para birimi dizini için

Para birimi kataloğu, görüntülenen fiyatların, limitlerin, bonusların, minimum bahislerin, ikramiyelerin ve promosyon metinlerinin oyuncu/kiracı/bölge para birimine uyarlandığı içerik kataloğunun ve fiyatlandırmanın bir çeşididir. Amaç, mantığı kopyalamadan ve anında dönüşümler nedeniyle risk almadan doğru fiyat noktalarını ve kuralları vermektir.

Önemli etkiler:
  • UX: Doğal oran adımları ve "güzel" fiyatlar (₺9. 99, R $5, €0. 20).
  • Gelir: Kurslar nedeniyle "yemek yemeden" marjlar olmadan kesin sınırlar ve artışlar.
  • Uyum: yerel kurallara uygunluk (lisanslar, vergiler, yaş/coğrafi).

1) Veri modeli: ayrı "nominal've" temsil "

Taban Fiyat (nominal): Yerleşimler için tek yerel para birimi 'PLN'/' EUR'/' USD'.
Ekran Fiyatı - yüz değeri + FX + yuvarlama + spread/ücretlerden hesaplanır.
Politika: yuvarlama kuralları, bahis adımları, min/max limitleri, ikramiyeler, bonus miktarları ve bahis - para birimi başına ayarlanır.

Mini diyagram (basitleştirilmiş):
yaml price_model:
base_currency: "EUR"
items:
game_spin_min:
base: 0. 10 policy: "stake_min"
game_spin_step:
base: 0. 10 policy: "stake_step"
jackpot_seed:
base: 10000 policy: "jackpot_amount"
policies:
stake_min:
per_currency:
EUR: {round: "ceil_to_step", step: 0. 10}
TRY: {round: "ceil_to_step", step: 1. 00}
BRL: {round: "ceil_to_step", step: 0. 50}
stake_step:
per_currency:
EUR: {step: 0. 10}
USD: {step: 0. 10}
CLP: {step: 50}
jackpot_amount:
per_currency:
EUR: {round: "nearest_100"}
MXN: {round: "nearest_1000"}

2) Kursların kaynağı (FX) ve "tazelik"

FX hizmeti, dönüşümler için tek bir doğruluk noktasıdır:
  • Kurs sağlayıcı: ana ve rezerv; Yenileme hızı (örneğin, uçucu için her dakika, kararlı için her 15 dakikada).
  • Sınırlı staleness: SLA "Δ t'den eski olmayan kurslar" (örneğin, p95 ≤ 5 dk).
  • Spread ve komisyonlar: kiracı/bölge/para birimi başına yapılandırılır.
  • Pencereleri dondur: maç/turnuva/promosyon pencereleri için kursları "dondur", böylece fiyat "atlamaz".
  • Denetim: Kontrolleri oynamak için 'valid _ from/valid _ to' içeren FX sürümlerini günlüğe kaydedin.
FX yayınlama örneği:
json
{
"as_of":"2025-10-31T12:00:00Z",
"base":"EUR",
"rates": { "TRY":34. 10, "BRL":5. 42, "MXN":19. 1, "UAH":43. 6, "USDT":1. 00 },
"spread_bps": { "TRY":120, "BRL":60 },
"fees_pct": { "default":0. 15 }
}

3) Yuvarlama ve "güzel" fiyat noktaları

FX ve spreadlerden sonra yuvarlak:
  • Fiyatlar/paketler: '99', '9. 99`, `4. 90 '(psikolojik noktalar).
  • Oranlar ve adımlar: Para birimi adımına "ceil_to_step" (₺1, CLP $50).
  • Bonuslar: kupon adımına yuvarlama (R $1/ ₺5).
  • İşlem sırası: 'raw = base fx (1 + spread) (1 + fee)' - 'rounded = round_policy (raw)' - 'min/max clamp'.

Anti-örnek: Oranlar için "banka yuvarlama" "çirkin" adımlar verebilir - açık politikalar kullanın.

4) Limitler, min/max ve jackpotlar

Para birimi başına Min/Max - Yerel yasaları ve RGS kısıtlamalarını göz önünde bulundurun.
Jackpotlar: Sağlayıcı kendi para biriminde bir jackpot tutuyorsa (örn. EUR), ya yerelleştirilmiş bir eşdeğer (muhbir) gösterin ya da para birimi başına havuzları tutun.
Para birimi adımları: Kopekler olmadan CLP/JPY - tüm limitler tamsayıdır.

Bir limit tablosu örneği:
sql
CREATE TABLE currency_limits (
tenant_id text,
currency  text,
feature  text,  -- spin_min, spin_max, deposit_min, payout_max, jackpot_min value   numeric,
step    numeric,
PRIMARY KEY (tenant_id, currency, feature)
);

5) Para birimi başına bonuslar ve kuponlar

Bonus değeri: para birimi başına yapılandırılır (alında "yeniden hesaplama'değil).
Bahis: çarpan (x30) veya para birimi miktarı olarak saklayın; Karıştırmaktan kaçının.
Win cap/cash out: Ayrıca para birimi başına.
Pazarlama metinleri: hardcode olmadan şablonlarda sayı yerelleştirme ve para birimi.

yaml bonus:
welcome_pack:
EUR: {amount: 100, wager_x: 35, cap: 500}
BRL: {amount: 500, wager_x: 40, cap: 2500}
TRY: {amount: 2500, wager_x: 40, cap: 12500}

6) Sağlayıcı kısıtlamaları (RGS/PSP)

RGS: Bazı oyunlar 'kripto'/yerel para birimleri için mevcut değildir; Bazı sağlayıcılar sabit minimumlar gerektirir (örneğin, 0 €. 20).
PSP: ödeme yöntemleri para birimine bağlıdır (PIX ↔ BRL, PayID ↔ AUD, Papara ↔ TRY); Para yatırma/çekme limitleri de farklıdır.
Kural: Katalog/vitrin, gösterilmeden önce oyunları ve ödeme yöntemlerini para birimine ve yargı yetkisine göre filtreler.

7) Mimari anahat

Para Politikası Deposu (CP) - para birimi başına kural tabloları (adımlar, limitler, fiyat noktaları, yuvarlama).
FX hizmeti: kursların önbelleği, sürümler ve SLA tazeliği.
Katalog oluşturucu: Para birimi başına Okuma Modelleri üretir (projeksiyonlar).
Okuma Katmanı API'si: bitmiş projeksiyonları ekstrüde eder; UI sıcak yolda anında dönüşüm yok.
Outbox - Projeksiyonlar: FX/poliçe değişiklikleri - 'CurrencyPolicyUpdated/FXUpdated' olayları - artımlı pencere güncellemeleri.

Projeksiyon bölümü diyagramı:

read_catalog_{tenant}_{region}_{currency}

Para birimi bölümleme, yenileme ve metrik toplama işlemlerini hızlandırır.

8) Para birimi başına projeksiyonlar (örnek)

sql
CREATE TABLE read_catalog_currency (
tenant_id  text,
region   text,
currency  text,
game_id   text,
price_min numeric, -- displayed min-rate price_step numeric,
jackpot   numeric,
bonus_badge text,
as_of    timestamptz,
PRIMARY KEY (tenant_id, region, currency, game_id)
);

Güncellemeler - dizin olaylarından + FX olaylarından/politikalarından idempotent 'UPSERTS'.

9) Biçimlendirme ve yerel ayarlar

Sembol/kod: '₺/TRY', 'R $/BRL', '€', 'USDT' (kripto için - UX politikasına göre kopekler olmadan veya 2 karakterli).
Gruplama ve ondalık ayırıcı: 'yerel' (ru_RU, tr_TR, pt_BR).
RTL/Arapça yerel ayarlar: para birimi işaretinin doğruluğu için ayrı bir kontrol.

10) Önbelleğe alma ve performans

30-120 s için para birimi başına önbellek kataloğu yanıtları; Yanıtta'as _ of 'FX göstergesini verin.
Disabled: 'FXUpdated'/' PolicyUpdated'/' GameUpserted' events - targeted cache key floş.
İmleçlerle paginasyon, kartların sırasının küçük fiyat güncellemeleriyle "atlamaması" için.

11) Gözlemlenebilirlik ve SLO

Metrikler:
  • 'catalog _ p95 _ ms' по валютам, 'fx _ freshness _ ms' (p50/p95/p99), 'policy _ refresh _ latency _ ms'.
  • "Çirkin" fiyatların payı (basamakta yatmaz), limitler nedeniyle reddedilen işlemlerin payı.
  • Tutarsızlık check-out üzerinde "vitrin vs hesaplama" (gerçek borç oluşur).
Uyarılar:
  • SLA'dan daha eski FX, yuvarlama hatalarında artış, PSP sınırlarındaki dalgalanma arızaları sınırlar.
  • RGS minimum ve görüntüleme minimum uyumsuzluk.

12) Uyum, vergiler ve ikamet

Para birimi başına ≠ ülke başına: 'Para birimi + geo + lisans' kombinasyonunu takip edin.
Vergi kuralları/ücreti - döviz politikasında ve çekte.
İkamet: yerel para birimleri için veriler ve hesaplamalar - ilgili bölgede.

13) Test etme

Mülkiyet temelli: değişmez "dönüşüm ve yuvarlamadan sonra, fiyat basamakta yatıyor"; "Min ≤ value ≤ max".
Altın durumlar: regresyon için referans para birimleri/fiyatlar kümesi.
Kaos FX: Kursları "atlama", pencereleri dondurma, FX sağlayıcısını değiştirme.
E2E: vitrin üzerindeki miktarın eşleştirilebilirliği ve yazılan toplam miktar; Tolerans ≤ 0. 01 para birimi birimi (veya 1 adım).

14) Tipik hatalar

Anında okuma API'sine yeniden hesaplayın - kararsız UX ve yüksek p99.
Para birimi hareketlerini görmezden gelin (CLP/JPY) - yarım kuruş ve RGS/PSP arızaları.
Politika başına net kurallar yerine alışkanlık dışı (bankacılar yuvarlama) yuvarlayın.
Anlaşmazlıkları çözmek için çekdeki FX versiyonunu düzeltmemek imkansızdır.
FX üzerinden tek bonus mezhepleri - yerel piyasalar için "garip" rakamlar.
Şeffaflık olmadan FX'de ücretleri gizlemek, talep ve para cezası riskidir.

15) Hızlı tarifler

TRY/BRL'deki bahisler: adım ₺1/R $0. 50, min-rate, paketler için "güzel" fiyat noktaları olan adıma kadar yuvarlanır.
Kripto (USDT/USDC) adım $0. 10, en yakın adıma yuvarlama, gösteride komisyon yok (ancak kontrolde görünür).
Yüksek volatilite FX: maç/promosyon için dondurun; Taban fiyatın> % X'inde uyarır.
Çok kiracılı: markalarda farklı spreadler/adımlar; kiracı başına projeksiyon hesaplamalarında adalet.

16) Yapılandırma örneği (tek doğruluk kaynağı)

yaml catalog_currency:
base_currency: EUR fx_sla_ms: 300000 # 5 minutes rules:
- currency: "TRY"
stake_step: 1. 00 stake_min: 5. 00 display_round: "ceil_to_step"
psychological_points: [9, 19, 29, 49, 99]
psp_methods: ["Mefete","Papara","Crypto"]
- currency: "BRL"
stake_step: 0. 50 stake_min: 1. 00 display_round: "ceil_to_step"
psychological_points: [4. 90, 9. 90, 19. 90, 49. 90]
psp_methods: ["PIX","Boleto","Cards"]
- currency: "CLP"
stake_step: 50 stake_min: 200 display_round: "ceil_to_step"
psp_methods: ["WebPay","Cards"]
jackpot:
display_policy:
EUR: "nearest_100"
MXN: "nearest_1000"
bonuses:
welcome:
EUR: {amount: 100, wager_x: 35}
BRL: {amount: 500, wager_x: 40}
TRY: {amount: 2500, wager_x: 40}

17) Satış öncesi kontrol listesi

  • Her kontrol/etkinlikte tek temel para birimi ve FX sürümü.
  • Yuvarlama/adım/limit politikaları para birimi başına belirlenir ve testler kapsamındadır.
  • Para birimi başına dizin projeksiyonları hazır; Sıcak yol dönüştürmez.
  • Jackpotlar ve bonuslar para birimi başına doğru şekilde görüntülenir/damlar.
  • PSP yöntemleri para birimi ile filtrelenir; Sınırlar vitrin ile çakışıyor.
  • FX tazelik SLA'ları ve uyarıları yapılandırılmıştır; Uçucu olaylar için pencereleri dondurun.
  • Para birimi sayılarının ve sembollerinin yerelleştirilmesi; Sabit kodlu olmayan promosyon şablonları.
  • Denetim politikası değişiklikleri/FX; tekrarlanabilirliği kontrol edin.
  • Çok kiracı/bölge: veri izolasyonu, farklı yayılımlar ve sınırlar.
  • Olay oyun kitapları: FX atlama, RGS minimum uyumsuzluk, PSP limit hatası.

Sonuç

Para birimi başına kataloglar bir mühendislik disiplinidir, "ders ile çarpmak'değil. "Ayrı mezhep ve temsil, FX ve yuvarlama politikalarını merkezileştirmek, para birimi başına projeksiyonları gerçekleştirmek ve tazeliği ölçmek. Daha sonra vitrin hızlı, öngörülebilir ve dürüst olacak ve işletme yerel pazarlardaki gizli marj kayıplarından ve düzenleyici sürprizlerden korunacaktır.

Contact

Bizimle iletişime geçin

Her türlü soru veya destek için bize ulaşın.Size yardımcı olmaya her zaman hazırız!

Entegrasyona başla

Email — zorunlu. Telegram veya WhatsApp — isteğe bağlı.

Adınız zorunlu değil
Email zorunlu değil
Konu zorunlu değil
Mesaj zorunlu değil
Telegram zorunlu değil
@
Telegram belirtirseniz, Email’e ek olarak oradan da yanıt veririz.
WhatsApp zorunlu değil
Format: +ülke kodu ve numara (örneğin, +90XXXXXXXXX).

Butona tıklayarak veri işlemenize onay vermiş olursunuz.