Stripe Sandbox vs Live mode
Stripe offre due ambienti distinti: Test mode (chiamato anche Sandbox) per sviluppo e test, e Live mode per pagamenti reali. Capire come funzionano e come passare da uno all'altro evita errori costosi.
Differenze tra Test e Live
Test mode è una replica funzionale di Live ma senza movimenti di denaro reali. Le chiavi API iniziano con sk_test_ e pk_test_, i dati (customers, charges, subscriptions) sono completamente separati. Carte di test specifiche permettono di simulare ogni scenario: successo, declined, 3DS challenge, frode. Non puoi accedere a Capital, Atlas o pagamenti reali in Test mode.
Switch e best practice
Lo switch avviene tramite il toggle 'Test mode' in alto a destra nella Dashboard. Le chiavi API e i webhook sono distinti tra i due ambienti, quindi il codice deve gestire env variable correttamente. Best practice: configura webhook separati Test e Live, mantieni due database (o un campo livemode), non mescolare mai customer ID dei due ambienti.
Strumenti di test e simulazione scenari
Stripe fornisce un set completo di carte di test per simulare ogni scenario: 4242 4242 4242 4242 (success generale), 4000 0027 6000 3184 (richiede 3DS2 challenge), 4000 0000 0000 0341 (success ma fallisce a setup off_session), 4000 0000 0000 9995 (insufficient funds), 4100 0000 0000 0019 (frode bloccata da Radar), 4000 0000 0000 0259 (dispute fraudulent automatica). Per testare metodi non-card esistono account IBAN test (DE89370400440532013000), reference SEPA, OTP iDEAL fittizio. Documenta nel team quale carta usare per ogni scenario di test.
Promuovere da test a production
Prima del go-live: 1) Verifica che tutte le env var puntino a Live keys nei deployment di produzione (non in staging); 2) Webhook Live endpoint configurato e ricevente; 3) Account Stripe completamente attivato (KYC documents approvati); 4) IBAN payout verificato e payout schedule configurato (giornaliero/settimanale); 5) Branding email transazionali Stripe configurato; 6) Notifiche admin abilitate per dispute, alti volumi, errori. Best practice: fai una vendita reale piccola (1 EUR a te stesso) come smoke test prima dell'annuncio pubblico.
Account verification e attivazione production
Per attivare Live mode pienamente, Stripe richiede: 1) Documenti business (visura camerale per srl/spa, dichiarazione attività' per ditte individuali); 2) Documento d'identità' rappresentante legale; 3) Beneficial owner (UBO) per società' con più' soci; 4) Conto bancario verificato (test di micropayment); 5) Compliance MCC corretto (settore attività'); 6) URL website con privacy policy, terms of service, refund policy, contact page. Tempo verifica: 1-3 giorni per documenti standard, fino a 2 settimane per casi complessi (gambling, crypto, regulated industry). Senza completare, no payout.
Live mode operations e ongoing compliance
Dopo attivazione Live, mantieni compliance: 1) Aggiorna documenti se cambia struttura società' (nuovi soci, cambio amministratore); 2) Monitora dispute rate sotto 0,75%; 3) Verifica policy pages sempre aggiornate; 4) Rispondi tempestivamente a Stripe Support requests (rischio account hold se ignori); 5) Update bank account se cambia IBAN (con notice anticipato per evitare payout fail). Account dormant (no transazioni per 18+ mesi) può essere chiuso da Stripe: tieni almeno transazione test ogni 6 mesi se vuoi mantenere account attivo senza usarlo regolarmente.
Sandbox e dati di esempio
Stripe Sandbox include dati di esempio pre-popolati per accelerare onboarding: customer dummy con email tester@stripe.com, product/price di esempio, alcune subscription già attive. Puoi resettare Sandbox completamente (Settings -> Reset test data) per ricominciare pulito - utile prima di demo o stress test. Le carte di test funzionano solo in Sandbox; in Live triggeranno decline. Stripe espone anche 'test clock' (testHelpers.testClocks) per simulare il passaggio del tempo: avanzi clock di 30 giorni e Stripe scatena tutti gli eventi periodici (rinnovi sub, scadenza trial, dunning) - perfetto per test integrazione billing senza attendere realmente settimane.
Procedura passo-passo
- Crea l'account Stripe e identifica subito Test mode toggle in Dashboard.
- Copia le chiavi sk_test_ e pk_test_ da Developers -> API keys.
- Sviluppa e testa con carte di test (4242 4242 4242 4242 per successo).
- Configura webhook test endpoint pointing al tuo dev/staging environment.
- Quando pronto per produzione, attiva l'account (verifica documenti aziendali).
- Sostituisci chiavi sk_test_ con sk_live_ via env variable in produzione.
- Configura webhook Live separato per il dominio di produzione.
- Testa con una transazione reale piccola prima del lancio ufficiale.
Errori comuni e come risolverli
- Chiavi test in produzione: i pagamenti non vengono incassati; controlla env variable.
- Webhook secret errato: verifica fallisce, errori 400; signing secret è diverso tra Test e Live.
- Customer ID mescolati: un customer Test non esiste in Live; non puoi 'promuovere' dati.
- Test card in Live: Live rifiuta le carte di test con un messaggio specifico.
Domande frequenti
D: Posso esportare dati da Test a Live?
R: No, gli ambienti sono completamente separati; ricrea i dati necessari.
D: Quante chiavi posso avere?
R: Più chiavi restricted possibili, una secret key principale per ambiente.
D: Test mode ha le stesse feature di Live?
R: Quasi tutte tranne Capital, Atlas e Banking; basta per il 95% dello sviluppo.
D: Le webhook funzionano in Test?
R: Sì, identicamente; usa Stripe CLI per forward locale.
Hai bisogno di aiuto?
Se vuoi integrare Stripe con il team di G Tech Group, scrivici tramite il modulo di contatto.