Тавозун ва ҳамёнҳо: меъмории бисёрҷанба
1) Чаро ҳамён ва кадом ҳадафҳо
Як вуруди "balance = рақам" воқеияти IGaming-ро фаро намегирад. Ҳамёнҳо/зершабақаҳои алоҳида лозиманд: пули воқеӣ (пули нақд), фондҳои бонусӣ, ҳавзи гарав, freespins, нуқтаҳои компютерӣ, баъзан ҳамёнҳои асъорӣ (EUR/USD/BRL).
Ҳадафҳои меъморӣ инҳоянд:- Дурустии пул (вуруди дукарата, аудитория).
- Сиёсати аз ҳисоб баровардан (масалан, аввал бонус/вагер, баъд пули нақд).
- Суръат (p95 API ≤ 250-400 мс, Бет/ҳисоб дар вақти воқеӣ).
- Бехатарӣ ва мутобиқат (KYC/AML, маҳдудиятҳои бозӣ, танзимгарон).
- Миқёс: қуллаҳо → даҳҳо ҳазор амалиёт/сония, миллиардҳо паёмҳо дар як моҳ.
2) Модели маълумот: "Ledger + Subwallets"
Субъектҳои минималӣ
Ҳисоб: плеер/бренд/бозор.
Намунаи ҷадвалҳо (соддакардашуда)
sql
- Ҳисоботи тавозун барои воридшавии дукарата (аз ҷумла бизнес)
ҳисобҳо (id, owner_user_id, намуд, асъор, мақом,...)
- Ҷойгиркунӣ (вуруди дукарата, истинод ба муомилоти корӣ)
 (ид, , , , пул, категория, , )
