Introduzione
Esegui le funzioni Inngest e i processi in background quando si verificano eventi di pagamento. Dodo Payments invia ogni evento a Inngest, dove le tue funzioni possono inviare notifiche, aggiornare i database ed eseguire workflow multi-step con i retry e la gestione degli errori di Inngest.Ti serve un URL webhook di Inngest. Puoi crearlo nella dashboard di Inngest, in Manage → Webhooks.
Iniziare
1
Open the Webhook Section
Nella dashboard di Dodo Payments, vai a Developer → Webhooks e fai clic su Add endpoint.

2
Select Inngest
In Integration, seleziona Inngest. In Subscribed events, seleziona gli eventi che devono attivare le tue funzioni.
3
Create an Inngest Webhook
Nella dashboard di Inngest, apri la scheda Manage e seleziona Webhooks. Crea un webhook e copia il relativo URL. Inngest esegue la funzione di trasformazione del webhook a ogni richiesta, quindi verifica che mantenga i campi
name e data previsti dalle tue funzioni.4
Paste Webhook URL
Incolla l’URL del webhook di Inngest in Endpoint URL.
5
Configure Transformation
In Transformation code, modifica il codice per formattare gli eventi per le tue funzioni Inngest. Consulta gli esempi riportati di seguito.
6
Test & Create
In Test this code, seleziona un tipo di evento e fai clic su Simulate per eseguire la trasformazione su un payload di esempio. Quindi fai clic su Create endpoint per attivare l’integrazione.
7
Done
Gli eventi di Dodo Payments ora attivano le tue funzioni Inngest.
Esempi di Codice di Trasformazione
Ogni esempio riscrivewebhook.payload trasformandolo in un evento Inngest. name è l’evento che attiva la tua funzione, data contiene i dettagli dell’evento, user contiene il cliente e ts rappresenta l’ora dell’evento in millisecondi, come richiesto dal formato degli eventi di Inngest.
Payload evento di base
basic_event.js
Gestore degli eventi di abbonamento
subscription_event.js
Gestore degli eventi di contestazione
Questo gestore inoltra ogni eventodispute.* e contrassegna dispute.opened come urgente. I payload delle contestazioni non includono i dettagli del cliente, quindi non invia alcun oggetto user.
dispute_event.js
Casi d’uso comuni di Inngest
Payment Processing
Payment Processing
- Inviare email di conferma
- Aggiornare i record dei clienti
- Elaborare i rimborsi
- Generare fatture
- Aggiornare l’inventario
Subscription Management
Subscription Management
- Dare il benvenuto ai nuovi abbonati
- Elaborare le cancellazioni
- Inviare promemoria per i rinnovi
- Aggiornare i cicli di fatturazione
- Gestire i pagamenti non riusciti
Analytics & Reporting
Analytics & Reporting
- Aggiornare le metriche dei ricavi
- Monitorare il comportamento dei clienti
- Generare report
- Sincronizzare i dati con le piattaforme di analisi
- Calcolare i tassi di abbandono
Suggerimenti
- Usa nomi descrittivi per gli eventi. Inngest consiglia di anteporre la fonte, ad esempio
dodo/payment.succeeded. - Inserisci i dettagli del cliente in
user, che Inngest crittografa quando sono inattivi. - Imposta
tsutilizzandotimestampdel webhook, in millisecondi, in modo che gli eventi mantengano l’ordine e l’ora originali. - Usa la stessa struttura dei dati per tutti gli eventi.
- Usa le funzionalità di retry e gestione degli errori di Inngest.
Risoluzione dei problemi
Functions not triggering
Functions not triggering
- Verifica che l’URL dell’endpoint corrisponda all’URL del webhook di Inngest e che il webhook sia attivo.
- Verifica che la tua funzione Inngest sia distribuita e attiva.
- Verifica che i nomi degli eventi corrispondano ai trigger della tua funzione.
- Controlla i log della funzione Inngest per individuare eventuali errori.
Data not received correctly
Data not received correctly
- Verifica che la struttura del payload corrisponda al formato degli eventi di Inngest.
- Verifica che i nomi degli eventi siano formattati correttamente.
- Verifica che la funzione di trasformazione del webhook di Inngest mantenga i campi impostati dalla trasformazione di Dodo Payments.
- Verifica che siano inclusi tutti i campi obbligatori.
- Esegui un test con lo strumento di testing dei webhook di Inngest.