GH GambleHub

Arenili e ambienti di prova

TL; DR

Cavo di sabbia affidabile = isolamento completo, dati sintetici/impersonali, simulatori di sistemi esterni realistici, sedili prevedibili e time-travel, idampotenza integrata e webhook, limiti trasparenti e metriche. Prod è irraggiungibile, le chiavi sono rotte, la promozione è solo un assegno-fogli.


1) Mappa degli ambienti e del loro ruolo

AmbienteObiettivoAccessoDatiAffidabilità
Local/DevSviluppo rapidoIngegneriSintetica/ficsture minimeBassa
CI/TestTest unit/integrazione/contrattazioneCI/CDSedili automaticiMedia
Stage/Pre-prodAssemblaggio finale, regressoLimitatoSnapshot anonimiAlta
Public SandboxPartner/merchant esterniGate + limitiSolo sinteticoMedia
ProdCombattivoSSO/accesso rigorosoRealiMassimo

Regola sandbox ≠ prod. Qualsiasi collegamento è tramite simulatori unilaterali senza accesso a mezzi/giochi/dati personali reali.


2) Dati: sintetica, anonimizzazione, seduta

Sintetico predefinito. Generatori di dati di passaporto/carta, validi ma non finanziari PAN (test BIN), pattern di scommesse e bilanci «vivi».
Anonimato per stage: tornizzazione degli identificatori, privacy differenziata per le unità, rimozione di combinazioni rare.
Sidi e determinismo, un comando è una condizione.

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

Time-travel - L'ora globale dell'ambiente per i test di deadline/espatrio.


3) Simulatori e stub (stubs)

Pagamenti/banche/PSP

Auth/Capture/Refund/Payout со сценариями: `approved`, `declined_insufficient`, `3ds_required`, `timeout`, `duplicate`.
Webhoop PSP firmati HMAC, retrai, ritardi e Internet sporco.

KYC/AML/Sanctions

Ответы: `clear`, `pep_match`, `sanction_hit`, `doc_mismatch`, `manual_review`.
Supporto di idempotenza e rate limits come in prod.

Provider di giochi/catalogo

Lobby, fitch, RTP/round - pseudoscienze, pagamenti/fallimenti gestiti per le valigette UX.

Opzione: pulsante di scelta «rigido» del simulatore (happy-path vs chaos).


4) Webhook nel cassonetto

Etichette HMAC (v1), intestazioni X-Event-ID, X-Timestamp, finestra 5 minuti.
Retrai con backoff esponenziale, DLQ e replay.
La console Riordina e i fogli di tentativo.

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

5) Idampotenza e determinismo

Tutte le mutazioni assumono «Idempotency-Key».
I simulatori memorizzano il risultato in chiave (TTL 24-72 ore).
Seed-Determinismo: allo stesso ingresso, lo stesso risultato (per i test ripetitivi).


6) Sicurezza e accesso

Isolamento delle reti/VPC, singoli segreti e domini ('sandbox. example. com`).
RBAC/ABAC: ruoli «partner», «qa», «dave», «token scoop» sono minimi.
Rate-limits e quote: giusta quota per-tenant/chiave, comprensibile con «429 »/« Retry-After».
I segreti sono solo in KMS/Vault; rotazione regolare.
Impedisce i pagamenti effettivi a livello di codice/configa (feature-flag hard block).


7) API Gateway e osservabilità in sandbox

Stessi criteri: OAuth2/OIDC/JWT, CORS, WAF, profilo DDoS.
Metriche: p50/p95/p99, 4xx/5xx, hit-rate limiti, latency webhooks, hit idempotent.
Loghi/roulotte senza PII; corellazione trace _ id.
Il Dashboard Salute della Sabbia, farmacia, code di webhoop, errori di simulazione.


8) Flag Fiech, versioni e compatibilità

Includere il fich nella sandbox → stage → prod.
SemVer per l'API Striscione Deprecation/Sunset in Swagger/Redoc scaffali.
Persisted queries per le vetrine graphQL (se disponibili).


9) CI/CD и promotion

