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
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
Seat Add-ons
Checkout
Web Interface
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.