> ## Documentation Index
> Fetch the complete documentation index at: https://supastack.dev/llms.txt
> Use this file to discover all available pages before exploring further.
> For the full documentation corpus in one file, fetch: https://supastack.dev/llms-full.txt

# Pagamenti e abbonamenti

Checkout Stripe, gestione dei piani e il confine degli entitlement.

## Scegli e testa il tuo servizio di pagamento

La fatturazione gestisce i pagamenti. Le autorizzazioni di accesso vengono archiviate separatamente come diritti. Completa la configurazione dell'account persistente, quindi apri /billing nell'app Web in esecuzione per visualizzare l'interfaccia del piano. Con BILLING_PROVIDER=local esplori il comportamento locale anziché raccogliere denaro reale.

Scegli un fornitore di servizi di pagamento supportato, segui la relativa guida di configurazione, crea il tuo prodotto e prezzo di prova e copia le impostazioni del server denominato in apps/web/.env.local. Salva e riavvia il server Web. Completa un checkout utilizzando le istruzioni sandbox del provider, quindi controlla lo stato di accesso dell'area di lavoro dopo l'arrivo del webhook del provider. Un webhook è il messaggio firmato dal fornitore al tuo server relativo a un evento di pagamento.

Una pagina di successo da sola non sblocca funzionalità. Se il pagamento viene completato ma l'accesso rimane inattivo, controlla la consegna del webhook del provider e l'elaborazione degli eventi del tuo server prima di ripetere il pagamento. Testare anche la cancellazione e l'accesso scaduto. Gli acquisti tramite telefono utilizzano la configurazione separata RevenueCat/negozio, non questo pagamento Web.

[Scegli un adattatore di fatturazione e le relative impostazioni](https://supastack.dev/it/docs/modules/billing-configuration.md)

[Imposta i tuoi prodotti e i tuoi prezzi](https://supastack.dev/it/docs/web/project-structure.md)

[Configura Stripe in un ambiente di prova](https://supastack.dev/it/docs/web/setup-payments.md)


## Fatturazione web

L'applicazione Web supporta il fornitore di fatturazione selezionato con BILLING_PROVIDER; La striscia è un'opzione. Apertura/fatturazione per piani Web e gestione abbonamenti. Segui la guida del fornitore selezionato per impostare le credenziali solo del server, gli ID prodotto o prezzo e le impostazioni di verifica del webhook nell'ambiente di test o live corrispondente.


## Autorizza tramite i permessi

Un redirect di checkout non è prova di accesso attivo. Il permesso lato server decide se un workspace può usare una capacità a pagamento. Controlla quel permesso alla frontiera dell'azione anche quando l'interfaccia nasconde già l'azione.


## Verifica il ciclo di vita

Usa gli eventi sandbox per verificare attivazione, aggiornamenti, cancellazione ed elaborazione dei webhook. Mantieni gli eventi ripetuti sicuri e assicurati che un permesso inattivo blocchi le operazioni a pagamento. Gli acquisti nativi mobile restano una frontiera di integrazione RevenueCat separata.


## Installazione e configurazione

Il catalogo dei piani vive in src/product-plans.ts e guida la superficie /billing e il passo di onboarding /choose-plan. La fatturazione si configura lato server con BILLING_PROVIDER=stripe, STRIPE_SECRET_KEY, i price id per ogni piano e intervallo, e STRIPE_WEBHOOK_SECRET. Lemon Squeezy è disponibile come adattatore alternativo.

I piani basati sui posti usano i selettori modificabili dei posti (src/seat-count.ts); la quantità viaggia con la sessione di checkout in modo che i posti fatturati corrispondano al workspace. I piani possono anche dichiarare meteredUsage in src/product-plans.ts affinché il job orario billing.usage-report invii i delta di usage_counter ai contatori di fatturazione Stripe, mentre i proprietari impostano budget IA mensili e tetti rigidi per contatore in Impostazioni → Utilizzo (USAGE_METERS in src/usage-meters.ts).

```
Checkout: POST /api/billing/checkout
Portal:   POST /api/billing/portal
Webhook:  POST /api/billing/webhook  (signature-verified)
```


## Flusso di implementazione

Un redirect di checkout è solo un'intenzione in sospeso — l'accesso cambia quando arriva il webhook firmato e l'entitlement di proprietà del server si aggiorna. Controlla le azioni a pagamento con la verifica dell'entitlement al confine server (entitlement-gate.tsx / entitlement-check.ts) anche quando l'interfaccia le nasconde già.

Il portale clienti gestisce cambi di piano, cancellazione e metodi di pagamento. Mantieni lo stato dell'abbonamento leggibile dai membri del workspace e gli acquisti mobile nativi dietro il confine separato di RevenueCat.


## Successivo

[Database e migrazioni](https://supastack.dev/it/docs/web/database.md)
