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ı.

Özet

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!

Telegram
@Gamble_GC
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.