@dodopayments. I pacchetti utilizzano @dodopayments/core per la convalida del checkout, le richieste all’API di Dodo Payments, la convalida del payload dei webhook e i callback tipizzati degli eventi.
Per fare in modo che un agente di coding aggiunga un adattatore per te, installa il Plugin dell’agente.
Adattatori per framework disponibili
Scegli l’adattatore corrispondente al tuo framework:Next.js
Gestori delle route per checkout, Customer Portal e webhook nell’App Router.
Nuxt
Gestori delle route server per Nuxt 3, un framework Vue full-stack.
Express
Gestori delle richieste per le route Express 5 nelle app Node.js.
Fastify
Gestori delle route per Fastify 5, un framework Node.js con un’architettura a plugin.
Hono
Gestori delle route per Hono 4, un framework web per Cloudflare Workers, altri runtime edge e Node.js.
Astro
Gestori degli endpoint server per Astro 4 e 5, un framework web incentrato sui contenuti.
SvelteKit
Gestori delle route server per SvelteKit 2, un framework Svelte full-stack.
Remix
Gestori di loader e action per Remix 2, un framework React full-stack.
TanStack Start
Gestori delle route server per TanStack Start, un framework React full-stack type-safe.
Better Auth
Un plugin per il framework di autenticazione Better Auth che aggiunge endpoint per checkout, portale, utilizzo e webhook e può creare un cliente al momento della registrazione.
Convex
Un componente per il backend Convex con action per checkout e Customer Portal e una HTTP action per i webhook.
Bun
Gestori
Bun.serve() nativi per checkout, Customer Portal e webhook.Funzionalità principali
Gli adattatori dei gestori delle route condividono queste funzionalità:
Il plugin Better Auth e il componente Convex offrono le stesse funzionalità tramite le rispettive API. Consulta le relative pagine per conoscere le differenze.
Avvio rapido
Configura un adattatore per il gestore delle route in tre passaggi.1
Install the Adaptor
Installa il pacchetto per il tuo framework:
- Next.js
- Nuxt
- Express
- Hono
- Astro
- SvelteKit
2
Configure Environment Variables
Aggiungi le credenziali Dodo Payments al tuo ambiente. Crea la chiave API in Developer → API Keys e il segreto del webhook in Developer → Webhooks nella dashboard. Una chiave API in modalità di test funziona solo con Se non passi un ambiente, l’adattatore utilizza
test_mode.live_mode.3
Create Route Handlers
Crea una route per il checkout. Le route per Customer Portal e webhook seguono lo stesso schema:
- Next.js
- Express
- Hono
La tua route di checkout ora restituisce un URL di checkout. La pagina di ogni adattatore illustra i gestori per Customer Portal e webhook ed elenca tutte le opzioni.
Tipi di flusso del checkout
Gli adattatori dei gestori delle route supportano tre tipi di flusso del checkout. Il plugin Better Auth supporta le sessioni di checkout e un checkout dinamico deprecato. Il componente Convex supporta solo le sessioni di checkout.Static Checkout (GET)
Static Checkout (GET)
Il checkout statico restituisce un link di pagamento per un prodotto, così puoi condividerlo o reindirizzarlo. Passa l’ID del prodotto come parametro di query:Il gestore verifica che il prodotto esista e restituisce il link come
checkout_url. I parametri di query facoltativi precompilano i dati del cliente e controllano il modulo di checkout.Dynamic Checkout (POST)
Dynamic Checkout (POST)
Il checkout dinamico crea un link di pagamento da un body JSON con dettagli personalizzati. Supporta sia i pagamenti una tantum sia gli abbonamenti. Chiama l’endpoint
billing e customer sono obbligatori:POST /payments o POST /subscriptions deprecato, a seconda del tipo di prodotto; per le nuove integrazioni, quindi, utilizza le sessioni di checkout.Checkout Sessions (POST)
Checkout Sessions (POST)
Le sessioni di checkout sono il flusso consigliato. Offrono il maggior numero di opzioni e accettano un carrello con diversi prodotti:Per tutti i campi supportati, consulta la Guida alle sessioni di checkout.
Gestione degli eventi webhook
Ogni adattatore dei gestori delle route esporta un gestoreWebhooks. Accetta il segreto del webhook e callback tipizzati facoltativi per i singoli tipi di evento. onPayload viene eseguito per ogni evento:
webhooks() e il componente Convex li accetta in createDodoWebhookHandler.
Ogni gestore dei webhook verifica gli header
webhook-id, webhook-signature e webhook-timestamp con la libreria Standard Webhooks, quindi convalida il payload con gli schema Zod. Le richieste non valide vengono rifiutate con uno status di errore prima dell’esecuzione dei callback.Scegliere l’adattatore giusto
Ottenere assistenza
Per ricevere assistenza con un adattatore del framework:- Discord: Fai una domanda nel server della community.
- Email: Contatta support@dodopayments.com.
- GitHub: Apri una issue nel repository dodo-adapters, che contiene tutti gli adattatori.
- Documentazione: Consulta il riferimento API.