Questo tutorial utilizza Node.js ed Express. Puoi adattare il codice al tuo framework (Next.js, React, Vue, ecc.) e personalizzare l’interfaccia per adattarla alla tua applicazione.
- Creare prodotti in abbonamento con prezzi basati sui posti
- Configurare add-on per posti aggiuntivi
- Generare link di pagamento con quantità di add-on personalizzate
- Gestire sessioni di checkout con conteggi di posti dinamici
Cosa stiamo costruendo
Creiamo un modello di prezzo basato sui posti:- Piano base: $49/mese per un massimo di 5 membri del team
- Add-on per posto: $2/mese per ogni posto aggiuntivo
- Link di pagamento: checkout dinamico con quantità di posti personalizzate
Prima di iniziare, assicurati di avere:
- Un account Dodo Payments
- Una conoscenza di base di TypeScript/Node.js
Passo 1: Crea il tuo Add-On per Posti
Crea un add-on che rappresenti i posti aggiuntivi. Questo add-on verrà associato al tuo abbonamento base e consentirà ai clienti di acquistare posti aggiuntivi.
1
Navigate to Add-Ons
- Nella dashboard di Dodo Payments, resta nella sezione Products
- Clicca sulla scheda Add-Ons
- Clicca su Create Add-On
2
Enter add-on details
Compila questi valori per il nostro componente aggiuntivo per postazioni:Add-On Name:
Additional Team SeatDescription: Add extra team members to your workspace with full access to all featuresPrice: Inserisci → 2.00Valuta: Deve corrispondere alla valuta del tuo abbonamento baseCategoria Fiscale: Seleziona la categoria appropriata per il tuo prodotto.3
Save your add-on
- Esamina tutte le impostazioni:
- Nome: Posto aggiuntivo del team
- Prezzo: $2,00/mese
- Fai clic su Create Add-On
Componenti aggiuntivo creato! Il tuo componente per le postazioni è ora disponibile per essere collegato agli abbonamenti.
Passo 2: Crea il tuo Prodotto in Abbonamento Base
Crea un prodotto in abbonamento base che includa 5 membri del team. Questo costituirà la base del tuo modello di prezzi basato sui posti.
1
Navigate to Products
- Accedi alla dashboard di Dodo Payments
- Clicca su Products nella barra laterale sinistra
- Clicca sul pulsante Create Product
- Seleziona Subscription come tipo di prodotto
2
Fill in the subscription details
Ora inseriremo i dettagli specifici per il nostro piano base:Product Name:
MotionDescription: Where your team's documentation lives.Recurring Price: Inserisci → 49.00Billing Cycle: Seleziona → MonthlyCurrency: Seleziona la valuta preferita (es. USD)Passo 3: Collega l’Add-On all’Abbonamento
Associa l’add-on per i posti al tuo abbonamento base, in modo che i clienti possano acquistare posti aggiuntivi durante il checkout.1
Attach the seat add-on

