Salta ai contenuti

41. Configurare Stripe

Ti serve la prima volta che metti in funzione il sito, per accettare pagamenti online con carta. Senza Stripe configurato, i clienti non possono pagare online: possono solo “pagare al ritiro” o “pagare al rider”, se hai abilitato quei canali offline (vedi sezione 42).

Stripe e’ il servizio esterno che gestisce i pagamenti con carta di credito. Ogni pizzeria deve avere il proprio account Stripe (non si puo’ condividere): i soldi degli ordini arrivano direttamente sul tuo conto bancario via bonifico (vedi sezione 44).

Cosa serve prima di iniziare

  1. Account Stripe attivo — registrati su https://dashboard.stripe.com/register. Serve partita IVA della pizzeria, IBAN del conto bancario dove ricevere i bonifici, documento d’identita’ del titolare. Stripe verifica i dati in 1-3 giorni lavorativi
  2. Modalita’ test attiva — appena creato l’account, sei in modalita’ “test”: niente soldi reali, ma puoi simulare pagamenti con la carta di test 4242 4242 4242 4242. Ti consigliamo di testare il sito in modalita’ test prima di passare a live
  3. 3 chiavi API da copiare: vai sul Dashboard Stripe -> Sviluppatori -> Chiavi API. Ti servono:
    • Chiave pubblicabile (pk_test_... o pk_live_...)
    • Chiave segreta (sk_test_... o sk_live_...)
    • Webhook secret (whsec_...) — la generi configurando il webhook (vedi sotto)

1. Apri “Impostazioni”

Dal pannello admin, vai su Impostazioni -> Pagamenti (/admin/settings/payments) e trova la card “Pagamenti — Stripe”.

2. Scegli la modalita’ (Test o Live)

In alto trovi due tab: Test e Live. Inizia sempre da Test. Le chiavi sono separate per ambiente: configurare Test non attiva pagamenti reali, configurare Live li attiva. Puoi avere entrambe le configurazioni salvate e cambiare modalita’ con un click.

3. Inserisci le 3 chiavi

  • Chiave segreta (sk_test_...) — copia da Stripe Dashboard
  • Chiave pubblicabile (pk_test_...) — copia da Stripe Dashboard
  • Webhook secret (whsec_...) — vedi step successivo

Le chiavi vengono cifrate prima del salvataggio in database (con AES-256-GCM): nemmeno il referente tecnico le vede in chiaro.

4. Configura il webhook Stripe

Il webhook e’ il modo in cui Stripe avvisa il sistema quando un pagamento e’ andato a buon fine. Senza webhook configurato, i pagamenti restano in “in attesa” finche’ non li sblocchi a mano.

Sul Dashboard Stripe -> Sviluppatori -> Webhook -> Aggiungi endpoint:

  • URL endpoint: https://<tuo-dominio>/api/payments/webhook (es. https://ordina.peperoncinopizzeria.it/api/payments/webhook)
  • Eventi da inviare:
    • payment_intent.succeeded
    • payment_intent.payment_failed
    • charge.refunded
  • Salva. Stripe genera il Webhook signing secret (whsec_...): copialo nel campo “Webhook secret” del form admin

5. Clicca “Salva”

Compare il messaggio “Chiavi TEST salvate con successo!” e il badge in alto a destra della pagina Pagamenti diventa Stripe configurato (verde). Ora la pizzeria puo’ accettare pagamenti online in modalita’ test.

6. Testa con la carta di test

Vai sul tuo sito cliente, fai un ordine, in checkout usa:

  • Numero carta: 4242 4242 4242 4242
  • Scadenza: una qualsiasi nel futuro (es. 12/30)
  • CVC: 3 cifre qualsiasi (es. 123)
  • CAP: qualsiasi (es. 00100)

Il pagamento va a buon fine ma e’ simulato (non addebitato).

7. Passa a Live quando sei pronto

Quando hai testato tutto e Stripe ha verificato il tuo account, torna in admin -> tab Live -> inserisci le chiavi pk_live_..., sk_live_..., whsec_.... Salva. Poi clicca il toggle Modalita’ in alto per passare da Test a Live. Compare un avviso di conferma: da quel momento ogni pagamento e’ reale.

Prima di passare a Live: la verifica in quattro punti

Il passaggio a Live è il momento in cui si rompono le cose in silenzio. Controlla questi quattro punti nell’ordine, e non accettare il go-live finché non sono tutti verdi.

  1. Stripe ha verificato il tuo account. Dati aziendali e IBAN approvati. Finché non lo sono, i soldi non arrivano sul conto anche se il cliente paga.
  2. Il webhook è registrato in modalità Live. Il webhook di Test non vale per il Live: sono due elenchi separati su Stripe. Se manca, il cliente paga ma l’ordine non si conferma mai e in cucina non arriva niente.
  3. Le chiavi non sono miste. Tutte e tre — segreta, pubblicabile, webhook — devono essere dello stesso account e della stessa modalità. Metà in test e metà in live è il guasto peggiore, perché sembra funzionare.
  4. Un ordine vero da pochi euro. Paga con la tua carta, controlla che l’ordine si confermi, che la comanda esca in cucina e che il pagamento compaia su Stripe. Poi rimborsalo (sezione 20).

Quando arrivano davvero i soldi sul conto è un’altra cosa ancora: vedi sezione 44.

Suggerimento: se hai un terminale fisico Stripe Terminal (lettore POS), nel form trovi anche il campo Terminal Location ID. Questa funzionalita’ non e’ completa nel sistema (vedi piano: Phase 15 e’ rimandata). Per ora ignora il campo: il POS al banco si gestisce diversamente (vedi sezione 42).

Attenzione: non condividere mai la chiave segreta o il webhook secret via email/chat. Se per errore le pubblichi, torna su Stripe -> ruota le chiavi e riconfigurale qui in admin.