Skip to main content

Introduktion

Kör ett Windmill-skript eller flöde varje gång en Dodo Payments-händelse inträffar. Använd det för att uppdatera en databas, synkronisera poster med ett annat system, skicka aviseringar eller köra din egen affärslogik i kod.
Windmill-anslutningen skickar varje händelse till webhook-URL:en för ett Windmill-skript eller flöde. Du behöver ett distribuerat skript eller flöde, en Windmill-token som kan köra det och åtkomst till Developer → Webhooks i Dodo Payments-dashboarden.

Komma igång

1

Open the Webhook Section

I Dodo Payments-instrumentpanelen går du till Developer → Webhooks och klickar på Add endpoint.
Dialogrutan Add endpoint med Windmill valt i listrutan Integration och stegen How to connect Windmill
2

Select Windmill

Under Integration väljer du Windmill. Dashboarden läser in Windmills transformationskod och visar konfigurationssteg i panelen How to connect Windmill.
3

Copy the Windmill Webhook URL

Öppna skriptet eller flödet som ska hantera händelser i Windmill. Öppna Webhooks på fliken Triggers och kopiera den asynkrona webhook-URL:en (UUID/Async). Skapa sedan en tokenspecifik för skriptet eller flödet och kopiera den. Denna token kan endast köra det skriptet eller flödet.
4

Paste Webhook URL

Klistra in Windmills webhook-URL i Endpoint URL. URL:en måste använda HTTPS, så en självhostad Windmill-instans behöver en offentlig HTTPS-adress. Windmill-anslutningen har inget fält för API-nyckel, så du lägger till token efter att du har skapat endpointen.
5

Select Events

Subscribed events listar de händelser som Windmill-anslutningen stöder. Behåll endast de händelser som ditt skript eller flöde hanterar.
6

Configure Transformation

Under Transformation code redigerar du hanteraren så att nyttolastens nycklar på toppnivå motsvarar indata till ditt skript eller flöde. Börja med exemplen.
7

Test & Create

Under Test this code väljer du en händelsetyp och klickar på Simulate för att förhandsgranska nyttolasten. Klicka sedan på Create endpoint.
8

Add the Windmill Token

Direkt efter att du har skapat endpointen öppnar du fliken Advanced. Under Custom headers klickar du på Add header. Ange Authorization som namn och Bearer, ett mellanslag och din token som värde. Klicka sedan på Save. Fram tills du sparar headern avvisar Windmill leveranser och Dodo Payments försöker skicka dem igen enligt schemat för nya försök.Windmill accepterar även token i en token-frågeparameter i slutet av URL:en. Windmill rekommenderar headern, eftersom alla som kan se en URL med en token kan använda token.
9

Done

Subscribed events startar nu körningar av ditt skript eller flöde. Om du vill skicka en testhändelse öppnar du endpointens flik Testing, väljer en händelsetyp och klickar på Send example. I Windmill visas körningen på sidan Runs med utlösaren Webhook.

Exempel på transformationskod

Varje hanterare ersätter webhook.payload med ett platt objekt och behåller webhook.url, din Windmill-webhook-URL. Windmill skickar varje nyckel på toppnivå till indatafältet i skriptet eller flödet med samma namn, så ett skript för det första exemplet deklarerar indata som event_type, payment_id och amount. Belopp i Dodo Payments anges i den minsta valutaenheten, så exemplen dividerar med 100 och skickar resultatet som en sträng, till exempel "25.00". För valutor utan decimaler, som JPY och KRW, använder du beloppet som det är.

Grundläggande arbetsflödesnyttolast

Skicka information om en lyckad betalning:
basic_workflow.js

Hanterare för prenumerationsarbetsflöde

Skicka en subscription_started- eller subscription_cancelled-händelse när en prenumeration aktiveras eller avslutas:
subscription_workflow.js

Hanterare för tvistarbetsflöde

Skicka varje tvistrelaterad händelse, med urgent inställd på true när en tvist öppnas:
dispute_workflow.js

Vanliga användningsområden för Windmill

  • Uppdatera kundposter i PostgreSQL eller MySQL
  • Logga betalningshändelser i ett datalager
  • Synkronisera data med externa system
  • Uppdatera lagernivåer
  • Spåra analysmått
  • Beräkna intäktsmått
  • Behandla återbetalningar och justeringar
  • Hantera ändringar i prenumerationers livscykel
  • Generera rapporter och exporter
  • Validera betalningsdata
  • Skicka data till analysplattformar
  • Uppdatera CRM-system
  • Starta e-postkampanjer
  • Skapa kalenderhändelser
  • Skicka SMS-aviseringar

Tips

  • Namnge nyttolastens nycklar efter indatafälten i ditt skript eller flöde, eftersom Windmill mappar varje nyckel på toppnivå till indatafältet med samma namn.
  • Använd samma fältnamn för olika händelser, så att ett skript kan hantera flera händelsetyper.
  • Inkludera händelsetypen och timestamp. Händelser kan komma i fel ordning, och timestamp gör att skriptet kan ordna dem.
  • Använd den asynkrona webhook-URL:en. Den synkrona URL:en väntar på att körningen ska slutföras, och en körning som överskrider leveransens timeout räknas som en misslyckad leverans, som Dodo Payments försöker skicka igen.
  • Se till att skriptet kan köras två gånger för samma händelse utan problem, eftersom nya försök kan leverera en händelse mer än en gång.
  • Om du vill hoppa över en händelse i koden anger du webhook.cancel = true innan du returnerar webhooken. Loggarna registrerar en överhoppad leverans som lyckad.
  • Använd Windmills felhanterare för att få aviseringar när en körning misslyckas.

Felsökning

  • Kontrollera att Endpoint URL är webhook-URL:en för ditt skript eller flöde och att endpointen är aktiverad.
  • Kontrollera att headern Authorization innehåller Bearer och en giltig token. En tokenspecifik webhook kan endast köra sitt eget skript eller flöde.
  • Kontrollera att skriptet eller flödet är distribuerat. Webhooken kör den senast distribuerade versionen, inte ett utkast.
  • Öppna fliken Logs i Developer → Webhooks för att se Windmills svar på varje leverans.
  • Kontrollera att nyttolastens nycklar på toppnivå matchar skriptets eller flödets indatafält med avseende på namn.
  • Kontrollera att varje värde matchar indatatypen. Exemplen skickar belopp som strängar.
  • Kontrollera körningen på Windmills sida Runs, filtrerad efter utlösaren Webhook. Den asynkrona URL:en svarar så snart Windmill köar körningen, så Dodo Payments-loggarna visar en lyckad leverans även när körningen misslyckas.
  • Kör skriptet eller flödet i Windmill med en nyttolast från Simulate.
Senast ändrad 26 september 2026