GH GambleHub

Құмсалғыштар және қамыр ортасы

TL; DR

Сенімді құмсалғыш = толық оқшаулау, синтетикалық/иесіз деректер, сыртқы жүйелердің шынайы симуляторлары, болжанатын сидтер мен time-travel, кіріктірілген идемпотенттік және вебхукстер, мөлдір лимиттер мен метриктер. Прод - қол жетпейміз, кілттер - ротацияланады, promotion - тек чек-парақтар бойынша.


1) Қоршаған ортаның картасы және олардың рөлдері

ҚоршауМақсатыҚатынасуДеректерСенімділік
Local/DevЖылдам әзірлеуИнженерлерСинтетика/минималды фикстураларТөмен
CI/TestЮнит/интеграциялық/келісімшарттық тестілерCI/CDАвтосидтерОрташа
Stage/Pre-prodСоңғы құрастыру, регрессШектеуліЖасырын снапшоттарЖоғары
Public SandboxСыртқы әріптестер/сатушыларГейт + лимиттерТек синтетикаОрташа
ProdЖауынгерлікSSO/қатаң қатынасНақтыМаксимумы

Ереже: sandbox ≠ prod. Кез келген байланыс - нақты құралдарға/ойындарға/дербес деректерге қол жеткізбейтін біржақты симуляторлар арқылы.


2) Деректер: синтетика, анонимдеу, отыру

Әдепкі синтетика. Паспорттық/карточкалық деректердің генераторлары, валидті, бірақ қаржылық емес PAN (тест BIN), ставкалар мен баланстардың «тірі» паттерндері.
stage үшін анонимдеу: идентификаторларды токенизациялау, агрегаттар үшін сараланған жекешелендіру, сирек комбинацияларды жою.
Сидтер мен детерминизм: бір команда - бір күй.

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

Time-travel: мерзімі ұзартылған/экспирация тестілері үшін жаһандық «сағат».


3) Симуляторлар мен тығындар (stubs)

Төлемдер/банктер/PSP

Auth/Capture/Refund/Payout со сценариями: `approved`, `declined_insufficient`, `3ds_required`, `timeout`, `duplicate`.
PSP вебхуттары: HMAC қол қойған, ретраялары, кідірістері және «лас интернет».

KYC/AML/Sanctions

Ответы: `clear`, `pep_match`, `sanction_hit`, `doc_mismatch`, `manual_review`.
Демпотенттікті және rate limits prod сияқты қолдау.

Ойын провайдерлері/каталогы

Лобби, фичтер, RTP/раундтар - UX-кейстер үшін «төлемдер/сәтсіздіктер» басқаратын жалған кездейсоқ генерация.

Параметр: симулятордың «қатаңдығын» қосқыш (happy-path vs chaos).


4) Құмсалғыштағы вебхактар

HMAC (v1) қолдары, «X-Event-Id», «X-Timestamp» тақырыптары, терезе ≤ 5 минут.
Экспоненциалды backoff, DLQ және replay ретрайлері.
«Қайта жіберу» консолы және әрекеттер логы.

Жалған:
pseudo
POST /psp/webhooks
Headers: X-Signature, X-Timestamp, X-Event-Id
Body: { event_id, type, data, attempt }

5) Идемпотенттілік және детерминизм

Барлық мутациялар 'Idempotency-Key' деп қабылданады.
Симуляторлар нәтижені кілт бойынша сақтайды (TTL 24-72 сағ).
«Seed-детерминизм»: бір кіру кезінде - бірдей нәтиже (қайталанатын тестілер үшін).


6) Қауіпсіздік және қол жетімділік

Желілерді/VPC оқшаулау, жеке құпиялар мен домендер ('sandbox. example. com`).
RBAC/ABAC: «partner», «qa», «dev» рөлдері, токендер шоғырлары ең аз.
Rate-limits және квоталар: per-tenant/кілттің әділ үлесі, түсінікті '429 '/' Retry-After'.
Тек KMS/Vault құпиялары; тұрақты ротация.
Код/конфига (feature-flag hard block) деңгейінде нақты төлемдерге тыйым салу.


7) API Gateway және sandbox бақылау

Сол саясат: OAuth2/OIDC/JWT, CORS, WAF, DDoS-профиль.
Метриктер: p50/p95/p99, 4xx/5xx, hit-rate лимиттері, latency webhooks, демпотенттік хиттер.
Логи/трейдер: PII-сыз; 'trace _ id' корелляциясы.
Дашборд «Құмсалғыштың денсаулығы»: аптайм, вебхуктардың кезектері, симуляторлардың қателіктері.


8) Фича-жалаулар, нұсқалар және үйлесімділік

sandbox → stage → prod.
SemVer үшін API; Swagger/Redoc құмсалғыштағы Deprecation/Sunset баннері.
Persisted queries үшін GraphQL-витриналар (егер бар болса).


9) CI/CD и promotion

1. Build/Unit →

