Einführung
Führe Inngest-Funktionen und Hintergrundaufgaben aus, wenn Zahlungsereignisse auftreten. Dodo Payments sendet jedes Ereignis an Inngest. Dort können deine Funktionen Benachrichtigungen senden, Datenbanken aktualisieren und mehrstufige Workflows mit den Wiederholungs- und Fehlerbehandlungsfunktionen von Inngest ausführen.Du benötigst eine Inngest-Webhook-URL. Du erstellst sie im Inngest-Dashboard unter Manage → Webhooks.
Erste Schritte
1
Open the Webhook Section
Gehe im Dodo Payments-Dashboard zu Developer → Webhooks und klicke auf Add endpoint.

2
Select Inngest
Wähle unter Integration die Option Inngest aus. Wähle unter Subscribed events die Ereignisse aus, die deine Funktionen auslösen sollen.
3
Create an Inngest Webhook
Öffne im Inngest-Dashboard den Tab Manage und wähle Webhooks aus. Erstelle einen Webhook und kopiere seine URL. Inngest führt bei jeder Anfrage die Transformationsfunktion des Webhooks aus. Überprüfe daher, dass sie die Felder
name und data beibehält, die deine Funktionen erwarten.4
Paste Webhook URL
Füge die Inngest-Webhook-URL unter Endpoint URL ein.
5
Configure Transformation
Bearbeite unter Transformation code den Code, um Ereignisse für deine Inngest-Funktionen zu formatieren. Siehe die Beispiele weiter unten.
6
Test & Create
Wähle unter Test this code einen Ereignistyp aus und klicke auf Simulate, um die Transformation mit einer Beispiel-Payload auszuführen. Klicke anschließend auf Create endpoint, um die Integration zu aktivieren.
7
Done
Dodo-Payments-Ereignisse lösen jetzt deine Inngest-Funktionen aus.
Transformationscode-Beispiele
Jedes Beispiel wandeltwebhook.payload in ein Inngest-Ereignis um. name ist das Ereignis, bei dem deine Funktion ausgelöst wird, data enthält die Ereignisdetails, user enthält den Kunden und ts ist der Ereigniszeitpunkt in Millisekunden, den das Ereignisformat von Inngest erfordert.
Einfacher Ereignis-Payload
basic_event.js
Handler für Abonnementereignisse
subscription_event.js
Handler für Streitfallereignisse
Dieser Handler leitet jedesdispute.*-Ereignis weiter und markiert dispute.opened als dringend. Streitfall-Payloads enthalten keine Kundendetails. Daher wird kein user-Objekt gesendet.
dispute_event.js
Häufige Anwendungsfälle für Inngest
Payment Processing
Payment Processing
- Bestätigungs-E-Mails senden
- Kundendatensätze aktualisieren
- Rückerstattungen verarbeiten
- Rechnungen erstellen
- Bestand aktualisieren
Subscription Management
Subscription Management
- Neue Abonnenten begrüßen
- Kündigungen verarbeiten
- Erinnerungen an Verlängerungen senden
- Abrechnungszyklen aktualisieren
- Fehlgeschlagene Zahlungen verarbeiten
Analytics & Reporting
Analytics & Reporting
- Umsatzkennzahlen aktualisieren
- Kundenverhalten verfolgen
- Berichte erstellen
- Daten mit Analyseplattformen synchronisieren
- Abwanderungsraten berechnen
Tipps
- Verwende aussagekräftige Ereignisnamen. Inngest empfiehlt, ihnen die Quelle voranzustellen, zum Beispiel
dodo/payment.succeeded. - Speichere Kundendetails in
user, das Inngest im Ruhezustand verschlüsselt. - Setze
tsaus demtimestampdes Webhooks in Millisekunden, damit Ereignisse ihre ursprüngliche Reihenfolge und ihren ursprünglichen Zeitpunkt beibehalten. - Verwende für alle Ereignisse dieselbe Datenstruktur.
- Nutze die Wiederholungs- und Fehlerbehandlungsfunktionen von Inngest.
Fehlerbehebung
Functions not triggering
Functions not triggering
- Überprüfe, dass die Endpoint-URL mit deiner Inngest-Webhook-URL übereinstimmt und der Webhook aktiv ist.
- Überprüfe, dass deine Inngest-Funktion bereitgestellt und aktiv ist.
- Überprüfe, dass die Ereignisnamen mit den Auslösern deiner Funktion übereinstimmen.
- Prüfe die Logs der Inngest-Funktion auf Fehler.
Data not received correctly
Data not received correctly
- Überprüfe, dass die Payload-Struktur dem Inngest-Ereignisformat entspricht.
- Überprüfe, dass die Ereignisnamen korrekt formatiert sind.
- Überprüfe, dass die Transformationsfunktion des Inngest-Webhooks die Felder beibehält, die durch die Dodo-Payments-Transformation festgelegt werden.
- Überprüfe, dass alle erforderlichen Felder enthalten sind.
- Teste mit dem Webhook-Testtool von Inngest.