GH GambleHub

Қуттиҳои қуттиҳо ва муҳити озмоишӣ

TL; ДР

Қуттии мустаҳкам = изолятсияи пурра, маълумоти синтетикӣ/ғайришахсӣ, тренажерҳои воқеии системаҳои беруна, паҳлӯҳои пешгӯишаванда ва вақти сафар, idempotency ва webhooks, маҳдудиятҳои шаффоф ва ченакҳо. Ғизо - дастнорас, калидҳо - кофтан, таблиғ - танҳо дар рӯйхатҳои назоратӣ.


1) Харитаи муҳити зист ва нақшҳои онҳо

МуҳитМақсадДастрасӣМаълумотЭътимоднокӣ
Локалӣ/DevРушди босуръатМуҳандисонСинтетика/Афсонаҳои ҳадди аққалПаст
CI/СанҷишСанҷишҳои воҳиди/ҳамгироӣ/шартномаCI/CDАвтозидҳоБа ҳисоби миёна
Марҳила/Прод-продАнҷумани ниҳоӣ, регрессияМаҳдудСуратҳои беномБаландӣ
Сандбокс ҷамъиятӣШарикони хориҷӣ/тоҷиронДарвоза + маҳдудиятҳоТанҳо синтетикаБа ҳисоби миёна
ПродМуборизаSSO/Дастрасии қатъӣРеалДар аксар ҳолатҳо

Қоида: қуттии қуттӣ ≠ прод. Ҳама гуна пайвастшавӣ - тавассути тренажерҳои яктарафа бидуни дастрасӣ ба воситаҳои воқеӣ/бозиҳо/маълумоти шахсӣ.


2) Маълумот: синтетика, беном, нишастан

Синтетикаи пешфарз. Генераторҳои маълумот дар бораи шиноснома/корт, PAN-ҳои эътиборнок, вале ғайри молиявӣ (санҷиши BIN), шакли зинда ва тавозун.
Анонимизатсия барои марҳила: токенизатсияи идентификаторҳо, махфияти дифференсиалӣ барои агрегатҳо, нест кардани комбинатсияи нодир.
Сидҳо ва детерминизм: як даста - як давлат.

bash make db-reset && make db-seed ENV=sandbox SEED=2025_11_03

Вақти сафар: "соат" -и ҷаҳонии муҳити зист барои санҷишҳои мӯҳлат/мӯҳлат.


3) Симуляторҳо ва васлҳо (пояҳо)

Пардохтҳо/Бонкҳо/PSP

Auth/Capture/Баргардонидан/Payout so szenariymi: 'тасдиқшуда', 'радшуда _ нокифоя', '3ds _ талаб', 'вақт', 'нусхабардорӣ'.
Вебхукҳои PSP: HMAC имзо, ретрай, таъхирҳо ва "интернети ифлос".

KYC/AML/санксияҳо

Ответы: 'равшан', 'pep _ match', 'sanction _ hit', 'doc _ match', 'manual _ review'.
Дастгирии idempotency ва маҳдудиятҳои сатҳи мисли prod.

Провайдерҳои бозӣ/Каталог

Лобби, хусусият, RTP/давраҳо - насли псевдо-тасодуфӣ, "пардохтҳо/камбудиҳо" барои парвандаҳои UX назорат карда мешаванд.

Опсия: гузариши "вазнинӣ" -и симулятор (роҳи хушбахт ва бетартибӣ).


4) Вебхукҳо дар қуттии регзор

Имзоҳои HMAC (v1), сарлавҳаҳои 'X-Event-Id', 'X-Timestamp', тиреза ≤ 5 дақиқа.
Бозгашт бо бозгашти экспоненсиалӣ, DLQ ва такрорӣ.
Консол "дубора" ва гузоришҳои кӯшишҳо.

Псевдо:
pseudo
POST /psp/webhooks
Headers: X-Signature, X-Timestamp, X-Event-Id
Body: { event_id, type, data, attempt }

5) Идемпотентсия ва детерминизм