2. Contract/Mock tests (OpenAPI/Protobuf/GraphQL SDL) →

3. Симуляторларға қарсы интеграциялық →

4. Stage регресс (анон. snapshotlar) →

5. Canary в prod.

Gate-чек-парағы promotion: § 12-ден төмен.


10) Серіктестерге арналған UAT-сценарийлер (құмсалғышта)

Төлемдер: auth/capture/refund/payout веб-хукпен және PSP қателерімен.
KYC/AML: барлық мәртебелер + қолмен эскалация.
Теңсіздік: қайталама 'Idempotency-Key' → сол нәтиже.
Rate-limit: '429' дұрыс өңдеу.
Уақытша терезелер: токендер экспирациясы, 'Retry-After', time-travel кейстері.
Webhooks: қолтаңбалар/ретрайлер/DLQ, қолмен replay және дедуп.


11) Деректер саясаты және құпиялылық

Real PAN/KYC доктарын ешқашан sandbox/stage бағдарламасында сақтамаңыз.
Анонимдеу: жасыру, тікелей сәйкестендіргіштерді жою, синтетикалық корреляция.
TTL регламенттік ≤ вебхук логтары мен денелерін сақтау.


12) Чек парақтары

12. 1 Жаңа құмсалғышты іске қосу

  • Оқшауланған желі/база/кэш/нысан сақтау орны
  • Құпиялар KMS/Vault бағдарламасында жасалған, рөлдер бойынша қатынау
  • PSP/KYC/ойындар симуляторлары жылдам және нұсқаланған
  • Swagger/Redoc + Postman жинағы (sandbox endpoints)
  • Вебхактар: HMAC, retry, DLQ, console replay
  • Rate/Quota бейіндері, Deprecation/Sunset баннерлері (бар болса)
  • Дашбордтар мен алерталар (latency, 5xx, 429, DLQ)

12. 2 Promotion release (stage→prod)

  • Келісімшарттық diff-тексерулер (breaking жоқ)
  • Жүктеме p95/p99 қалыпты stage
  • Вебхактар UAT-тан өтті, іспеттілік ок
  • Фича-жалаулар дайындалды, қайтару жоспары бар
  • Changelog, көші-қон гид және серіктестерге тарату

13) Антипаттерндер

prod-сервистерге/базаларға «жасырын» әсер ететін құмсалғыш.
Нақты карточка/паспорт деректері stage/sandbox.
Вэбхуксыз/ретрасыз симуляторлар - тек қана «бақытты соқпақ».
Төлемдердің/ставкалардың телнұсқаларының болмауы.
Барлық серіктестер үшін бір ортақ HMAC-құпия.
Лимиттер мен мөлдір 429/Retry-After жоқ.


14) Шағын сниппеттер

.env. sandbox (мысал)

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

OpenAPI фрагменті (sandbox сервері)

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

Жалған идемотенттілік коды

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

PSP симулятор триггерлері

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

15) Бақылау және SLO құмсалғыш

Uptime sandbox API ≥ 99. 5% (интеграция витринасы төмендемеуі тиіс).
Webhooks p95 ≤ 3 қалыпты жүктеме кезінде 2xx дейін.
Error budget 5xx шлюз ≤ 0. 1%.
Док-портал қолжетімді және келісімшартпен үндестірілген.


16) Governance

Қоршаған ортаның иесі (SRE/Platform) және steward API (келісімшарттар).
Breaking-өзгерістер үшін RFC процесі, Deprecation/Sunset күнтізбесі.
Көпшілік құмсалғышы үшін жеке лимиттер/квоталар және «fair-use» прайсингі.


Түйіндеме

Құмсалғыш - бұл «базаның көшірмесі» емес, әзірлеушілер үшін өнім. Қатаң оқшаулауды, синтетикалық деректерді, вебхукпен және ретрамен толыққанды симуляторларды, сидтер мен time-travel арқылы детерминизмді, фича-жалауларды және мөлдір лимиттерді беріңіз. Барлығын келісімшарттармен, бақылаушылықпен және governance-пен байланыстырыңыз - интеграцияларыңыз жылдам, қауіпсіз және болжамды болады, ал релиздеріңіз ауыртпалықсыз болады.

Contact

Бізбен байланысыңыз

Кез келген сұрақ немесе қолдау қажет болса, бізге жазыңыз.Біз әрдайым көмектесуге дайынбыз!

Интеграцияны бастау

Email — міндетті. Telegram немесе WhatsApp — қосымша.

Сіздің атыңыз міндетті емес
Email міндетті емес
Тақырып міндетті емес
Хабарлама міндетті емес
Telegram міндетті емес
@
Егер Telegram-ды көрсетсеңіз — Email-ге қоса, сол жерге де жауап береміз.
WhatsApp міндетті емес
Пішім: +ел коды және номер (мысалы, +7XXXXXXXXXX).

Батырманы басу арқылы деректерді өңдеуге келісім бересіз.