GH GambleHub

per currency kataloglary

per currency katalogy - görkezilen bahalar, çäklendirmeler, bonuslar, iň pes nyrhlar, jekpotlar we mahabatyň tekstleri oýunçynyň/tenantyň/sebitiň walýutasyna uýgunlaşdyrylan mazmun we baha katalogynyň görnüşi. Maksat, dogry bahalary we düzgünleri mantyksyz we "uçuň" öwrülişikleri sebäpli töwekgelçiliksiz bermek.

Esasy täsirleri:
  • UX: nyrhlaryň tebigy ädimleri we "owadan" bahalar (₺9. 99, R$5, €0. 20).
  • Girdeji: kurslar sebäpli marjany "iýmezden" takyk çäkler we güýçlendirijiler.
  • Komplayens: ýerli düzgünlere laýyklyk (ygtyýarnamalar, salgytlar, age/geo).

1) Maglumatlaryň modeli: "nominal" we "görkezme" bölýäris

Base Price (nominal): hasaplaşyklar üçin ýeke-täk içerki walýuta 'PLN '/' EUR '/' USD'.
Display Price (görkezme): nominaldan hasaplanylýar + FX + tegeleklemek + bellikler/arzanladyşlar (spread/fees).
Policy: tegelek düzgünler, stawka ädimleri, min/maks çäkleri, jekpotlar, bonus pullary we wager - per currency.

Kiçi shema (ýönekeý):
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) Kurslaryň çeşmesi (FX) we "täzelik"

FX-hyzmat - öwrülişikler üçin ýeke-täk hakykat nokady:
  • Kurslary üpjün ediji: esasy we ätiýaçlyk; täzeleniş ýygylygy (mysal üçin, üýtgäp durýanlar üçin her minut, durnuklylar üçin her 15 minut).
  • Bounded staleness: SLA "kurslar Δ t-den uly däl" (mysal üçin, p95 ≤ 5 min).
  • Spred we komissiýalar: per tenant/region/currency konfigurasiýa edilýär.
  • Freeze windows: bahalaryň "bökmezligi" üçin oýun/ýaryş/mahabat penjireleri üçin kurslary "doňduryň".
  • Audit: FX wersiýalarynyň çek çalmak üçin c 'valid _ from/valid _ to.
FX berlen mysal:
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) Tegelek we "owadan" baha nokatlary

FX we spredlerden soň tegelek:
  • Bahalar/bukjalar: '99', '9. 99`, `4. 90 '(psihologiki nokatlar).
  • Nyrhlar we ädimler: walýuta ädimine "ceil_to_step" (₺1, CLP $50).
  • Bonuslar: talon ädimine çenli tegelek (R $1/₺ 5).
  • Amallaryň tertibi: 'raw = base fx (1 + spread) (1 + fee)' → 'rounded = round_policy (raw)' → 'min/max clamp'.

Anti-mysal: jedeller üçin "bank tegelegi" "ýigrenji" ädimler berip biler - aç-açan syýasatlardan peýdalanyň.

4) Çäkler, min/maks we jekpotlar

Min/Max per currency: ýerli kanunlary we RGS-çäklendirmeleri göz öňünde tutýarlar.
Jekpotlar: eger üpjün ediji jekpoty öz walýutasynda saklasa (mysal üçin, EUR), lokallaşdyrylan ekwiwalenti (informer) görkeziň ýa-da per-walýuta pullaryny saklaň.
Walýuta ädimleri: CLP/JPY teňňesiz - ähli çäkler doly.

Çäk tablisasynyň mysaly:
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) per currency bonuslary we talonlary

Bonus bahasy: per currency konfigurasiýa edilýär (maňlaýyna "gaýtadan hasaplanmaýar").
Wager: köpeldiji (x30) ýa-da pul birligi hökmünde saklaň; garyşmakdan gaça duruň.
Ýeňiş/nagt pul kesmek: per currency.
Marketing tekstleri: sanlaryň lokalizasiýasy we hardkodsyz şablonlarda walýuta.

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) Üpjün edijileriň çäklendirmeleri (RGS/PSP)