1. Build/Unit →

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

3. Integrazione contro simulatori di →

4. Stage regress (anon. snapshot)

5. Canary в prod.

Foglio di assegno Gate promozione: sotto al punto 12.


10) Script UAT per i partner (in sabbia)

Pagamenti: auth/capture/refund/payout con webhoot e errori PSP.
KYC/AML: tutti gli stati + escalation manuale.
Idampotenza: «Idempotency-Key» ripropone lo stesso risultato.
Rate-limit: elaborazione corretta «429».
Finestre temporanee: Esporta token, Retry-After, time-travel valige.
Webhooks: firme/retrai/DLQ, replay manuale e deadup.


11) Politica dei dati e privacy

Non memorizzare mai real PAN/KYC in sandbox/stage.
Anonimato: occultamento, rimozione di identificatori diretti, correlazione sintetica.
Il TTL di memorizzazione dei cavi e dei corpi dei webhoop è regolamentare.


12) Assegno fogli

12. 1 Avvia una nuova cassetta di sabbia

  • Rete/database/cache/archivio oggetti isolati
  • Segreti creati in KMS/Vault, accesso a ruoli
  • I simulatori PSP/KYC/giochi sono rivestiti e versionati
  • Swagger/Redoc + Postman collezione (sandbox endpoants)
  • Webhook: HMAC, retry, DLQ, console replay
  • Profili Rate/Quote, banner Deprecation/Sunset (se disponibile)
  • Dashboard e alert (latency, 5xx, 429, DLQ)

12. 2 Promotion release (stage→prod)

  • Controlli differenti contrattuali (senza breaking)
  • Carico p95/p99 normale per stage
  • Webhook passato UAT, idempotica
  • Flag Fiech preparati, piano di rientro disponibile
  • Changelog, guida all'immigrazione e distribuzione ai partner

13) Antipattern

Una cassetta di sabbia che commuove segretamente i servizi/basi prod.
Dati di carta/passaporto reali in stage/sandbox.
I simulatori senza wabhook/retrai sono solo un sentiero felice.
La mancanza di idampotenza è duplicata da pagamenti/scommesse.
Un segreto HMAC condiviso per tutti i partner.
Nessun limite e nessuna trasparenza 429/Retry-After.


14) Mini snippet

.env. sandbox (esempio)

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

porzione OpenAPI (sandbox server)

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

Pseudocode idempotenza

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

Trigger del simulatore PSP

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

15) Osservabilità e SLO

Uptime sandbox API ≥ 99. 5% (la vetrina delle integrazioni non deve cadere).
Webhooks p95 ≤ 3 da a 2xx a carico normale.
Errore budget 5xx gateway ≤ 0. 1%.
Il portale doc è disponibile e sincronizzato con il contratto.


16) Governance

Proprietario dell'ambiente (SRE/Platform) e dell'API steward (contratti).
Processo RFC per le modifiche breaking, calendario Deprecation/Sunset.
Limiti/quote separati e price «fair-use» per la sabbia pubblica.


Curriculum

La sabbia è un prodotto per sviluppatori, non una copia della base. Fornite: isolamento rigoroso, dati sintetici, simulatori completi con webhoop e retrai, determinismo attraverso i sedili e time-travel, flag fich e limiti trasparenti. Vincolate tutti i contratti, l'osservabilità e la governance - e le vostre integrazioni diventeranno veloci, sicure e prevedibili, mentre le release saranno indolore.

Contact

Mettiti in contatto

Scrivici per qualsiasi domanda o richiesta di supporto.Siamo sempre pronti ad aiutarti!

Avvia integrazione

L’Email è obbligatoria. Telegram o WhatsApp — opzionali.

Il tuo nome opzionale
Email opzionale
Oggetto opzionale
Messaggio opzionale
Telegram opzionale
@
Se indichi Telegram — ti risponderemo anche lì, oltre che via Email.
WhatsApp opzionale
Formato: +prefisso internazionale e numero (ad es. +39XXXXXXXXX).

Cliccando sul pulsante, acconsenti al trattamento dei dati.