GH GambleHub

통화 디렉토리 당

통화 당 카탈로그는 표시된 가격, 한도, 보너스, 최소 베팅, 잭팟 및 프로모션 텍스트가 플레이어/테넌트/지역 통화에 맞게 조정 된 컨텐츠 카탈로그 및 가격의 변형입니다. 목표는 논리를 복사하지 않고 즉시 변환으로 인한 위험없이 올바른 가격대와 규칙을 제공하는 것입니다.

주요 효과:
  • UX: 자연 요금 단계 및 "아름다운" 가격 (9. 99, R $5, €0. 20).
  • 소득: 코스로 인한 마진을 "먹지 않고" 정확한 한계와 향상.
  • 준수: 현지 규칙 준수 (라이센스, 세금, 연령/지오).

1) 데이터 모델: 별도의 "공칭" 및 "표현"

기본 가격 (명목): 합의에 대한 단일 현지 통화 'PLN '/' EUR '/' USD'.
디스플레이 가격-액면가 + FX + 반올림 + 스프레드/수수료로 계산.
정책: 반올림 규칙, 베팅 단계, 최소/최대 한도, 대박, 보너스 금액 및 베팅-통화 당 설정.

미니 다이어그램 (단순화):
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) 코스 소스 (FX) 및 "신선도"

FX 서비스는 전환의 단일 진실 지점입니다

코스 제공 업체: 주 및 예비; 새로 고침 속도 (예: 휘발성의 경우 1 분마다, 안정적인 경우 15 분마다).
경계 부실: SLA "고정 t보다 오래되지 않은 과정" (예: p95 소 5 분).
확산 및 수수료: 임차인/지역/통화별로 구성됩니다.
동결 창: 가격이 "점프" 되지 않도록 경기/토너먼트/프로모션 창에 대한 "동결" 코스.
감사: '유효한 _ from/유효한 _ to' 확인이있는 로그 FX 버전.

FX 발행의 예:
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) 반올림과 "아름다운" 가격 포인트

FX 후 반올림 및 확산:
  • 가격/패키지: '99', '9. 99`, `4. 90 '(심리적 포인트).
  • 요금 및 단계: 통화 단계에 대한 "ceil _ to _ step" (1, CLP $50).
  • 보너스: 바우처 단계로 반올림 (R $1/volund 5).
  • 작업 순서: '원시 = 기본 fx (1 + 스프레드) (1 + 수수료)' → 'round = round _ policy (원시)' → 'min/max clamp'.

예제 방지: 요금에 대한 "은행 반올림" 은 "추악한" 단계를 제공 할 수 있습니다. 명시 적 정책을 사용하십시오.

4) 한계, 최소/최대 및 대박

통화 당 최소/최대 고려 현지 법률 및 RGS 제약.
대박: 공급자가 통화로 대박을 들고있는 경우 (예: EUR), 현지화 된 등가 (정보원) 또는 통화 당 풀을 유지하십시오.
통화 단계: kopecks가없는 CLP/JPY-모든 한계는 정수입니다.

한계 표의 예:
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) 통화 당 보너스 및 바우처

보너스 값: 통화 당 구성 (이마에서 "재계산" 이 아님).
베팅: 승수 (x30) 또는 통화 금액으로 저장; 혼합을 피하십시오.
상한/현금: 통화 당.
마케팅 텍스트: 하드 코드가없는 템플릿의 번호 현지화 및 통화.

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) 공급자 제한 (RGS/PSP)

RGS: 일부 게임은 'crypto '/로컬 통화로 사용할 수 없습니다. 일부 제공 업체에는 고정 최소값이 필요합니다 (예: €0). 20).
PSP: 결제 방법은 통화에 따라 다릅니다 (PIX CN BRL, PayID SL AUD, Papara ² TRY). 예금/인출 한도도 다릅니다.
규칙: 카탈로그/상점 정면은 표시하기 전에 통화 및 관할권별로 게임 및 지불 방법을 필터링합니다.

7) 건축 개요

통화 정책 저장소 (CP) -통화 당 규칙 표 (단계, 한계, 가격 포인트, 반올림).
FX 서비스: 코스, 버전 및 SLA 신선도 캐시.
카탈로그 빌더: 통화 당 읽기 모델 (예측) 을 생성합니다.
레이어 API 읽기: 완료된 프로젝션을 압출합니다. UI 핫 트랙에서 즉석 변환이 없습니다.
전송 전송 → 예측: FX/정책 변경 → 'CurrencyPolicyUpdated/FXUpdate' 이벤트 → 증분 창 업데이트.

프로젝션 섹션 다이어그램:

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

통화 분할 속도는 새로 고침 및 미터법 수집 속도를 높입니다.

8) 통화 당 투영 (예)

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

업데이트 - 디렉토리 이벤트 + FX 이벤트/정책의 dempotent 'UPSERTS'.

9) 포맷 및 로케일

기호/코드: 'vi/TRY', 'R $/BRL', '€', 'USDT' (암호화-kopecks없이 또는 2 자로 표시).
그룹화 및 10 진수 분리기: '로케일' (ru _ RU, tr _ TR, pt _ BR) 에 따라 다릅니다.
RTL/아랍어 로케일: 통화 부호의 정확성에 대한 별도의 점검.

