
Vår webhook-implementering följer Standard Webhooks specifikation, vilket säkerställer kompatibilitet med branschens bästa praxis och befintliga webhook-bibliotek.
Nyckelfunktioner
Real-time Delivery
Ta emot omedelbara aviseringar när händelser inträffar
Secure by Default
HMAC SHA256-signaturverifiering ingår
Automatic Retries
Inbyggd omförsökslogik med exponentiell backoff
Event Filtering
Prenumerera endast på de händelser du behöver
Komma igång
Access Webhook Settings
Navigera till DodoPayments-instrumentpanelen och gå till
Settings > Webhooks.Select Events to Receive
Välj vilka specifika händelser din webhook-endpoint ska lyssna på genom att markera dem i händelselistan.
Get Secret Key
Hämta din webhook
Secret Key från inställningssidan. Du använder den för att verifiera att mottagna webhooks är äkta.Konfigurera prenumererade händelser
Du kan konfigurera vilka specifika händelser de vill ta emot för varje webhook-endpoint.Åtkomst till händelsekonfiguration
Navigate to Webhook Details
Gå till din Dodo Payments-instrumentpanel och navigera till
Settings > Webhooks.Hantera händelseprenumerationer
View Available Events
Gränssnittet visar alla tillgängliga webhook-händelser organiserade hierarkiskt. Händelser är grupperade efter kategori (t.ex.,
dispute, payment, subscription).Search and Filter
Använd sökfältet för att snabbt hitta specifika händelser genom att skriva in händelsenamn eller nyckelord.
Select Events
Kryssa i rutorna bredvid de händelser du vill ta emot. Du kan:
- Välja individuella underhändelser (t.ex.,
dispute.accepted,dispute.challenged) - Välja överordnade händelser för att ta emot alla relaterade underhändelser
- Kombinera och matcha specifika händelser efter dina behov
Review Event Details
Hovra över informationsikonen (ⓘ) bredvid varje händelse för att se en beskrivning av när händelsen triggas.
Webhook-leverans
Tidsgränser
Webhooks har en 15-sekunders tidsgräns för både anslutnings- och läsningsoperationer. Se till att din endpoint svarar snabbt för att undvika tidsgränser.Automatiska omförsök
Om en webhook-leverans misslyckas, försöker Dodo Payments automatiskt igen med exponentiell backoff för att förhindra att ditt system överbelastas.| Försök | Fördröjning | Beskrivning |
|---|---|---|
| 1 | Omedelbart | Första omförsöket sker direkt |
| 2 | 5 sekunder | Andra försöket efter kort fördröjning |
| 3 | 5 minuter | Tredje försöket med ökad backoff |
| 4 | 30 minuter | Fjärde försöket fortsätter backoff |
| 5 | 2 timmar | Femte försöket med förlängd fördröjning |
| 6 | 5 timmar | Sjätte försöket med längre fördröjning |
| 7 | 10 timmar | Sjunde försöket med maximal fördröjning |
| 8 | 10 timmar | Sista försöket - webhook markerad som misslyckad om den misslyckas |
Max 8 omförsök per webhook-händelse. Till exempel, om en webhook misslyckas tre gånger innan den lyckas, är den totala leveranstiden ungefär 35 minuter och 5 sekunder från första försöket.
Idempotens
Each webhook event includes a uniquewebhook-id header. Use this identifier to implement idempotency and prevent duplicate processing.
Händelseordning
Webhook-händelser kan anlända i oordning på grund av omförsök eller nätverksförhållanden. Utforma ditt system för att hantera händelser i vilken sekvens som helst.Du kommer att ta emot den senaste nyttolasten vid leveranstillfället, oavsett när webhook-händelsen ursprungligen skickades.
Säkerställa Webhooks
För att säkerställa säkerheten för dina webhooks, validera alltid payloadarna och använd HTTPS.Verifiera signaturer
Each webhook request includes awebhook-signature header, an HMAC SHA256 signature of the webhook payload and timestamp, signed with your secret key.
SDK-verifiering (rekommenderas)
Alla officiella SDK:er inkluderar inbyggda hjälpmedel för att säkert validera och analysera inkommande webhooks. Två metoder finns tillgängliga:unwrap(): Verifierar signaturer med din webhook-hemliga nyckelunsafe_unwrap(): Tolkar payloads utan verifiering
Manuell verifiering (alternativ)
Om du inte använder en SDK kan du verifiera signaturer själv enligt Standard Webhooks-specifikationen:- Skapa det signerade meddelandet genom att sammanfoga
webhook-id,webhook-timestampoch den exakt råa strängifieradepayload, separerade med punkter (.). - Beräkna HMAC SHA256 av den strängen med din webhook-hemliga nyckel från instrumentpanelen.
- Jämför den beräknade signaturen med
webhook-signature-headern. Om de matchar är webhooken autentisk.
Vi följer Standard Webhooks-specifikationen. Du kan använda deras bibliotek för att verifiera signaturer: https://github.com/standard-webhooks/standard-webhooks/tree/main/libraries. För eventuella nyttolastformat, se Webhook Payload.
Svara på Webhooks
- Din webhook-hanterare måste returnera en
2xx status code-statuskod för att bekräfta mottagandet av händelsen. - Alla andra svar behandlas som ett fel, och webhooken kommer att skickas om.
Bästa praxis
Use HTTPS endpoints only
Use HTTPS endpoints only
Använd alltid HTTPS-URL:er för webhook-endpoints. HTTP-endpoints är sårbara för man-in-the-middle-attacker och exponerar dina webhook-data.
Respond immediately
Respond immediately
Returnera en
200-statuskod omedelbart när du tar emot webhooken. Bearbeta händelsen asynkront för att undvika timeout.Handle duplicate events
Handle duplicate events
Implementera idempotens med hjälp av
webhook-id-headern för att säkert bearbeta samma händelse flera gånger utan bieffekter.Secure your webhook secret
Secure your webhook secret
Förvara din webhook-hemlighet säkert med miljövariabler eller en hemlighetshanterare. Lägg aldrig in hemligheter i versionskontroll.
Webhook Payload-struktur
Att förstå webhook payload-strukturen hjälper dig att analysera och bearbeta händelser korrekt.Förfrågningsformat
Headers
Unikt identifierare för denna webhook-händelse. Använd den för idempotenskontroller.
HMAC SHA256-signatur för att verifiera webhookens äkthet.
Unix-tidsstämpel (i sekunder) när webhooken skickades.
Förfrågningskropp
Ditt Dodo Payments-affärsidentifierare.
Händelsetyp som utlöste denna webhook (t.ex.
payment.succeeded, subscription.active).ISO 8601-formaterad tidsstämpel för när händelsen inträffade.
Händelsespecifik nyttolast som innehåller detaljerad information om händelsen.
Exempel på Payload
Event Types
Bläddra bland alla tillgängliga webhook-händelsetyper
Event Payloads
Visa detaljerade payload-scheman för varje händelse
Testa Webhooks
Du kan testa din webhook-integration direkt från Dodo Payments-dashboarden för att säkerställa att din endpoint fungerar korrekt innan du går live.
Åtkomst till testgränssnittet
Navigate to Webhooks
Gå till din Dodo Payments-instrumentpanel och navigera till
Settings > Webhooks.Testa din Webhook
Testgränssnittet ger ett omfattande sätt att testa din webhook-endpoint:Select Event Type
Använd rullgardinsmenyn för att välja den specifika händelsetyp du vill testa (t.ex.,
payment.succeeded, payment.failed, med flera).Rullgardinsmenyn innehåller alla tillgängliga webhook-händelsetyper som din endpoint kan ta emot.
Review Schema and Example
Gränssnittet visar både Schema (datastruktur) och Example (exempelpayload) för den valda händelsetypen.
Verifiera ditt test
Check Your Endpoint
Övervaka dina webhook-endpoint-loggar för att bekräfta att testhändelsen mottogs.
Implementeringsexempel
Här är en komplett Express.js-implementering som visar webhook-verifiering och hantering:Testa webhooks med CLI
Dodo Payments CLI erbjuder två kommandon för att testa webhooks under lokal utveckling utan att lämna terminalen.Lyssna på live-webhooks lokalt
Vidaredirigera riktiga webhook-händelser från ditt testläge-konto till din lokala utvecklingsserver i realtid:http://localhost:3000/webhook), samtidigt som alla headers behålls, inklusive signaturheaders för verifieringstestning.
Lyssnaren fungerar endast med API-nycklar för testläge. Kör
dodo login och välj Test Mode innan du använder detta kommando.Utlös mock-webhook-händelser
Skicka mockade webhook-payloads till valfri endpoint utan att skapa riktiga transaktioner:CLI Webhook Testing Docs
Se den fullständiga CLI-dokumentationen för webhook-testning
Avancerade inställningar
Fliken Avancerade inställningar erbjuder ytterligare konfigurationsalternativ för att finjustera beteendet hos din webhook-endpoint.Hastighetsbegränsning (throttling)
Kontrollera takten som webhook-händelser levereras till din endpoint för att förhindra att systemet överbelastas.Configure Rate Limit
Klicka på Edit-knappen för att ändra inställningarna för hastighetsbegränsning.
Som standard har webhooks “No rate limit” aktiverat, vilket innebär att händelser levereras så fort de inträffar.
Anpassade headers
Lägg till egna HTTP-headers i alla webhook-förfrågningar som skickas till din endpoint. Detta är användbart för autentisering, routning eller för att lägga till metadata i dina webhook-förfrågningar.Add Custom Header
I avsnittet “Custom Headers” anger du en Key och ett Value för din anpassade header.
Add Multiple Headers
Klicka på +-knappen för att lägga till ytterligare anpassade headers efter behov.
Transformationer
Transformationer låter dig modifiera en webhooks payload och omdirigera den till en annan URL. Den här kraftfulla funktionen gör att du kan:- Modifiera payload-strukturen innan bearbetning
- Rutta webhooks till olika endpoints baserat på innehåll
- Lägga till eller ta bort fält från payloaden
- Transformera dataformat
Configure Transformation
Klicka på Edit transformation för att definiera dina transformationsregler.
Du kan använda JavaScript för att transformera webhook-payloaden och ange en annan mål-URL.
Övervaka webhook-loggar
Fliken Logs ger omfattande insyn i statusen för dina webhook-leveranser, så att du kan övervaka, felsöka och hantera webhook-händelser effektivt.
Aktivitetsövervakning
Fliken Activity ger realtidsinsikter i hur dina webhook-leveranser presterar med visuella analyser.
E-postaviseringar
Håll dig informerad om webhook-hälsan med automatiska e-postaviseringar. När webhook-leveranser börjar misslyckas eller din endpoint slutar svara får du aviseringar så att du snabbt kan åtgärda problemen och hålla integrationerna igång smidigt.
Aktivera e-postaviseringar
Navigate to Alerting Settings
Gå till din Dodo Payments-instrumentpanel och navigera till Dashboard → Webhooks → Alerting.
Enable Email Notifications
Aktivera Email notifications för att börja ta emot aviseringar om problem med webhook-leveranser.
Distribuera till molnplattformar
Redo att distribuera din webhook-hanterare till produktion? Vi erbjuder plattformsspecifika guider som hjälper dig distribuera webhooks till populära molnleverantörer med bästa praxis för varje plattform.Vercel
Distribuera webhooks till Vercel med serverlösa funktioner
Cloudflare Workers
Kör webhooks på Cloudflares kantnätverk
Supabase Edge Functions
Integrera webhooks med Supabase
Netlify Functions
Distribuera webhooks som Netlify serverlösa funktioner
Varje plattformsguide inkluderar miljöinställningar, signaturverifiering och distributionssteg som är specifika för den leverantören.
