Questo tutorial fornisce codice di implementazione di esempio per un’applicazione Node.js/Express. Puoi modificare questo codice per il tuo framework specifico (Next.js, React, Vue, ecc.) e personalizzare l’interfaccia utente in base alle esigenze della 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
Ora dobbiamo creare un add-on che rappresenti posti aggiuntivi. Questo add-on sarà collegato al nostro abbonamento base e permetterà ai clienti di acquistare posti aggiuntivi.
Navigate to Add-Ons
- Nella dashboard di Dodo Payments, resta nella sezione Products
- Clicca sulla scheda Add-Ons
- Clicca su Create Add-On
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.Passo 2: Crea il tuo Prodotto in Abbonamento Base
Iniziamo creando un prodotto in abbonamento base che include 5 membri del team. Questa sarà la base del nostro modello di prezzo basato sui posti.
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
Passo 3: Collega l’Add-On all’Abbonamento
Ora dobbiamo associare il nostro add-on per posti con l’abbonamento base in modo che i clienti possano acquistare posti aggiuntivi durante il checkout.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
Save subscription changes
- Controlla l’intera configurazione dell’abbonamento:
- Piano base: $49/mese per 5 postazioni
- Componente aggiuntivo: $2/mese per postazione aggiuntiva
- Prova gratuita: 14 giorni
- Clicca su Save Changes
Prezzi basati sui posti configurati! I clienti ora possono acquistare il piano base e aggiungere postazioni extra secondo necessità.
Passo 4: Genera Link di Pagamento con Quantità di Add-On Personalizzate
Ora creiamo un’applicazione Express.js che genera link di pagamento con quantità di add-on personalizzate. Qui entra in gioco il vero potere dei prezzi basati sui posti: puoi creare dinamicamente sessioni di checkout con qualsiasi numero di posti aggiuntivi.Set up your project
Crea un nuovo progetto Node.js e installa le dipendenze richieste:Crea un file
tsconfig.json:Add a simple web interface
Crea un file
public/index.html per testare facilmente:Interfaccia Web creata! Ora hai una semplice interfaccia per provare diverse quantità di postazioni.
Passo 5: Testa la tua Implementazione
Testiamo la nostra implementazione dei prezzi basati sui posti per assicurarci che tutto funzioni correttamente.Start your server
- Assicurati di avere il file
.envcon la chiave API corretta - Aggiorna gli ID di prodotto e componente aggiuntivo nel tuo codice con i valori effettivi della dashboard Dodo Payments
- Avvia il server:
Il server dovrebbe avviarsi correttamente e mostrare “Server running on
http://localhost:3000”Test the web interface

- Apri il browser e vai su
http://localhost:3000 - Dovresti vedere l’interfaccia demo basata sui posti
- Prova diverse quantità di postazioni (0, 3, 10, ecc.)
- Clicca su “Generate Checkout Link” per ogni quantità
- Verifica che gli URL di checkout vengano generati correttamente
Test a checkout session
- Genera un link di checkout con 3 postazioni aggiuntive
- Clicca sull’URL di checkout per aprire il checkout di Dodo Payments
- Verifica che il checkout mostri:
- Piano base: $49/mese
- Postazioni aggiuntive: 3 × 2 dollari = $6/mese
- Completa l’acquisto di prova
Il checkout dovrebbe mostrare la suddivisione corretta dei prezzi e permetterti di completare l’acquisto.
Listen for webhooks and update your DB
Per mantenere il database sincronizzato con i cambiamenti dell’abbonamento e delle postazioni, devi ascoltare gli eventi webhook di Dodo Payments. I webhook notificano il backend quando un cliente completa il checkout, aggiorna l’abbonamento o modifica il numero di postazioni.Segui la guida ufficiale ai webhook di Dodo Payments per istruzioni passo-passo su come impostare gli endpoint webhook e gestire gli eventi:
Dodo Payments Webhooks Documentation
Scopri come ricevere e elaborare in modo sicuro gli eventi webhook per la gestione degli abbonamenti e delle postazioni.
Risoluzione dei Problemi
Problemi comuni e le loro soluzioni:Checkout creation failing
Checkout creation failing
Possibili cause:
- ID del prodotto o del componente aggiuntivo non valido
- La chiave API non ha autorizzazioni sufficienti
- Il componente aggiuntivo non è correttamente associato all’abbonamento
- Problemi di connettività di rete
- Verifica che gli ID di prodotto e componente aggiuntivo esistano nella dashboard Dodo Payments
- Controlla che il componente aggiuntivo sia correttamente attaccato all’abbonamento
- Assicurati che la chiave API abbia i permessi per creare sessioni di checkout
- Testa la connettività API con una semplice richiesta GET
Congratulazioni! Hai Implementato Prezzi Basati sui Posti
Hai creato con successo un sistema di prezzi basati sui posti con Dodo Payments! Ecco cosa hai realizzato:Base Subscription
Creato un prodotto di abbonamento con 5 postazioni incluse a $49/mese
Seat Add-ons
Configurati i componenti aggiuntivi per postazioni aggiuntive a $2/mese ciascuna
Checkout
Costruita un’API che genera sessioni di checkout con quantità di postazioni personalizzate
Web Interface
Creata una semplice interfaccia web per testare diverse quantità di postazioni
Questo esempio dimostra solo un’implementazione minima dei prezzi basati sulle postazioni. Per l’uso in produzione, dovresti aggiungere un solido handling degli errori, autenticazione, validazione dei dati, misure di sicurezza e adattare la logica alle esigenze della tua applicazione.