Skip to main content

Introduktion

SendGrid-integrationen skickar ett transaktionsmejl via SendGrid’s Mail Send API när en händelse i Dodo Payments inträffar. Varje mejl använder en av dina dynamiska SendGrid-mallar, ifylld med data från händelsen, så att du kan bekräfta betalningar, välkomna nya prenumeranter och följa upp misslyckade betalningar.
Den här integrationen kräver en SendGrid API key med behörigheten Mail Send, en verifierad avsändare i SendGrid och en dynamisk mall för varje mejl du skickar. Du behöver också åtkomst till Developer → Webhooks i Dodo Payments dashboard.

Komma igång

1

Open the Webhook Section

I Dodo Payments-instrumentpanelen går du till Developer → Webhooks och klickar på Add endpoint.
Add endpoint dialog with SendGrid selected in the Integration dropdown and the How to connect SendGrid steps
2

Select SendGrid

I Integration väljer du SendGrid. Dashboard fyller i Endpoint URL och transformationskoden för SendGrid, och panelen How to connect SendGrid visar konfigurationsstegen.
3

Enter API Key

I SendGrid går du till Settings → API Keys och klickar på Create API Key. Välj Restricted Access med behörigheten Mail Send, eller Full Access. SendGrid visar nyckeln, som börjar med SG., endast en gång. Klistra in den i API key. Dodo Payments skickar den som en bearer token i headern Authorization i varje begäran till SendGrid.
4

Select Events

Under Subscribed events väljer du endast de händelser som din transformation hanterar. En händelse som transformationen lämnar oförändrad når SendGrid i Dodo Payments-formatet, och SendGrid avvisar den.
5

Configure Transformation

Under Transformation code redigerar du hanteraren så att den formaterar mejl för SendGrid’s Mail Send API. Börja med exemplen och ersätt varje template_id med ID:t för din egen dynamiska mall, som börjar med d-.
6

Test & Create

Under Test this code väljer du en händelsetyp och klickar på Simulate för att förhandsgranska begäran till SendGrid. Klicka sedan på Create endpoint.
7

Done

Dodo Payments skickar nu ett mejl via SendGrid för varje prenumererad händelse. Om du vill se varje leverans och SendGrid’s svar öppnar du fliken Logs i Developer → Webhooks.

Exempel på transformationskod

Varje hanterare anger webhook.url som Mail Send-endpoint och skickar händelsedata till en dynamisk mall via dynamic_template_data. Belopp i Dodo Payments anges i den minsta valutaenheten, så exemplen dividerar med 100. För valutor utan decimaler, som JPY och KRW, använder du beloppet som det är.

Mejl för betalningsbekräftelse

Skicka ett kvitto när en betalning lyckas (payment.succeeded):
payment_confirmation.js

Välkomstmejl för prenumeration

Välkomna en kund när en prenumeration blir aktiv (subscription.active):
subscription_welcome.js

Avisering om misslyckad betalning

Be kunden försöka igen när en betalning misslyckas (payment.failed):
payment_failure.js

Tips

  • Använd dynamiska SendGrid-mallar för att anpassa innehållet.
  • Skicka de betalningsdata som mallen behöver i dynamic_template_data.
  • Ange en from-adress som matchar en verifierad avsändare samt en avsändar- name.
  • Återanvänd mall-ID:n så att mejl av samma typ behåller samma format.
  • Inkludera en avregistreringslänk i alla mejl som innehåller marknadsföringsinnehåll.
  • 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.

Felsökning

  • Kontrollera att API key har behörigheten Mail Send. Om du vill ersätta den redigerar du endpointen och klistrar in en ny nyckel i API key.
  • Kontrollera att varje template_id tillhör en aktiv dynamisk mall.
  • Kontrollera att mottagarnas mejladresser är giltiga.
  • Kontrollera SendGrid’s sändningsgränser och kvoter för din plan.
  • Öppna fliken Logs i Developer → Webhooks och läs SendGrid’s svar på den misslyckade leveransen.
  • Kontrollera att payloaden följer SendGrid’s Mail Send-format.
  • Kontrollera att alla obligatoriska fält finns: personalizations med minst en to-adress samt from.
  • Kontrollera att nycklarna i dynamic_template_data matchar variablerna i din mall, till exempel {{customer_name}}.
  • Kontrollera att varje from-adress är verifierad i SendGrid.
Senast ändrad 26 september 2026