RGS: Käbir oýunlar 'crypto '/lokal walýutalar üçin elýeterli däl; üpjün edijileriň bir bölegi kesgitlenen minimumlary talap edýär (mysal üçin, €0. 20).
PSP: töleg usullary walýuta baglydyr (PIX, BRL, PayID, AUD, Papara, TRY); goýumyň/yzyna almagyň çäkleri hem başga.
Düzgün: katalog/vitrin görkezilýänçä walýuta we ýurisdiksiýa boýunça oýunlary we töleg usullaryny süzýär.

7) Binagärlik kontury

Currency Policy Store (CP): per currency düzgünleriniň tablisalary (ädimler, çäkler, bahalar, tegelekler).
FX hyzmaty: kurslaryň, wersiýalaryň we SLA täzeliginiň keşi.
Katalog-bilder: Read Models per currency (proýeksiýalary) öndürýär.
Okamak gatlagynyň API: taýýar proýeksiýalary çykarýar; UI-iň gyzgyn ýolunda on-the-fly öwrülişikler ýok.
Outbox → Proýeksiýalar: FX/syýasatda üýtgeşmeler → wakalar 'CurrencyPolicyUpdated/FXUpdated' → penjireleriň artyk täzelenmeleri.

Proýeksiýa bölümleriniň shemasy:

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

Walýuta boýunça partiýalaşdyrmak refresh we metrikleriň ýygnalmagyny çaltlaşdyrýar.

8) per currency proýeksiýalary (mysal)

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)
);

Täzelenmeler - katalogyň wakalaryndan + FX wakalaryndan/syýasatlaryndan "UPSERT" -ler.

9) Formatlamak we lokalizasiýa

Nyşan/kod: '₺/TRY', 'R $/BRL', '€', 'USDT' (kripto üçin - UX syýasatyna laýyklykda 2 belgili ýa-da teňňesiz).
Toparlanma we onluk bölüji: 'locale' (ru_RU, tr_TR, pt_BR) baglydyr.
RTL/arap lokallary: walýuta belgisiniň dogrulygyna aýratyn barlag.

10) Kesmek we öndürijilik

Katalog jogaplary per currency 30-120 s keş; FX-görkeziji 'as _ of' jogap beriň.
Maýyplyk: 'FXUpdated '/' PolicyUpdated '/' GameUpserted' → ýaý açarlaryny maksatly arassalamak.
Kartoçkalaryň tertibi arzanyň ownuk täzelenmelerinde "bökmezligi" üçin kursorlar bilen paginasiýa.

11) Synlamak we SLO

Metrikler:
  • `catalog_p95_ms` по валютам, `fx_freshness_ms` (p50/p95/p99), `policy_refresh_latency_ms`.
  • "Ýigrenji" bahalaryň paýy (ädimde ýatmaýar), çäklendirmeler sebäpli ret edilen amallaryň paýy.
  • Çek-autda "vitrin vs hasaplaşyk" tapawudy (hakyky debet bolup geçýän ýerde).
Alertler:
  • FX SLA-dan uly, tegelek ýalňyşlyklaryň köpelmegi, PSP-iň çäklendirmeler boýunça şowsuzlyklarynyň köpelmegi.
  • RGS-iň we penjiräniň iň pes derejesine laýyk gelmezligi.

12) Komplayens, salgytlar we residency

Per currency ≠ per country: 'currency + geo + license' kombinasiýasyny yzarlaň.
Salgyt düzgünleri/fee - walýuta syýasatynda we çekde.
Residency: ýerli walýutalar üçin maglumatlar we hasaplaşyklar - degişli sebitde.

13) Synag

Property-based: "konwertirlenenden we tegeleklenenden soň bahasy ädimde"; «min ≤ value ≤ max».
Golden-cases: regressiýa üçin standart walýutalar/bahalar toplumy.
Chaos FX: "bökmek" kurslary, freeze windows, FX üpjün edijisini üýtgetmek.
E2E: penjiredäki mukdaryň we hasapdan çykarylan jemleýji mukdaryň deňligi; çydamlylyk ≤ 0. 01 walýuta birligi (ýa-da 1 ädim).

