Passer au contenu principal

Introduction

Envoyez des e-mails transactionnels et gérez automatiquement la communication client lorsque des événements de paiement se produisent. Livrez des confirmations de paiement, des mises à jour d’abonnement et des notifications importantes grâce à l’infrastructure d’e-mail de Boucles.
Cette intégration nécessite votre clé API Loops pour l’authentification.

Prise en main

1

Ouvrir la section Webhook

Dans votre tableau de bord Dodo Payments, accédez à Webhooks → + Ajouter un point de terminaison et développez le menu déroulant des intégrations.
Ajouter un point de terminaison et menu déroulant des intégrations
2

Sélectionner Loops

Choisissez la carte d’intégration Loops.
3

Entrer la clé API

Fournissez votre clé API Loops dans la configuration.
4

Configurer la transformation

Modifiez le code de transformation pour formater les e-mails pour l’API de Loops.
5

Tester & Créer

Testez avec des charges utiles d’exemple et cliquez sur Créer pour activer l’envoi d’e-mails.
6

Terminé !

🎉 Les événements de paiement déclencheront désormais automatiquement des e-mails transactionnels via Loops.

Exemples de code de transformation

E-mail de confirmation de paiement

payment_confirmation.js
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;
}

E-mail de bienvenue d’abonnement

subscription_welcome.js
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;
}

Notification d’échec de paiement

payment_failure.js
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;
}

Conseils

  • Utilisez des noms d’événements descriptifs pour une meilleure organisation des modèles d’e-mail
  • Incluez des propriétés client pertinentes pour la personnalisation
  • Configurez des modèles d’e-mail dans le tableau de bord Loops pour chaque événement
  • Utilisez une nomenclature de propriété cohérente à travers les événements
  • Testez la livraison des e-mails avant de passer en production

Dépannage

  • Vérifiez que la clé API est correcte et active
  • Assurez-vous que les noms d’événements correspondent à vos modèles Loops
  • Vérifiez que les adresses e-mail des destinataires sont valides
  • Examinez les limites et quotas d’envoi de Loops
  • Validez que la structure JSON correspond au format de l’API Loops
  • Vérifiez que tous les champs requis sont présents
  • Assurez-vous que les noms d’événements sont correctement formatés
  • Vérifiez les autorisations de la clé API