10) 캐싱 및 성능

30-120 초에 대한 통화 당 캐시 카탈로그 응답; 응답에서 FX 표시기를 'as _ of' 로 제공하십시오.
비활성화: 'FX업데이트 '/' 폴리 업데이트 '/' GameUpserted' 이벤트 → 대상 캐시 키 플러시.
카드 순서가 적은 가격 업데이트로 "점프" 하지 않도록 커서로 페이지 매김.

11) 관찰 및 SLO

메트릭:
  • '카탈로그 _ p95 _ ms', 'fx _ freshness _ ms' (p50/p95/p99), 'policy _ refresh _ latency _ ms'.
  • "못생긴" 가격의 공유 (단계에 있지 않음), 한계로 인해 거부 된 거래의 공유.
  • 체크 아웃시 불일치 "쇼케이스 vs 계산" (실제 직불 결제가 발생하는 곳).
경고:
  • SLA보다 오래된 FX, 반올림 오류 증가, PSP 제한 실패 급증.
  • RGS 최소 및 최소 불일치를 표시합니다.

12) 준수, 세금 및 거주

국가 당 통화 면허: '통화 + 지리 + 라이센스' 의 조합을 따르십시오.
세금 규칙/수수료-통화 정책 및 수표.
거주지: 해당 지역의 현지 통화에 대한 데이터 및 계산.

13) 테스트

부동산 기반: "변환 및 반올림 후 가격은 단계에 있습니다"; "최소 자릿수 최대 값입니다".
황금 케이스: 회귀를위한 참조 통화/가격 세트.
카오스 FX: "점프" 코스, 동결 창, FX 제공 업체 전환.
E2E: 쇼케이스에서 금액의 일치성 및 기록 된 총액; 허용 오차가 0. 01 통화 단위 (또는 1 단계).

14) 전형적인 오류

읽기 API → 불안정한 UX 및 높은 p99로 즉시 재구성하십시오.
통화 이동 (CLP/JPY) → 반 페니 및 RGS/PSP 실패를 무시하십시오.
정책에 따라 명확한 규칙 대신 습관 (은행가 반올림) 이 완료됩니다.
수표에서 FX 버전을 수정하여 분쟁을 해결하는 것은 불가능합니다.
현지 시장에 대한 FX → "이상한" 번호를 통한 단일 보너스 명칭.
투명성없이 FX에 수수료를 숨기는 것은 청구 및 벌금의 위험이 있습니다.

15) 빠른 레시피

TRY/BRL에서 베팅: 단계 1/R $0. 50, 최소 요금은 패키지의 "아름다운" 가격대로 올라갑니다.
Crypto (USDT/USDC) 단계 $0. 10, 가장 가까운 단계로 반올림, 쇼에서 수수료 없음 (그러나 수표에서 볼 수 있음).
고 변동성 FX: 일치/프로모션 동결; 기본 가격의> X% 로 경고합니다.
멀티 테넌트: 브랜드의 다른 스프레드/스텝; 임차인 당 투영 계산의 공정성.

16) 설정 예 (단일 진실의 원천)

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) 사전 판매 점검표

  • 각 체크/이벤트의 단일 기본 통화 및 FX 버전.
  • 반올림/단계/제한 정책은 통화 당 설정되며 테스트로 보장됩니다.
  • 통화 당 디렉토리 예측이 준비되었습니다. 뜨거운 방법은 변환되지 않습니다.
  • 잭팟과 보너스는 통화 당 올바르게 표시/드립됩니다.
  • PSP 방법은 통화로 필터링됩니다. 한계는 쇼케이스와 일치합니다.
  • FX 신선도 SLA 및 경고가 구성됩니다. 휘발성 이벤트에 대한 동결 창.
  • 통화 번호 및 기호의 현지화; 비 하드 코드 프로모션 템플릿.
  • 감사 정책 변경/FX; 재현성을 확인하십시오.
  • 멀티 테넌트/지역: 데이터 격리, 다른 스프레드 및 한계.
  • 인시던트 플레이 북: FX 점프, RGS 최소 불일치, PSP 제한 실패.

결론

통화 당 카탈로그는 "물론 곱하지 않고 엔지니어링 분야입니다. "별도의 명칭과 표현, FX 중앙 집중화 및 반올림 정책, 통화 당 예측을 구체화하고 신선도를 측정합니다. 그런 다음 쇼케이스는 빠르고 예측 가능하며 정직하며 비즈니스는 현지 시장에서 숨겨진 마진 손실과 규제 놀라움으로부터 보호됩니다.

Contact

문의하기

질문이나 지원이 필요하시면 언제든지 연락하십시오.우리는 항상 도울 준비가 되어 있습니다!

통합 시작

Email — 필수. Telegram 또는 WhatsApp — 선택 사항.

이름 선택 사항
Email 선택 사항
제목 선택 사항
메시지 선택 사항
Telegram 선택 사항
@
Telegram을 입력하시면 Email과 함께 Telegram에서도 답변드립니다.
WhatsApp 선택 사항
형식: +국가 코드 + 번호 (예: +82XXXXXXXXX).

버튼을 클릭하면 데이터 처리에 동의하는 것으로 간주됩니다.