GitHub Repository
Guida completa all’installazione e al codice sorgente
Configurazione Rapida
1. Prerequisiti
Ti occorrono:- Un account Cloudflare
- Un account database Neon
- Una chiave API di Dodo Payments disponibile in Developer → API Keys nella dashboard
2. Installazione delle dipendenze
3. Configurazione del database
- Registrati su Neon e crea un progetto.
- Apri l’editor SQL.
- Copia l’intero contenuto di
schema.sqled eseguilo. - Copia la stringa di connessione da Connection Details.
4. Configurazione iniziale dei secret
Imposterai
DODO_PAYMENTS_WEBHOOK_KEY dopo il deployment, una volta ottenuto l’URL del webhook.5. Aggiornamento di wrangler.toml
Modificawrangler.toml e imposta il nome del tuo worker:
6. Deployment
7. Ottenere l’URL del webhook
L’URL del tuo webhook è:8. Registrazione del webhook nella dashboard di Dodo Payments
- Vai a Developer → Webhooks nella dashboard di Dodo Payments.
- Fai clic su Add endpoint.
- Inserisci l’URL del webhook.
- Seleziona questi eventi:
subscription.active,subscription.cancelled,subscription.renewed. - Fai clic su Create endpoint e copia il signing secret.
9. Impostazione della chiave del webhook e nuovo deployment
Cosa fa
Il gestore dei webhook elabora gli eventi delle subscription e li archivia in PostgreSQL:subscription.active— Crea o aggiorna i record dei customer e delle subscriptionsubscription.cancelled— Contrassegna la subscription come annullatasubscription.renewed— Aggiorna la data del prossimo addebito
Funzionalità principali
- Verifica della firma — Utilizza l’SDK di Dodo Payments per verificare l’autenticità del webhook
- Idempotenza — Utilizza l’header
webhook-idper impedire l’elaborazione duplicata - Registrazione degli eventi — Archivia tutti gli eventi nella tabella
webhook_eventsper consentire gli audit - Gestione degli errori — Registra gli errori e contrassegna gli eventi per un nuovo tentativo
Questo esempio gestisce tre eventi principali delle subscription con un numero minimo di campi. Puoi estenderlo per supportare altri tipi di eventi e campi in base alle tue esigenze.
File di configurazione
Schema del database
customers— Email, nome e ID customer di Dodo Paymentssubscriptions— Stato, importo, data del prossimo addebito, collegati ai customerwebhook_events— Registro degli eventi con ID webhook per l’idempotenza
Codice di implementazione
Come funziona
Il gestore dei webhook:- Verifica la firma — Utilizza l’SDK di Dodo Payments per verificare la richiesta con HMAC-SHA256
- Controlla i duplicati — Utilizza l’header
webhook-idper impedire l’elaborazione dello stesso evento due volte - Registra l’evento — Archivia il webhook non elaborato nella tabella
webhook_eventsper consentire gli audit - Elabora l’evento — Crea o aggiorna customer e subscription nel database
- Gestisce gli errori — Registra gli errori e contrassegna gli eventi come non elaborati per un nuovo tentativo
Test
Sviluppo locale:- Vai a Developer → Webhooks.
- Aggiungi un endpoint con l’URL del tuo Worker.
- Seleziona
subscription.active,subscription.cancelledesubscription.renewed.