Skip to main content

GitHub Repository

Guida completa al codice sorgente e alla configurazione

Configurazione Rapida

1. Prerequisiti

Ti occorrono:

2. Installa le dipendenze

3. Configurazione del database

  1. Registrati su Neon e crea un progetto.
  2. Apri l’editor SQL.
  3. Copia l’intero contenuto di schema.sql ed eseguilo.
  4. Copia la stringa di connessione da Connection Details.

4. Imposta le variabili d’ambiente iniziali

Imposterai DODO_PAYMENTS_WEBHOOK_KEY dopo il deployment, una volta ottenuto l’URL del webhook.

5. Inizializza ed esegui il deployment

6. Ottieni l’URL del webhook

L’URL del webhook è:

7. Registra il webhook nella dashboard di DodoPayments

  1. Vai a Developer → Webhooks nella dashboard di Dodo Payments.
  2. Fai clic su Add endpoint.
  3. Inserisci l’URL del webhook.
  4. Seleziona questi eventi: subscription.active, subscription.cancelled, subscription.renewed.
  5. Fai clic su Create endpoint e copia il signing secret.

8. Imposta la chiave del webhook ed esegui nuovamente il deployment

Cosa fa

Il webhook handler elabora gli eventi delle subscription e li archivia in PostgreSQL:
  • subscription.active — Crea o aggiorna i record dei customer e delle subscription
  • subscription.cancelled — Contrassegna la subscription come annullata
  • subscription.renewed — Aggiorna la data della prossima fatturazione

Funzionalità principali

  • Verifica della firma — Utilizza l’SDK di Dodo Payments per verificare l’autenticità del webhook
  • Idempotenza — Utilizza l’header webhook-id per impedire l’elaborazione duplicata
  • Registrazione degli eventi — Archivia tutti gli eventi nella tabella webhook_events per i trail di 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 ulteriori tipi di eventi e campi in base alle tue esigenze.

File di configurazione

Schema del database

Tabelle create:
  • customers — Email, nome e ID customer di Dodo Payments
  • subscriptions — Stato, importo, data della prossima fatturazione, collegati ai customer
  • webhook_events — Registro degli eventi con webhook ID per l’idempotenza

Codice di implementazione

Come funziona

Il webhook handler:
  1. Verifica la firma — Utilizza l’SDK di Dodo Payments per verificare la richiesta con HMAC-SHA256
  2. Controlla i duplicati — Utilizza l’header webhook-id per impedire l’elaborazione dello stesso evento due volte
  3. Registra l’evento — Archivia il webhook non elaborato nella tabella webhook_events per i trail di audit
  4. Elabora l’evento — Crea o aggiorna customer e subscription in Neon
  5. Gestisce gli errori — Registra gli errori e contrassegna gli eventi come non elaborati per un nuovo tentativo

Test

Sviluppo locale:
Visualizza i log nella dashboard di Netlify:
  1. Seleziona il tuo sito e vai a Functions.
  2. Fai clic sulla funzione webhook.
  3. Visualizza i log in tempo reale e la cronologia delle invocazioni.
Configura nella dashboard di Dodo Payments:
  1. Vai a Developer → Webhooks.
  2. Aggiungi un endpoint con l’URL di Netlify Functions.
  3. Seleziona subscription.active, subscription.cancelled e subscription.renewed.

Problemi comuni

Risorse

Ultima modifica il 26 settembre 2026