Vai al contenuto principale

GitHub Repository

Guida completa all’installazione e al codice sorgente

Configurazione Rapida

1. Requisiti

2. Installa le Dipendenze

3. Configurazione del Database

  1. Registrati su Neon
  2. Crea un nuovo progetto
  3. Apri l’SQL Editor
  4. Copia e incolla i contenuti di schema.sql
  5. Esegui la query
  6. Recupera la stringa di connessione da Neon → Connection Details

4. Configura i Segreti Iniziali

Nota: Imposteremo DODO_PAYMENTS_WEBHOOK_KEY dopo il deployment una volta che avrai il tuo URL webhook.

5. Aggiorna wrangler.toml

Modifica wrangler.toml e imposta il nome del worker:

6. Distribuisci

7. Ottieni il Tuo URL del Webhook

Il tuo URL del webhook è:

8. Registra il Webhook nel Dashboard di DodoPayments

  1. Vai su DodoPayments Dashboard → Developer → Webhooks
  2. Crea un nuovo endpoint webhook
  3. Configura il tuo URL webhook come endpoint
  4. Abilita questi eventi di sottoscrizione:
    • subscription.active
    • subscription.cancelled
    • subscription.renewed
  5. Copia il Signing Secret

9. Imposta la Chiave del Webhook e Ridistribuisci

Cosa Fa

Elabora eventi di sottoscrizione e li memorizza in PostgreSQL:
  • subscription.active - Crea/aggiorna record di clienti e sottoscrizioni
  • subscription.cancelled - Segna la sottoscrizione come annullata
  • subscription.renewed - Aggiorna la data della prossima fatturazione

Caratteristiche Principali

Verifica della firma - Utilizzando la libreria dodopayments
Idempotenza - Previene la duplicazione dell’elaborazione grazie agli ID webhook
Registrazione eventi - Trail di audit completo nella tabella webhook_events
Gestione degli errori - Registrata e ritentabile
Nota: Questa implementazione mostra la gestione di tre eventi principali di sottoscrizione (subscription.active, subscription.cancelled, subscription.renewed) con campi minimi. Puoi facilmente estenderla per supportare altri tipi di eventi e campi in base alle tue esigenze.

File di Configurazione

Schema del Database

Tabelle create:
  • customers - Email, nome, dodo_customer_id
  • subscriptions - Stato, importo, next_billing_date, collegato ai clienti
  • webhook_events - Registro eventi con webhook_id per idempotenza

Codice di Implementazione

Come Funziona

Il gestore del webhook:
  1. Verifica la firma - Assicura che la richiesta provenga da DodoPayments usando HMAC-SHA256
  2. Controlla i duplicati - Usa l’ID del webhook per evitare di elaborare lo stesso evento due volte
  3. Registra l’evento - Memorizza il webhook grezzo nella tabella webhook_events per il trail di audit
  4. Elabora l’evento - Crea o aggiorna clienti e sottoscrizioni
  5. Gestisce gli errori - Registra i fallimenti e marca l’evento come non elaborato per un nuovo tentativo

Test

Sviluppo locale:
Configura nel Dashboard di DodoPayments:
  1. Vai su Sviluppatori → Webhook
  2. Aggiungi endpoint con il tuo URL Worker
  3. Abilita: subscription.active, subscription.cancelled, subscription.renewed

Problemi Comuni

Risorse

Ultima modifica il 22 maggio 2026