14) Adaty ýalňyşlyklar

Okamagyň API-sinde uçuşda sanamak → durnuksyz UX we beýik p99.
Walýuta ädimlerine üns bermezlik (CLP/JPY) → "ýarym pul" we RGS/PSP şowsuzlyklary.
per policy düzgünleriniň ýerine "endik boýunça" tegelek (bankers rounding).
Çekde FX wersiýasyny düzetmezlik → jedelleri çözmek mümkin däl.
FX arkaly birmeňzeş bonus nominallary → ýerli bazarlar üçin "geň" sanlar.
Komissiýalary aç-açanlyksyz FX-de gizlemek - talaplaryň we jerimeleriň töwekgelçiligi.

15) Çalt reseptler

TRY/BRL nyrhlary: ädim ₺1/R $0. 50, min-stawka ädim-ädim tegelek, paketler üçin "owadan" baha nokatlary.
Kripto (USDT/USDC): $0 ädim. 10. Iň ýakyn ädim bilen tegeleklemek, görkezişde komissiýalaryň ýoklugy (ýöne çekde görünýän).
High-volatility FX: oýun/mahabat üçin freeze; esasy bahadan> X% gyşaranda alertler.
Köp tenant: markalarda dürli spredler/ädimler; per tenant proýeksiýalarynyň hasaplamalarynda fairness.

16) Konfigurasiýa mysaly (hakykatyň ýeke-täk çeşmesi)

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) Azyk önüminden öň çek-sanawy

  • Her çekde/wakada ýeke-täk esasy walýuta we FX wersiýasy.
  • Tegelek/ädimler/çäkler syýasaty per currency tarapyndan kesgitlenýär we synaglar bilen örtülendir.
  • per currency katalogynyň proýeksiýalary taýýar; gyzgyn ýol öwrülişik etmeýär.
  • Jekpotlar we bonuslar per currency tarapyndan dogry görkezilýär/damlanýar.
  • PSP usullary walýuta görä süzülýär; çäklendirmeler vitrin bilen gabat gelýär.
  • FX täzelik SLA we aladalar sazlanýar; üýtgeýän wakalar üçin freeze windows.
  • Walýutalaryň sanlarynyň we nyşanlarynyň lokalizasiýasy; hardkodsyz mahabat şablonlary.
  • Syýasatyň/FX üýtgetmeleriniň barlagy; çekiň gaýtalanmagy.
  • Köp tenant/sebit: maglumatlaryň izolýasiýasy, dürli spredler we çäkler.
  • Wakalaryň oýun kitaplary: FX-bökmek, RGS-iň iň pes derejesi, PSP çäkleriniň şowsuzlygy.

Netije

per currency kataloglary "kursa köpeltmek" däl-de, in engineeringenerçilik dersidir. Nominal we görkezilişi bölüň, FX we tegelek syýasatlary merkezleşdiriň, per currency proýeksiýalaryny materiallaşdyryň we täzeligi ölçäň. Şonda sergi çalt, öňünden aýdyp boljak we dogruçyl bolar we iş ýerli bazarlarda marjanyň gizlin ýitgilerinden we kadalaşdyryjy garaşylmadyk ýagdaýlardan goralar.

Contact

Biziň bilen habarlaşyň

Islendik sorag ýa-da goldaw boýunça bize ýazyp bilersiňiz.Biz hemişe kömek etmäge taýýar.

Integrasiýany başlamak

Email — hökmany. Telegram ýa-da WhatsApp — islege görä.

Adyňyz obýýektiw däl / islege görä
Email obýýektiw däl / islege görä
Tema obýýektiw däl / islege görä
Habar obýýektiw däl / islege görä
Telegram obýýektiw däl / islege görä
@
Eger Telegram görkezen bolsaňyz — Email-den daşary şol ýerden hem jogap bereris.
WhatsApp obýýektiw däl / islege görä
Format: ýurduň kody we belgi (meselem, +993XXXXXXXX).

Düwmäni basmak bilen siz maglumatlaryňyzyň işlenmegine razylyk berýärsiňiz.