Checkout Handler
Integra il checkout di Dodo Payments nel tuo server Bun.
Customer Portal
Consenti ai clienti di gestire abbonamenti e dettagli.
Webhooks
Ricevi ed elabora gli eventi webhook di Dodo Payments.
Installazione
1
Install the package
Esegui il comando seguente nella directory principale del progetto:
2
Set up environment variables
Crea un file
.env nella directory principale del progetto:Esempi di route handler
Tutti gli esempi presuppongono l’uso del server nativo di Bun con
Bun.serve().- Checkout Handler
- Customer Portal Handler
- Webhook Handler
Usa questo handler per integrare il checkout di Dodo Payments nel tuo server Bun. Supporta i flussi di pagamento statici (GET), dinamici (POST) e di sessione (POST).
Route handler per il checkout
Dodo Payments supporta tre tipi di flussi di pagamento per integrare i pagamenti nel tuo sito web; questo adattatore supporta tutti i tipi di flussi di pagamento.
- Link di pagamento statici: URL condivisibili istantaneamente per raccogliere pagamenti in modo rapido e senza codice.
- Link di pagamento dinamici: Genera programmaticamente link di pagamento con dettagli personalizzati usando l’API o gli SDK.
- Sessioni di checkout: Crea esperienze di checkout sicure e personalizzabili con carrelli di prodotti e dettagli cliente preconfigurati.
Static Checkout (GET)
Static Checkout (GET)
Parametri di query supportati
string
obbligatorio
Identificatore del prodotto (ad es.,
?productId=pdt_xxx).integer
Quantità del prodotto.
string
Nome e cognome del cliente.
string
Nome del cliente.
string
Cognome del cliente.
string
Indirizzo email del cliente.
string
Paese del cliente.
string
Riga dell’indirizzo del cliente.
string
Città del cliente.
string
Stato o provincia del cliente.
string
CAP o codice postale del cliente.
boolean
Disabilita il campo nome e cognome.
boolean
Disabilita il campo nome.
boolean
Disabilita il campo cognome.
boolean
Disabilita il campo email.
boolean
Disabilita il campo paese.
boolean
Disabilita la riga dell’indirizzo.
boolean
Disabilita il campo città.
boolean
Disabilita il campo stato.
boolean
Disabilita il campo CAP.
string
Specifica la valuta del pagamento (ad es.,
USD).boolean
Mostra il selettore della valuta.
number
Fissa l’importo addebitato, espresso in unità principali della valuta (ad es.,
12.5 per $12.50). Solo per i prodotti Pay What You Want; viene ignorato se inferiore al prezzo minimo del prodotto.boolean
Mostra i campi dello sconto.
string
Qualsiasi parametro di query che inizi con
metadata_ verrà passato come metadato.Formato della risposta
Il checkout statico restituisce una risposta JSON con l’URL del checkout:Dynamic Checkout (POST)
Dynamic Checkout (POST)
- Invia i parametri come corpo JSON in una richiesta POST.
- Supporta sia i pagamenti una tantum sia quelli ricorrenti.
- Per un elenco completo dei campi del corpo POST supportati, consulta:
Formato della risposta
Il checkout dinamico restituisce una risposta JSON con l’URL del checkout:Checkout Sessions (POST)
Checkout Sessions (POST)
Le sessioni di checkout offrono un’esperienza di checkout ospitata più sicura, che gestisce l’intero flusso di pagamento sia per gli acquisti una tantum sia per gli abbonamenti, con pieno controllo sulla personalizzazione.Consulta la guida all’integrazione delle sessioni di checkout per maggiori dettagli e un elenco completo dei campi supportati.
Formato della risposta
Le sessioni di checkout restituiscono una risposta JSON con l’URL del checkout:Customer Portal Route Handler
Il Route Handler Customer Portal consente di integrare facilmente il portale clienti di Dodo Payments nella tua applicazione server Bun.Parametri di query
string
obbligatorio
L’ID cliente per la sessione del portale (ad es.
?customer_id=cus_123).boolean
Se impostato su
true, invia al cliente un’email con il link al portale.Route handler webhook
- Metodo: Sono supportate solo le richieste POST. Gli altri metodi restituiscono 405.
- Verifica della firma: Verifica la firma del webhook usando
webhookKey. Restituisce 401 se la verifica non riesce. - Convalida del payload: Convalidato con Zod. Restituisce 400 per i payload non validi.
- Gestione degli errori:
- 401: Firma non valida
- 400: Payload non valido
- 500: Errore interno durante la verifica
- Instradamento degli eventi: Chiama l’handler dell’evento appropriato in base al tipo di payload.