- Scorri verso il basso fino alla sezione Add-Ons
- Clicca su Aggiungi Add-Ons
- Dal menu a discesa, seleziona il tuo add-on per posti
- Conferma che appare nella configurazione del tuo abbonamento
2
Save subscription changes
- Esamina la configurazione completa del tuo abbonamento:
- Piano base: $49/mese per 5 posti
- Componente aggiuntivo: $2/mese per ogni posto aggiuntivo
- Fai clic su Salva modifiche
Prezzi basati sui posti configurati! Ora i clienti possono acquistare il tuo piano base e aggiungere altri posti secondo necessità.
Passaggio 4: genera link di pagamento con quantità di add-on personalizzate
Crea un’applicazione Express.js che generi link di pagamento con quantità di add-on personalizzate. Questo ti consente di creare dinamicamente sessioni di checkout con un numero qualsiasi di posti aggiuntivi.1
Set up your project
Crea un nuovo progetto Node.js e installa le dipendenze necessarie:Crea un file
tsconfig.json:2
Create your environment file
Crea un file
.env con la tua chiave API di Dodo Payments:3
Implement the checkout session creation
Crea un file
src/server.ts con il seguente codice:4
Add a simple web interface
Crea un file
public/index.html per eseguire facilmente i test:Interfaccia web creata! Ora hai una semplice interfaccia per testare quantità diverse di posti.
5
Serve static files
Aggiungi questo al tuo
src/server.ts per servire il file HTML:File statici configurati! Visita
http://localhost:3000 per visualizzare la tua interfaccia demo.Passaggio 5: testa la tua implementazione
Testiamo la nostra implementazione dei prezzi basati sui posti per assicurarci che tutto funzioni correttamente.1
Start your server
- Assicurati di avere il file
.envcon la chiave API corretta - Aggiorna nel codice gli ID del prodotto e dell’add-on con i valori effettivi presenti nella dashboard di Dodo Payments
- Avvia il server:
Il server dovrebbe avviarsi correttamente e mostrare “Server is running on port 3000”
2
Test the web interface

- Apri il browser e vai a
http://localhost:3000 - Dovresti visualizzare l’interfaccia demo dei prezzi basati sui posti
- Prova quantità diverse di posti (0, 3, 10, ecc.)
- Fai clic su “Generate Checkout Link” per ogni quantità
- Verifica che gli URL di checkout vengano generati correttamente
3
Test a checkout session
- Genera un link di checkout con 3 posti aggiuntivi
- Fai clic sull’URL di checkout per aprire il checkout di Dodo Payments
- Verifica che il checkout mostri:
- Piano base: $49/mese
- Posti aggiuntivi: 3 × 2 dollari = $6/mese
- Completa l’acquisto di test
Il checkout dovrebbe mostrare la suddivisione corretta dei prezzi e consentirti di completare l’acquisto.
4
Listen for webhooks and update your database
Mantieni il tuo database sincronizzato con le modifiche agli abbonamenti e ai posti ascoltando gli eventi webhook di Dodo Payments. I webhook notificano al tuo backend quando un cliente completa il checkout, aggiorna il proprio abbonamento o modifica il numero di posti.Segui la guida ufficiale ai webhook di Dodo Payments per istruzioni dettagliate sulla configurazione degli endpoint webhook e sulla gestione degli eventi:
Dodo Payments Webhooks Documentation
Scopri come ricevere ed elaborare in modo sicuro gli eventi webhook per la gestione degli abbonamenti e dei posti.
Risoluzione dei problemi
Problemi comuni e relative soluzioni:Checkout creation failing
Checkout creation failing
Possibili cause:
- ID del prodotto o dell’add-on non valido
- La chiave API non dispone di autorizzazioni sufficienti
- Add-on non associato correttamente all’abbonamento
- Problemi di connettività di rete
- Verifica che gli ID del prodotto e dell’add-on esistano nella dashboard di Dodo Payments
- Controlla che l’add-on sia associato correttamente all’abbonamento
- Assicurati che la chiave API disponga delle autorizzazioni per la creazione delle sessioni di checkout
- Testa la connettività API con una semplice richiesta GET
Congratulazioni! Hai implementato i prezzi basati sui posti
Hai creato con successo un sistema di prezzi basato sui posti con Dodo Payments. Ecco cosa hai realizzato:Base Subscription
Creato un prodotto in abbonamento con 5 posti inclusi a $49/mese
Seat Add-ons
Configurato add-on per i posti aggiuntivi a $2/mese per posto
Checkout
Creato un’API che genera sessioni di checkout con quantità di posti personalizzate
Web Interface
Creata una semplice interfaccia web per testare quantità diverse di posti
Questo esempio dimostra un’implementazione minima dei prezzi basati sui posti. Per l’uso in produzione, aggiungi la gestione degli errori, l’autenticazione, la convalida dei dati e misure di sicurezza, e adatta la logica ai requisiti della tua applicazione.