Skip to main content

GitHub Repository

Guida completa all’installazione e al codice sorgente

Configurazione Rapida

1. Prerequisiti

Ti occorrono:

2. Installazione delle 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. Configurazione iniziale dei secret

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

5. Aggiornamento di wrangler.toml

Modifica wrangler.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

  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.

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 subscription
  • subscription.cancelled — Contrassegna la subscription come annullata
  • subscription.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-id per impedire l’elaborazione duplicata
  • Registrazione degli eventi — Archivia tutti gli eventi nella tabella webhook_events per 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

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

Codice di implementazione

Come funziona

Il gestore dei webhook:
  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 consentire gli audit
  4. Elabora l’evento — Crea o aggiorna customer e subscription nel database
  5. Gestisce gli errori — Registra gli errori e contrassegna gli eventi come non elaborati per un nuovo tentativo

Test

Sviluppo locale:
Configurazione nella dashboard di Dodo Payments:
  1. Vai a Developer → Webhooks.
  2. Aggiungi un endpoint con l’URL del tuo Worker.
  3. Seleziona subscription.active, subscription.cancelled e subscription.renewed.

Problemi comuni

Risorse

Ultima modifica il 26 settembre 2026