Introduktion
Skicka transaktionse-post och hantera kundkommunikation automatiskt när betalningshändelser inträffar. Leverera betalningsbekräftelser, abonnemangsuppdateringar och viktiga meddelanden med Loopars e-postinfrastruktur.
Denna integration kräver din Loops API-nyckel för autentisering.
Komma igång
Öppna Webhook-sektionen
I din Dodo Payments-instrumentpanel, navigera till Webhooks → + Lägg till slutpunkt och expandera integrationsrullgardinsmenyn.
Välj Loops
Välj Loops integrationskortet.
Ange API-nyckel
Ange din Loops API-nyckel i konfigurationen.
Konfigurera transformation
Redigera transformationskoden för att formatera e-post för Loopars API.
Testa & Skapa
Testa med exempelpayloads och klicka på Skapa för att aktivera e-postutskick.
Klart!
🎉 Betalningshändelser kommer nu automatiskt att utlösa transaktionse-post via Loops.
Betalningsbekräftelse-e-post
function handler ( webhook ) {
if ( webhook . eventType === "payment.succeeded" ) {
const p = webhook . payload . data ;
webhook . url = "https://api.loops.so/v1/events/send" ;
webhook . payload = {
eventName: "payment_confirmation" ,
email: p . customer . email ,
properties: {
customer_name: p . customer . name ,
payment_id: p . payment_id ,
amount: ( p . total_amount / 100 ). toFixed ( 2 ),
currency: p . currency || "USD" ,
payment_method: p . payment_method || "unknown" ,
payment_date: new Date ( webhook . payload . timestamp ). toLocaleDateString ()
}
};
}
return webhook ;
}
See all 19 lines
Välkomst-e-post för abonnemang
function handler ( webhook ) {
if ( webhook . eventType === "subscription.active" ) {
const s = webhook . payload . data ;
webhook . url = "https://api.loops.so/v1/events/send" ;
webhook . payload = {
eventName: "subscription_welcome" ,
email: s . customer . email ,
properties: {
customer_name: s . customer . name ,
subscription_id: s . subscription_id ,
product_id: s . product_id ,
amount: ( s . recurring_pre_tax_amount / 100 ). toFixed ( 2 ),
frequency: s . payment_frequency_interval ,
next_billing: s . next_billing_date
}
};
}
return webhook ;
}
See all 19 lines
Meddelande om betalningsfel
function handler ( webhook ) {
if ( webhook . eventType === "payment.failed" ) {
const p = webhook . payload . data ;
webhook . url = "https://api.loops.so/v1/events/send" ;
webhook . payload = {
eventName: "payment_failed" ,
email: p . customer . email ,
properties: {
customer_name: p . customer . name ,
payment_id: p . payment_id ,
amount: ( p . total_amount / 100 ). toFixed ( 2 ),
error_message: p . error_message || "Payment processing failed" ,
retry_link: `https://yourdomain.com/retry-payment/ ${ p . payment_id } `
}
};
}
return webhook ;
}
See all 18 lines
Tips
Använd beskrivande händelsenamn för bättre organisering av e-postmallar
Inkludera relevanta kundegenskaper för personalisering
Ställ in e-postmallar i Loopars instrumentpanel för varje händelse
Använd konsekvent namngivning av egenskaper över händelser
Testa e-postleverans innan du går live
Felsökning
Verifiera att API-nyckeln är korrekt och aktiv
Kontrollera att händelsenamn matchar dina Loops-mallar
Se till att mottagarens e-postadresser är giltiga
Granska Loopars sändningsgränser och kvoter