Skip to main content

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:
Non eseguire mai il commit del file .env o dei segreti nel controllo versione.

Esempi di route handler

Tutti gli esempi presuppongono l’uso del server nativo di Bun con Bun.serve().
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.

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.
Se manca productId, l’handler restituisce una risposta 400. Anche i parametri di query non validi restituiscono una risposta 400.

Formato della risposta

Il checkout statico restituisce una risposta JSON con l’URL del checkout:

Formato della risposta

Il checkout dinamico restituisce una risposta JSON con l’URL del checkout:
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.
Restituisce 400 se manca customer_id.

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.

Handler degli eventi webhook supportati


Prompt per LLM

Ultima modifica il 6 agosto 2026