Salta al contenuto
supastack
Sfoglia la documentazione
WebNext.js

For AI agents: fetch the complete documentation index at /llms.txt, the full documentation corpus at /llms-full.txt, the agent skill at /skill.md, or this page as Markdown at /it/docs/web/billing.md (or send Accept: text/markdown).

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.

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.

Domande frequenti

14 domande

Cos'è supastack?

supastack è una base modulare per costruire prodotti SaaS con AI. Riunisce l'infrastruttura comune così puoi concentrarti sulle funzionalità proprie del tuo prodotto.

Supporta web e mobile?

Sì. supastack include app Next.js ed Expo come punti di partenza per esperienze web e mobile.

Quale autenticazione è inclusa?

Better Auth copre email/password, OTP e login social. I workspace personali vengono provisionati con l'account così i record restano delimitati fin dal primo giorno.

Come è supportata l'AI?

supastack include AI multi-provider configurabile, tracciamento dell'uso, budget e supporto cifrato per le proprie chiavi (BYOK).

Come vengono gestiti gli abbonamenti?

Per i prodotti costruiti sul kit, fatturazione Stripe, abbonamenti e permessi formano la base dell'accesso a pagamento. I segreti dei provider restano lato server.

Dove vive il codice specifico del mio prodotto?

Le funzionalità specifiche del prodotto restano in un codebase separato, mentre il prodotto configura e integra i moduli base di supastack.

Come funziona il prezzo di supastack?

Il kit è un acquisto unico con aggiornamenti a vita: Un framework a 249 $ (prezzo di lancio temporaneo — 100 $ di sconto sul prezzo di listino di 349 $) oppure Tutti i framework (Next.js, iOS, Android) a 499 $ (prezzo di lancio temporaneo — 100 $ di sconto sul prezzo di listino di 599 $), più 75 $ per posto sviluppatore aggiuntivo. Nessun abbonamento al kit. Il checkout su questo sito consegna la tua chiave di licenza via email, con accesso al repo tramite invito GitHub.

Come delimitano i workspace i miei dati?

I record utente sono delimitati da workspaceId. Identità, permessi, uso AI, eventi di fatturazione e voci di audit restano dentro il confine del workspace personale.

Come funzionano i job in background?

Trigger.dev è il runtime di job esplicito. Il contratto JobRunner promette solo enqueue, status e cancel — la semantica di workflow resta specifica ed esplicita di Trigger.dev.

In cosa differisce l'email dall'outreach?

L'email transazionale copre i flussi di prodotto come gli avvisi di completamento delle attività. L'outreach a freddo e le campagne appartengono al prodotto, fuori dal modulo email di questo kit.

Come funzionano gli acquisti su mobile?

La versione mobile include acquisti nativi e ripristino tramite RevenueCat, con accesso verificato dal server. Configura gli account degli store e completa i test sui dispositivi prima della pubblicazione. I pagamenti web restano separati.

Dove risiedono le chiavi dei provider AI?

Le credenziali BYOK sono cifrate e restano lato server. Le chiavi vengono sanificate nei log; uso e budget restano visibili a livello di workspace.

Quali metodi di pagamento accetta il checkout?

Il checkout ospitato da Stripe accetta le carte e può offrire anche Alipay e WeChat Pay una volta attivati i wallet sull'account Stripe — utile per gli acquirenti in Cina. Le autorizzazioni dei wallet vengono confermate in modo asincrono, quindi la pagina della licenza si aggiorna non appena il pagamento va a buon fine.

Posso ottenere un rimborso?

Una volta ottenuto l'accesso al repository, supastack è tuo per sempre, quindi non può essere rimborsato. Ma non preoccuparti: ricevi il codice sorgente completo con aggiornamenti a vita per creare e lanciare prodotti illimitati per te o per i tuoi clienti. L'unica condizione è che non puoi rivendere il codice né ridistribuire il repository come starter kit o modello.

IT
Tema