- Захираҳо (захираҳо)
доранда (id, account_id, amount_minor, асъор, ақл, expires_at, ҳолат, operation_id, created_at)
- Сиёсати аз ҳисоб баровардан (афзалиятҳо)
spend_policies (ид, бозор, wallet_priority jsonb, updated_at)
- Қурби салиб ( , , қурб, дақиқ, )Қоида: Ҳақиқат дар маҷаллаи транзаксия зиндагӣ мекунад ('ledger _ entries'). Тавозуни ҷорӣ ё агрегат (лаҳзаи материализатсияшуда) аст ё аз маҷалла ҳисоб карда мешавад (гарон, аммо танҳо дуруст аст).
3) Намудҳои ҳамёнҳо ва рафтори онҳо
4) Сиёсати аз ҳисоб баровардан ва тартиби афзалиятнок
Алгоритми манбаи маблағро ба таври возеҳ ба расмият дароред: Намуна (слотҳо/казиноҳо):1. Аввалан, аз WAGER хориҷ кунед (агар гарав фаъол бошад).
2. Пас аз BONUS то хастагӣ.
3. Боқимонда аз CASH аст.
Намуна (варзиш):1. Аввалин CASH (танзимкунанда/андоз).
2. Сипас BONUS (freebet), ба WAGER тарҷума мешавад.
"Қарори сиёсат" -ро ҳамчун як хусусият дар Postings сарфа кунед, то дастгирӣ ва аудит "чаро онҳо онро навиштаанд".
5) Давраи ҳаёти пул ва амалиёт
Амонат
1. 'POST/ҳамён/амонат' → эҷоди вуруди интизорӣ (паёмдони ҳасибии PSP).
2. Webhook PSP (имзои HMAC, номутобиқатӣ аз ҷониби 'operation _ id') → CASH, категорияи = 'DEPOSIT'.
3. Мо чорабинии 'ҳамён _ навсозӣ' -ро нашр мекунем.
Меъёри
1. 'POST/bet/place' → эҷод кардани захира (захира) дар суратҳисоби манбаъ (CASH/BONUS/WAGER).
2. Ҳангоми тасдиқи қурб, интиқоли манбаи дебетӣ, қарзи ҳисоби хидматрасонии "ҳисоббаробаркунӣ" -и провайдер § мебошад.
3. Пас аз бекоркунӣ - озод кардан.
Ҳисоббаробаркунӣ (натиҷа)
Фоида: дебети ҳисоби "ҳисоббаробаркунӣ" -и провайдер → CASH ё сиёсати WAGER → BONUS → CASH.
Талафот: "хароҷот" -и провайдерро бо муомилот → бидуни қарз ба плеер пӯшед.
1. Тафтиши KYC/AML, маҳдудиятҳои бозӣ.
2. Маблағи хуруҷро нигоҳ доред.
3. Муваффақияти PSP → дебети ниҳоии CASH → суратҳисоби кредитии "пардохт".
4. Нашри PSP → ноком шуд.
6) Idempotence ва маҳз як маротиба "дар доираи маъно"
Дар ҳама ҷо 'operation _ id' (UUID/ULID-и мукаммал) бо шохиси беназир. Аз нав дархост кардани § ҳолати транзаксияи гузашта.
Вебхукҳои провайдери PSP/бозӣ: Ҷадвали паёмдони бо dedupe аз ҷониби 'event _ id + имзо'. Коркард - коргари idempotent (намунаи Outbox).
Idempotency-Key дар HTTP барои муштарӣ; TTL-ро ≥ 24-72 соат нигоҳ доред.
7) Захираҳо ва нигоҳдорӣ
Нигоҳ доштан аз ҳисоб хориҷ карда намешавад, балки "ях" -и тавозуни мавҷуда мебошад.
Қоидаҳо:- Ҳаётро нигоҳ доред: сонияҳо → дақиқа (суръат) ё соат (натиҷа).
- Нигоҳдориро қисман ё пурра хомӯш кардан мумкин аст (қисман ҳал кунед).
- Вақте ки ба итмом мерасад - озодкунӣ ва рӯйдоди худкор.
- Нигоҳ доштани 'hold _ id' ↔ 'bet _ id/бозпас гирифтани _ id'.
8) асъор, FX ва яклухткунӣ
Маблағи пулӣ - дар воҳидҳои ночиз (сент), намуд - бутун.
Яклухткунии бонк (нисфи мудаввар то ҳатто) ё аз ҷониби T & C.
FX: 'CASH (EUR)' ↔ 'CASH (Доллари ИМА)' тақсим кардани ҳамёнҳо беҳтар аст. Табдил додан ҳамчун амалиёти алоҳида:- 'EUR EUR, FX_EURUSD' кредитӣ ва' debit FX_EURUSD, қарзи доллари ИМА - шаффоф барои аудит.
- Ба таври худкор ба курс дар баҳс "расидан" манъ аст; ҳамаи қоидаҳо дар сиёсати FX мебошанд.
9) Бозӣ ва маҳдудиятҳои масъул
Маҳдудиятҳои амонатӣ/гарав/зиён/сессия (рӯз/ҳафта/моҳ), хунуккунӣ, худдорӣ.
Ҳамчун санҷиши пешакӣ пеш аз нигоҳ доштан/дебет татбиқ карда мешавад.
Гузоришҳои нокомӣ - дар дафтари алоҳидаи аудит, ки барои дастгирӣ ва танзимкунанда дастрасанд.
10) Сигналҳои зидди қаллобӣ дар атрофи ҳамён
Кластерҳои дастгоҳ/ASN, зуд-зуд пасандозҳои хурд → хуруҷи калон, шакли шустушӯ.
Маҳдудияти суръат аз 'амонат/дар дохили' аз ҷониби BIN/кишвар/дастгоҳ.
Рӯйхати блокҳо барои гирандагон (ҳамёнҳо/IBAN), рӯйхати "хачирҳо".
Чорабиниҳои ҳамён → дар мағозаи хусусияти баҳодиҳӣ (воридшавӣ/амонат/меъёри).
11) Мувофиқат ва иҷро
Ҳақиқӣ vs кэш
Ҳақиқат дар дафтар аст. Барои "мувозинат гирифтан" API, лаҳзаи моддиро нигоҳ доред ('user _ id + wallet _ type → balance_minor, версия').
Нависед: муомилот дар махзани маълумотҳо → кэшро беэътибор мекунад.
Дар ҷараёни "вазнин" (зинда), кӯтоҳ-TTL 1-5 s + санҷиши ҳатмии пеш аз хуруҷ/гарави калон мувофиқ аст.
Scalding
Sharding by 'user _ id' (модул/рейтинг), ҳавзҳои ҷудогона барои CASH vs BONUS.
Калидҳои гарм (VIP/bots) - дархост аз ҷониби 'user _ id'.
Агрегатсияҳои асинхронӣ (дар пасзамина "ҷойгиркунӣ" → "лаҳзаи навсозӣ" -ро эҷод кунед).
12) Шартномаҳои API (псевдо)
Тавозун
http
GET/v1/ҳамёнҳо? намудҳо = CASH, BONUS
→ 200 {"ҳамёнҳо": [
{"навъи ": "CASH ", "асъор ": "EUR ", "дастрас": 12050," нигоҳ доред": 500," версия": 1942}, {"навъи ": "BONUS ", "асъор ": "EUR ", "дастрас": 3000," wager _ req": 15000}
]}Бет (бо нигоҳ доштан)
http
POST/v1/гарав/ҷой
{"bet _ id ": "b _ 123 ", "маблағ ": 500, "асъор ":" EUR"," source _ policy":" казино _ пешфарз", "idempotency_key":"ik_abc"}
→ 201 {"статус ": "HOLD ", "hold _ id ":" h _ 789"," ба охир мерасад _ дар": 30}Ҳисоббаробаркунӣ
http
POST/v1/гарав/ҳал
{"bet _ id ": "b _ 123 ", "натиҷа":" WIN"," пардохт": 1250}
→ 200 {"статус ": "SOLED "," cash _ delta": + 1250}http
POST/v1/бозхонд
{"бозпас гирифтани _ id ": "w _ 456 ", "маблағ ": 10000," асъор":" EUR"," усул":" sepa", "idempotency_key":"ik_def"}
§ 202 {"давлат ": "Интизорӣ ", "next _ check _ sec ": 2, "status _ url": "/v1/бозхонд/w _ 456"}13) Намунаҳои постҳо (вурудоти дугона)
Пасандоз 100 евро (ҳаққи PSP €1, коммис. ҳисоб - алоҳида)
Дебет: PSP_Settlements (EUR) 10000
Қарз: Корбар. CASH (EUR) 10000
Дебет: Корбар. CASH (EUR) 100 (басти пардохт)
Қарз: PSP_Fees (EUR) 1005 евро аз BONUS (интиқол ба WAGER)
Дебет: Корбар. БОНУС (EUR) 500
Қарз: Корбар. WAGER (EUR) 500 (гузариш ба гарав)
Дебет: Корбар. WAGER (EUR) 500
Қарз: Таъминкунанда. Ҳисоббаробаркунӣ (EUR) 500 (меъёри сабтшуда)12 евро бурд кунед. 5 → дар CASH
Дебет: Таъминкунанда. Ҳисоббаробаркунӣ (EUR) 1250
Қарз: Корбар. CASH (EUR) 1250Аз ҳисоб хориҷ кардан (амалисозӣ тавассути ҳисоби хидматрасонии HOLD)
Дебет: Корбар. CASH (EUR) 500
Қарз: Корбар. HOLD (EUR) 500 (бо нигоҳдорӣ сохта шудааст)
- дар ҷои зист
Дебет: Корбар. HOLD (EUR) 500
Қарз: Таъминкунанда. Ҳисоббаробаркунӣ (EUR) 500
- дар бораи бекоркунӣ
Дебет: Корбар. HOLD (EUR) 500
Қарз: Корбар. CASH (EUR) 50014) Аудит, тағйирнопазирӣ ва мувофиқат
WORM/дахлнопазирии журнал (нигоҳдории объект/бойгонии WAL).
Дастрасӣ ба мета-журналҳо: онҳое, ки маҳдудиятҳоро мехонанд/иваз мекунанд, тасҳеҳи дастӣ кардаанд (танҳо тавассути "тасҳеҳ-ҷойгиркунӣ" бо асос).
GDPR/танзимгарон: нигоҳдории амалиётҳо дар тӯли 5-10 сол (аз рӯи салоҳият), шаффофияти ҳисоббаробаркуниҳо барои бозингар (таърихи аз ҳисоб баровардан/гарав).
15) Таҳаммулпазирии хато ва ДР
Multi-AZ ҳатмӣ; DR-минтақа барои ҳамён: такрори синхронӣ дар минтақа, асинк - ба минтақа; PITR фаъол аст.
Тарғиби интизорӣ - танҳо дастӣ аз рӯи рӯйхати назоратӣ (ба истиснои тақсимшавӣ-майна).
Санҷиши ҳафтаина (барқароркунии санҷиш), муқоисаи миқдори ҳисоботҳои назоратиро барқарор кунед.
16) Мушоҳидаи ҳамён
SLI: 'амонат _ муваффақият _ таносуб', 'бозпас гирифтани _ муваффақият _ таносуб', 'bet _ hold _ latency _ p95', 'solution _ latency _ p95'.
Тех: 'ledger _ postings _ rate', 'db _ connections _ saturation', 'quenue _ lag _ seconds', 'hold _ expired _ rate'.
Огоҳиҳо: Пастшавии муваффақияти PSP дар бозор, афзоиши 'hold _ mashired _ rate', провайдери бозӣ аз синхронизатсия (бе тасдиқ> N min).
17) Санҷиш ва назорати сифат
Санҷишҳои шартномавӣ бо провайдерҳои PSP/бозӣ (webhooks/signations).
Санҷишҳои ба амвол асосёфтаи пул: маблағи дебетҳо = = ҷамъи қарзҳо дар ҳар як Хабар.
Fuzz/бетартибӣ: таъхири PSP/провайдер, такрори webhook, пашшаҳои шабака.
Сарборӣ: буридани гаравҳо (60-120 с), soaks (4-8 соат), назорати 'навбат _ lag' ва p99.
18) Рӯйхати санҷиши омодагии истеҳсолӣ
- Вуруди дафтарчаи дукарата, ҳама амалиётҳо тавассути Posting бо 'operation _ id'.
- Сиёсати сарфакорона ва тартиби афзалиятнок (бо ҷойгиркунӣ идома дорад).
- Бо TTL/қисман ҳал/ба итмом расидани мӯҳлат, иртибот бо Бет/бозпас гирифтан нигоҳ дошта мешавад.
- Қуттии паёмдони/Outbox, webhooks HMAC, аблаҳӣ дар ҳама марзҳо.
- Ҳамёнҳои инфиродӣ CASH/BONUS/WAGER/FS/POINTS; тақсим аз рӯи асъор.
- FX ва яклухткунии хурд; табдилдиҳӣ - амалиёти алоҳида.
- Маҳдудиятҳои бозӣ барои нигоҳ доштан/дебет; аудити ноком.
- Кэш (TTL кӯтоҳ) + санҷиши ҳақиқатро пеш аз амалҳои интиқодӣ хонед.
- PITR/нусхабардорӣ/скриптҳои DR; тарғиби дастӣ, машқҳои мунтазами DR.
- Панели панелҳо/огоҳиҳои SLI + техникӣ; Гузоришҳои WORM ва гузоришҳои дастрасӣ.
- Санҷишҳои сарборӣ/бетартибӣ; ҳисоботҳои оштӣ бо PSP/провайдерҳо.
Хулосаи дубора
Архитектураи бисёрҷанба "рақамҳои зиёди тавозун" нест, балки системаи молиявӣ бо воридшавии дукарата, сиёсати хароҷот, фармоиш ва пайгирии шаффоф барои аудит ва бозингарон мебошад. Ҳақиқатро дар журнал нигоҳ доред, нигоҳдорӣ ва аблаҳӣ, ҳамёнҳо ва асъорҳои алоҳида, ҳамоҳангсозӣ ва DRро автоматӣ кунед. Ҳамин тавр, ҳамён барои UX зуд хоҳад буд, барои пул дақиқ аст ва ба сарбории қулла ва санҷишҳои танзимкунанда тобовар аст.
