Skip to main content
Questo tutorial mostra come implementare un modello di prezzi basato sui posti utilizzando gli add-on di Dodo Payments. Creerai un prodotto in abbonamento con add-on per i posti aggiuntivi e genererai link di pagamento con quantità di add-on personalizzate.
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.
Alla fine di questo tutorial, saprai come:
  • 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.
Creazione dell'add-on per i posti nella dashboard
Cosa stiamo creando: un add-on che costa $2/mese per posto e che può essere aggiunto a qualsiasi abbonamento base.
1

Navigate to Add-Ons

  1. Nella dashboard di Dodo Payments, resta nella sezione Products
  2. Clicca sulla scheda Add-Ons
  3. Clicca su Create Add-On
Questo aprirà il modulo di creazione del componente aggiuntivo.
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

  1. Esamina tutte le impostazioni:
    • Nome: Posto aggiuntivo del team
    • Prezzo: $2,00/mese
  2. 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.
Creazione del prodotto in abbonamento base nella dashboard
1

Navigate to Products

  1. Accedi alla dashboard di Dodo Payments
  2. Clicca su Products nella barra laterale sinistra
  3. Clicca sul pulsante Create Product
  4. Seleziona Subscription come tipo di prodotto
Dovresti vedere un modulo in cui configureremo il nostro abbonamento base.
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

Associazione dell'add-on all'abbonamento nella dashboard
  1. Scorri verso il basso fino alla sezione Add-Ons
  2. Clicca su Aggiungi Add-Ons
  3. Dal menu a discesa, seleziona il tuo add-on per posti
  4. Conferma che appare nella configurazione del tuo abbonamento
2

Save subscription changes

  1. Esamina la configurazione completa del tuo abbonamento:
    • Piano base: $49/mese per 5 posti
    • Componente aggiuntivo: $2/mese per ogni posto aggiuntivo
  2. 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à.
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:
Non eseguire mai il commit della tua chiave API nel controllo versione. Aggiungi .env al tuo file .gitignore.
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

  1. Assicurati di avere il file .env con la chiave API corretta
  2. Aggiorna nel codice gli ID del prodotto e dell’add-on con i valori effettivi presenti nella dashboard di Dodo Payments
  3. Avvia il server:
Il server dovrebbe avviarsi correttamente e mostrare “Server is running on port 3000”
2

Test the web interface

Interfaccia demo dei prezzi basati sui posti
  1. Apri il browser e vai a http://localhost:3000
  2. Dovresti visualizzare l’interfaccia demo dei prezzi basati sui posti
  3. Prova quantità diverse di posti (0, 3, 10, ecc.)
  4. Fai clic su “Generate Checkout Link” per ogni quantità
  5. Verifica che gli URL di checkout vengano generati correttamente
3

Test a checkout session

  1. Genera un link di checkout con 3 posti aggiuntivi
  2. Fai clic sull’URL di checkout per aprire il checkout di Dodo Payments
  3. Verifica che il checkout mostri:
    • Piano base: $49/mese
    • Posti aggiuntivi: 3 × 2 dollari = $6/mese
  4. 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:
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
Soluzioni:
  1. Verifica che gli ID del prodotto e dell’add-on esistano nella dashboard di Dodo Payments
  2. Controlla che l’add-on sia associato correttamente all’abbonamento
  3. Assicurati che la chiave API disponga delle autorizzazioni per la creazione delle sessioni di checkout
  4. 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.
Ultima modifica il 26 settembre 2026