GH GambleHub

Sanal alanlar ve test ortamları

TL; DR

Sağlam sanal alan = tam izolasyon, sentetik/kişisel olmayan veriler, harici sistemlerin gerçekçi simülatörleri, öngörülebilir taraflar ve zaman yolculuğu, yerleşik idempotency ve webhooks, şeffaf sınırlar ve metrikler. Yiyecek - ulaşılamaz, anahtarlar - kazma, promosyon - sadece kontrol listelerinde.


1) Çevre haritası ve rolleri

ÇevreAmaçErişimVeriGüvenilirlik
Yerel/DevHızlı gelişimMühendislerSentetikler/Minimal KurgularDüşük
CI/TestÜnite/entegrasyon/sözleşme testleriCI/CDAutosidesOrtalama
Sahne/Ön prodSon montaj, regresyonSınırlıAnonimleştirilmiş anlık görüntülerYüksek
Genel SandboxDış ortaklar/tüccarlarKapı + sınırlarıSadece sentetiklerOrtalama
ProdKavgaSSO/Sıkı ErişimGerçekEn fazla

Kural: sandbox ≠ prod. Herhangi bir bağlantı - gerçek araçlara/oyunlara/kişisel verilere erişimi olmayan tek yönlü simülatörler aracılığıyla.


2) Veri: sentetikler, anonimleştirme, oturma

Varsayılan sentetikler. Pasaport/kart veri üreteçleri, geçerli ancak finansal olmayan PAN'lar (test BIN'leri), canlı oran ve bakiye modelleri.
Aşama için anonimleştirme: tanımlayıcıların tokenleştirilmesi, kümeler için farklı gizlilik, nadir kombinasyonların kaldırılması.
Sids ve determinizm: Tek takım - tek durum.

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

Zaman yolculuğu: Son tarih/son kullanma testleri için ortamın küresel "saati".


3) Simülatörler ve fişler (saplamalar)

Ödemeler/Bankalar/PSP

Auth/Capture/İade/Ödeme со сценариями: 'Onaylandı', 'reddedildi _ yetersiz', '3ds _ gerekli', 'zaman aşımı', 'çoğaltma'.
PSP webhooks: HMAC imzalı, retrai, gecikmeler ve "kirli internet".

KYC/AML/Yaptırımlar

Ответы: 'clear', 'pep _ match', 'sanction _ hit', 'doc _ mismatch', 'manual _ review'.
Prod'da olduğu gibi idempotency ve oran sınırlarını destekleyin.

Oyun sağlayıcıları/Katalog

Lobi, özellik, RTP/rounds - UX vakaları için sözde rastgele üretim, kontrollü "ödemeler/başarısızlıklar".

Seçenek: Simülatör "önem" anahtarı (mutlu yol vs kaos).


4) Sandbox'ta Webhooks

HMAC imzaları (v1), 'X-Event-Id', 'X-Timestamp' başlıkları, pencere ≤ 5 dakika.
Üstel geri alma, DLQ ve tekrar oynatma.
Konsol "yeniden gönder've denemelerin günlükleri.

Sözde:
pseudo
POST /psp/webhooks
Headers: X-Signature, X-Timestamp, X-Event-Id
Body: { event_id, type, data, attempt }

5) Idempotans ve determinizm

Tüm mutasyonlar 'Idempotency-Key'kabul eder.
Simülatörler sonucu anahtarla saklar (TTL 24-72 h).
"Tohum determinizmi": aynı girdi ile - aynı sonuç (tekrarlanabilir testler için).


6) Güvenlik ve erişim

Ağ izolasyonu/VPC, bireysel sırlar ve etki alanları ('sandbox. örnek. com ').
RBAC/ABAC: rolleri "ortak", "qa", "dev", belirteçlerin ospreys minimumdur.
Oran limitleri ve kotalar: kiracı/anahtar başına adil pay, anlaşılabilir '429'/' Retry-After'.
Sadece KMS/Vault'taki sırlar; Düzenli rotasyon.
Kod/yapılandırma düzeyinde gerçek ödemelerin yasaklanması (feature-flag hard block).


7) API Ağ Geçidi ve sandbox'ta gözlemlenebilirlik

Aynı politikalar: OAuth2/OIDC/JWT, CORS, WAF, DDoS profili.
Metrikler: p50/p95/p99, 4xx/5xx, isabet oranı limitleri, gecikme web kitapları, idempotent isabetleri.
Günlükler/izler: PII yok; Korelasyon 'trace _ id'.
Dashboard "Sandbox Health": çalışma süresi, webhook kuyrukları, simülatör hataları.


8) Özellik bayrakları, sürümleri ve uyumluluk

Kum havuzundaki özelliklerin dahil edilmesi - sahne - prod.
API için SemVer; Swagger/Redoc sanal alanlarında kullanımdan kaldırma/Sunset banner'ı.
GraphQL vitrinleri için ısrarlı sorgular (varsa).


9) Promosyon и CI/CD

