لكل دليل عملة
الكتالوج لكل عملة هو نوع مختلف من كتالوج المحتوى والتسعير حيث يتم تصميم الأسعار المعروضة والحدود والمكافآت والحد الأدنى من الرهانات والجوائز الكبرى والنصوص الترويجية وفقًا لعملة اللاعب/المستأجر/المنطقة. الهدف هو إعطاء النقاط والقواعد السعرية المناسبة دون نسخ المنطق ودون مخاطر بسبب التحويلات أثناء السفر.
الآثار الرئيسية:- UX: خطوات السعر الطبيعي والأسعار «الجميلة» (₺9. 99، 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 هي نقطة حقيقة واحدة للتحويلات:- مقدم الدورات: الرئيسي والاحتياطي ؛ معدل التحديث (على سبيل المثال، كل دقيقة للتقلب، كل 15 دقيقة للاستقرار).
- الصمود المحدود: «دورات ليس أقدم من Δ t» (على سبيل المثال، p95 ≤ 5 دقائق).
- الفارق والعمولات: تم تشكيلها لكل مستأجر/منطقة/عملة.
- تجميد النوافذ: دورات «تجميد» لنوافذ المباراة/البطولة/العرض الترويجي حتى لا «يقفز» السعر.
- التدقيق: سجل إصدارات FX مع 'valid _ from/falid _ to' لتشغيل الشيكات.
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، 50 دولارا من دولارات الولايات المتحدة).
- المكافآت: التقريب إلى خطوة القسيمة (ريال برازيلي 1/ ₺5).
- ترتيب العمليات: 'raw = base fx (1 + spread) (1 + الرسوم)' → 'rounded = round_policy (raw)' → 'min/max clamp'.
على سبيل المثال: يمكن أن يعطي «تقريب البنوك» للأسعار خطوات «قبيحة» - استخدم سياسات صريحة.
4) الحدود والدقيقة/الحد الأقصى والجائزة الكبرى
الحد الأدنى/الحد الأقصى لكل عملة - ضع في اعتبارك القوانين المحلية وقيود RGS.
الجوائز الكبرى: إذا كان المزود يحمل جائزة كبرى بعملته (على سبيل المثال اليورو)، إظهار مكافئ محلي (مخبر) أو الاحتفاظ بمجمعات لكل عملة.
خطوات العملة: CLP/JPY بدون kopecks - كل الحدود صحيحة.
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: بعض الألعاب غير متاحة للعملات المشفرة/المحلية ؛ ويحتاج بعض مقدمي الخدمات إلى حد أدنى ثابت (على سبيل المثال €0. 20).
PSP: تعتمد طرق الدفع على العملة (PIX ↔ BRL، PayID ↔ AUD، Papara ↔ TRY) ؛ كما أن حدود الإيداع/السحب مختلفة.
القاعدة: يقوم الكتالوج/واجهة المتجر بتصفية الألعاب وطرق الدفع حسب العملة والاختصاص قبل العرض.
7) المخطط المعماري
مخزن سياسة العملة (CP) - جداول القواعد لكل عملة (الخطوات والحدود ونقاط الأسعار والتقريب).
خدمة FX: ذاكرة تخزين مؤقت للدورات والإصدارات ونضارة SLA.
منشئ الكتالوج: ينتج نماذج قراءة لكل عملة (إسقاطات).
واجهة برمجة التطبيقات للقراءة: التوقعات النهائية للقراءة ؛ لا توجد تحويلات أثناء الطيران في مسار واجهة المستخدم الساخن.
توقعات → Outbox: FX/تغييرات السياسة → أحداث 'CuturePolicyUpdated/FXUdated' → تحديثات النوافذ الإضافية.
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)
);
تحديثات - "UPSERTs' الخفية من أحداث الدليل + أحداث/سياسات FX.
9) التنسيق والمواقع
الرمز/الرمز: «₺/TRY»، «R $/BRL»، «€»، «USDT» (للتشفير - بدون كوبيكات أو بأحرف 2، وفقًا لسياسة UX).
التجميع والفصل العشري: يعتمد على «الموقع» (ru_RU، tr_TR، pt_BR).
RTL/Arabic locales: فحص منفصل لصحة علامة العملة.
10) التخزين المؤقت والأداء
ردود كتالوج مخبأ لكل عملة في 30-120 ثانية ؛ إعطاء مؤشر FX 'as _ of' في الرد.
معطل: أحداث «FXUpdated »/« PolicyUpdated »/« GameUpserted» → تدفق مفتاح ذاكرة التخزين المؤقت المستهدف.
التثبيت بالمؤشرات بحيث لا «يقفز» ترتيب البطاقات مع تحديثات الأسعار الصغيرة.
11) إمكانية الرصد و SLO
المقاييس:- 'catalog _ p95 _ ms' по валютам,' fx _ freshness _ ms' (p50/p95/p99), 'policy _ refresh _ latency _ ms'.
- حصة الأسعار «القبيحة» (لا تكمن على الخطوة)، حصة المعاملات المرفوضة بسبب القيود.
- التناقض «عرض مقابل حساب» عند تسجيل المغادرة (حيث يحدث الخصم الحقيقي).
- FX أقدم من SLA، زيادة في أخطاء التقريب، زيادة في PSP تحد من الإخفاقات.
- الحد الأدنى من RGS ويظهر الحد الأدنى من عدم التطابق.
12) الامتثال والضرائب والإقامة
لكل عملة ≠ لكل بلد: اتبع الجمع بين «ترخيص العملة + geo +».
القواعد/الرسوم الضريبية - في سياسة العملة وفي الشيك.
الإقامة: بيانات وحسابات العملات المحلية - في المنطقة المقابلة.
13) الاختبار
على أساس الملكية: ثابت «بعد التحويل والتقريب، يقع السعر على الخطوة» ؛ «min ≤ value ≤ max».
الحالات الذهبية: مجموعة العملات المرجعية/أسعار الانحدار.
الفوضى FX: دورات «القفز»، تجميد النوافذ، تبديل مزود FX.
E2E: إمكانية مطابقة المبلغ الوارد في العرض والمبلغ الإجمالي المشطوب ؛ التسامح ≤ 0. وحدات العملات 01 (أو الدرجة 1).
14) أخطاء نموذجية
أعد حساب واجهة برمجة التطبيقات المقروءة أثناء الطيران → UX غير المستقر وعالي p99.
تجاهل تحركات العملة (CLP/JPY) → نصف بنس وفشل RGS/PSP.
تقريبًا من العادة (تقريب المصرفيين) بدلاً من قواعد واضحة لكل سياسة.
من المستحيل → عدم إصلاح إصدار FX في الشيك لحل النزاعات.
→ فئات المكافآت الفردية عبر العملات الأجنبية أرقامًا «غريبة» للأسواق المحلية.
إخفاء الرسوم في العملات الأجنبية دون شفافية هو خطر المطالبات والغرامات.
15) وصفات سريعة
الرهانات في TRY/BRL: خطوة ₺1/R 0 دولار. 50، سعر الحد الأدنى يصل إلى الخطوة، نقاط سعر «جميلة» للحزم.
Crypto (USDT/USDC) خطوة 0 دولار. 10، التقريب إلى أقرب خطوة، لا توجد عمولات في العرض (ولكن مرئية في الشيك).
العملات الأجنبية عالية التقلب: تجميد المباريات/الترويج ؛ تنبيهات بأكثر من 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) قائمة مرجعية قبل البيع
- العملة الأساسية الموحدة ونسخة العملات الأجنبية في كل فحص/حدث.
- تحدد سياسات التقريب/الخطوة/الحد حسب العملة وتغطيها الاختبارات.
- توقعات الدليل لكل عملة جاهزة ؛ الطريق الساخن لا يتحول.
- يتم عرض/تقطير الجوائز الكبرى والمكافآت بشكل صحيح لكل عملة.
- يتم تصفية طرق PSP بالعملة ؛ تتزامن الحدود مع العرض.
- تم تكوين اتفاقيات وإنذارات نضارة FX ؛ تجميد النوافذ للأحداث المتقلبة.
- توطين أرقام ورموز العملات ؛ نماذج ترويجية غير صلبة.
- تغييرات سياسة مراجعة الحسابات/العملات الأجنبية ؛ تحقق من قابلية التكاثر.
- متعدد المستأجرين/المنطقة: عزل البيانات، وفروق وحدود مختلفة.
- كتب اللعب الخاصة بالحوادث: قفزة FX، عدم تطابق الحد الأدنى من RGS، فشل حد PSP.
استنتاج
لكل كتالوجات العملات هو تخصص هندسي، وليس "مضاعفة في الدورة. "فئة وتمثيل منفصلان، ومركزية العملات الأجنبية وسياسات التقريب، وتجسيد التوقعات لكل عملة، وقياس النضارة. ثم سيكون العرض سريعًا ويمكن التنبؤ به وصادقًا، وستتم حماية الأعمال من خسائر الهامش الخفية والمفاجآت التنظيمية في الأسواق المحلية.