Ҳама мутатсияҳо 'Idempotency-Key' -ро қабул мекунанд.
Симуляторҳо натиҷаро бо калид нигоҳ медоранд (TTL 24-72 соат).
"Детерминизми тухмӣ": бо ҳамон вуруд - ҳамон натиҷа (барои санҷишҳои такрорӣ).


6) Амният ва дастрасӣ

Ҷудокунии шабака/VPC, сирри инфиродӣ ва доменҳо ('қуттии қуттӣ. намуна. com ').
RBAC/ABAC: нақшҳои "шарик", "qa", "dev", ospreys токенҳо ҳадди аққал мебошанд.
Меъёрҳо ва квотаҳо: ҳиссаи одилона барои як иҷорагир/калид, фаҳмо '429 '/' Retry-After'.
Асрҳо танҳо дар KMS/Vault; гардиши мунтазам.
Манъи пардохтҳои воқеӣ дар сатҳи рамз/конфигуратсия (блоки сахти хусусият).


7) Дарвозаи API ва мушоҳида дар қуттича

Ҳамон сиёсатҳо: OAuth2/OIDC/JWT, CORS, WAF, профили DD o.SS.
Нишондиҳандаҳо: p50/p95/p99, 4xx/5xx, маҳдудиятҳои хит-суръат, вебхукҳои ниҳонӣ, хитҳои номатлуб.
Гузоришҳо/роҳҳо: PII нест; таносуби 'trace _ id'.
Панели панели "Sandbox Health": вақти корӣ, навбати вебҳук, хатогиҳои симулятор.


8) Парчамҳо, версияҳо ва мутобиқати хусусиятҳо

Ворид намудани хусусиятҳо ба регбокс → марҳила → prod.
Semver барои API; Парчами амортизатсия/ғуруби офтоб дар қуттиҳои Swagger/Redoc.

Дархостҳои доимӣ барои дӯконҳои Graph


9) Таблиғи CI/CD i

1. Сохтан/Воҳид →

2. Озмоишҳои шартномавӣ/масхарабозӣ (Open

3. Интегратсия ва тренажерҳо →

4. Регрессияи марҳилавӣ (лаҳзаҳои фаврӣ) →

5. Канарӣ в прод.

Пешбурди рӯйхати дарвозаҳо: дар зер § 12.


10) Скриптҳои UAT барои шарикон (қуттича)

Пардохтҳо: auth/гирифтан/баргардонидан/пардохт бо webhooks ва хатогиҳои PSP.
KYC/AML: ҳама статусҳо + густариши дастӣ.
Idempotency: такрори 'Idempotency-Key' → ҳамон натиҷа.
Меъёри маҳдудият: Коркарди дурусти '429'.
Тирезаҳои вақт: ба охир расидани нишонаҳо, 'Retry-After', ҳолатҳои сафари вақт.
Webhooks: имзоҳо/ретрейҳо/DLQ, такрори дастӣ ва тарҳҳо.


11) Сиёсати маълумот ва махфият

Ҳеҷ гоҳ докаҳои воқеии PAN/KYC-ро дар қуттии қуттӣ/марҳила нигоҳ надоред.
Анонимизатсия: ниқоб, хориҷ кардани идентификаторҳои мустақим, таносуби синтетикӣ.
Нигоҳдории TTL гузоришҳо ва ҷасадҳои webhook ≤ реҷаи муқаррарӣ.


12) Рӯйхати санҷишҳо

12. 1 Оғози қуттии нав

  • Шабакаи ҷудошуда/База/Кэш/Нигоҳдории объект
  • Асрори дар KMS/Vault эҷодшуда, дастрасӣ аз рӯи нақш
  • PSP/KYC/тренажерҳои бозӣ навишта ва санҷида шудаанд
  • Ҷамъоварии Swagger/Redoc + Postman (нуқтаҳои ниҳоӣ)
  • Webhooks: HMAC, retry, DLQ, консолҳои такрорӣ
  • Профилҳои нархгузорӣ/квотаҳо, баннерҳои амортизатсия/ғуруби офтоб (агар бошад)
  • Панели панелҳо ва огоҳиҳо (дермонӣ, 5xx, 429, DLQ)