1. Yapı/ünite

2. Sözleşme/Sahte testler (OpenAPI/Protobuf/GraphQL SDL)

3. Entegrasyon vs. Simülatörler

4. Sahne alanı regresyonu (anon. snapshots)

5. Kanarya в sopası.

Kapı-kontrol listesi promosyonu: aşağıda § 12.


10) Ortaklar için UAT komut dosyaları (sandbox)

Ödemeler: Web kitapları ve PSP hataları ile auth/capture/return/payout.
KYC/AML: Tüm durumlar + manuel yükseltme.
Idempotency: tekrarlanan 'Idempotency-Key' - aynı sonuç.
Hız sınırı: '429'un doğru kullanımı.
Zaman pencereleri: belirteçlerin sona ermesi, 'Retry-After', zaman yolculuğu durumları.
Webhooks: signatures/retrays/DLQ, manuel tekrar ve dedup.


11) Veri politikası ve gizlilik

Gerçek PAN/KYC rıhtımlarını asla sandbox/stage'de saklamayın.
Anonimleştirme: maskeleme, doğrudan tanımlayıcıları kaldırma, sentetik korelasyon.
Günlük ve webhook organlarının TTL depolanması rutin ≤.


12) Kontrol listeleri

12. 1 Yeni bir sanal alan başlatma

  • İzole Ağ/Baz/Önbellek/Nesne Depolama
  • KMS/Vault'ta oluşturulan sırlar, role göre erişim
  • PSP/KYC/oyun simülatörleri hecelenir ve sürümlendirilir
  • Swagger/Redoc + Postman koleksiyonu (sandbox uç noktaları)
  • Webhooks: HMAC, yeniden deneme, DLQ, tekrar konsol
  • Oran/Kota profilleri, Amortisman/Günbatımı afişleri (varsa)
  • Gösterge panoları ve uyarılar (gecikme, 5xx, 429, DLQ)

12. 2 Promosyon serbest bırakma (sahne - prod)

  • Sözleşme diff kontrolleri (kırılma yok)
  • Aşamada p95/p99 normal yükleyin
  • Webhooks UAT uygulandı, idempotency tamam
  • Özellik bayrakları hazırlanır, geri alma planı vardır
  • Changelog, göç kılavuzu ve ortaklara posta

13) Antipatterns

Prod hizmetlerine/veritabanlarına "gizlice" dokunan bir sanal alan.
Sahne alanı/sandbox'ta gerçek kart/pasaport verileri.
Webhook'ları/geri çekilmeleri olmayan simülatörler sadece "mutlu bir yol'dur.
Hiçbir idempotence - yinelenen ödemeler/bahisler.
Tüm ortaklar için ortak bir HMAC sırrı.
Sınırlar veya şeffaf 429/Retry-After yoktur.


14) Mini snippet'ler

.env sandbox (örnek)

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 parçası (sandbox sunucusu)

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

Idempotency pseudocode

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

PSP Simülatörü Tetikleyicileri

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

15) Sandbox gözlemlenebilirliği ve SLO

Çalışma süresi sandbox API ≥ 99. %5 (entegrasyon vitrini düşmemelidir).
Webhooks p95 ≤ 3 s - 2xx normal yükte.
Ağ geçidi ≤ 0'ın 5xx hata bütçesi. 1%.
Bağlantı portalı mevcuttur ve sözleşme ile senkronize edilmiştir.


16) Yönetişim

Çevre sahibi (SRE/Platform) ve steward API (sözleşmeler).
Değişiklikleri kırmak için RFC süreci, Kullanımdan Kaldırma/Günbatımı takvimi.
Genel sanal alan için ayrı limitler/kotalar ve "adil kullanım" fiyatlandırması.


Özgeçmiş Özeti

Sanal alan, geliştiriciler için bir üründür, "tabanın kopyası'değil. "Ver: sıkı izolasyon, sentetik veriler, webhooks ve retras ile tam teşekküllü simülatörler, yanlardan ve zaman yolculuğundan determinizm, özellik bayrakları ve şeffaf sınırlar. Her şeyi sözleşmelere, gözlemlenebilirliğe ve yönetişime bağlayın - entegrasyonlarınız hızlı, güvenli ve öngörülebilir hale gelecek ve ağrısız hale gelecektir.

Contact

Bizimle iletişime geçin

Her türlü soru veya destek için bize ulaşın.Size yardımcı olmaya her zaman hazırız!

Entegrasyona başla

Email — zorunlu. Telegram veya WhatsApp — isteğe bağlı.

Adınız zorunlu değil
Email zorunlu değil
Konu zorunlu değil
Mesaj zorunlu değil
Telegram zorunlu değil
@
Telegram belirtirseniz, Email’e ek olarak oradan da yanıt veririz.
WhatsApp zorunlu değil
Format: +ülke kodu ve numara (örneğin, +90XXXXXXXXX).

Butona tıklayarak veri işlemenize onay vermiş olursunuz.