12. 2 Нашри таблиғот (марҳилаи → prod)

  • Санҷиши фарқияти шартнома (шикастан нест)
  • Дар марҳилаи муқаррарӣ p95/p99 бор кунед
  • Вебхукҳо аз UAT гузаштанд, idempotency ok
  • Парчамҳои хусусият омода карда шудаанд, нақшаи бозгашт мавҷуд аст
  • Changelog, дастури муҳоҷират ва фиристодани паёмҳо ба шарикон

13) Антипаттернҳо

Қуттии қуттӣ, ки "пинҳонӣ" ба хидматҳои prod/пойгоҳи додаҳо таъсир мерасонад.
Маълумоти воқеии корт/шиноснома дар марҳила/қуттии қуттӣ.
Симуляторҳо бидуни webhooks/retreats танҳо "роҳи хушбахт" мебошанд.
Не idempotence → такрори пардохтҳо/гаравҳо.
Як сирри умумии HMAC барои ҳамаи шарикон.
Ягон маҳдудият ё 429/Retry-After шаффоф вуҷуд надорад.


14) порчаҳои мини

.env. қуттии регзор (мисол)

dotenv
API_BASE=https://sandbox.api.example.com
OAUTH_ISS=https://sandbox.idp.example.com
PSP_SIM_URL=https://sandbox.psp-sim.example.com
KYC_SIM_URL=https://sandbox.kyc-sim.example.com
WEBHOOK_SECRET_ROTATION_DAYS=90
FEATURE_FORCE_SANDBOX_PAYMENTS=1

Фрагменти кушодани API (сервери қуттии қуттӣ)

yaml servers:
- url: https://sandbox.api.example.com/v1 description: Public Sandbox

Псевдокоди Idempotency

pseudo if store.exists(idem_key): return store.get(idem_key)
res = do_business()
store.set(idem_key, res, ttl=72h)
return res

Триггерҳои PSP Simulator

json
{ "scenario": "payout", "case": "declined_insufficient", "payout_id": "p_123" }

15) Мушоҳидаҳои Sandbox ва SLO

Қуттии қуттии API ≥ 99. 5% (намоиши ҳамгироӣ набояд афтад).
Webhooks p95 ≤ 3 s то 2xx ҳангоми сарбории муқаррарӣ.
Буҷаи хатогии 5xx дарвоза ≤ 0. 1%.
Портали docking дастрас аст ва бо шартнома ҳамоҳанг карда шудааст.


16) Идоракунӣ

Соҳиби муҳити зист (SRE/Платформа) ва идоракунандаи API (шартномаҳо).
Раванди RFC барои вайрон кардани тағирот, тақвими амортизатсия/ғуруби офтоб.
Маҳдудиятҳо/квотаҳо ва нархгузории "истифодаи одилона" барои қуттии ҷамъиятӣ.


Хулосаи дубора

Қуттии қуттӣ маҳсулот барои таҳиягарон аст, на "нусхаи пойгоҳ. "Бидеҳ: ҷудокунии қатъӣ, маълумоти синтетикӣ, тренажерҳои мукаммал бо вебҳукҳо ва ретраҳо, детерминизм тавассути тарафҳо ва вақти сафар, парчамҳои хусусӣ ва маҳдудиятҳои шаффоф. Ҳама чизро бо шартномаҳо, мушоҳидаҳо ва идоракунӣ пайваст кунед - ва интегратсияҳои шумо зуд, бехатар ва пешгӯишаванда мешаванд ва дарднокро раҳо мекунанд.

Contact

Тамос гиред

Барои саволҳо ё дастгирӣ ба мо муроҷиат кунед.Мо ҳамеша омодаем!

Оғози интегратсия

Email — муҳим аст. Telegram ё WhatsApp — ихтиёрӣ.

Номи шумо ихтиёрӣ
Email ихтиёрӣ
Мавзӯъ ихтиёрӣ
Паём ихтиёрӣ
Telegram ихтиёрӣ
@
Агар Telegram нависед — ҷавобро ҳамон ҷо низ мегиред.
WhatsApp ихтиёрӣ
Формат: рамзи кишвар + рақам (масалан, +992XXXXXXXXX).

Бо фиристодани форма шумо ба коркарди маълумот розӣ ҳастед.