Passer au contenu principal

Introduction

Envoyez automatiquement des e-mails transactionnels pour les confirmations de paiement, les mises à jour d’abonnement et les notifications importantes en utilisant SendGrid. Déclenchez des e-mails personnalisés basés sur des événements de paiement avec du contenu dynamique et des modèles professionnels.
Cette intégration nécessite une clé API SendGrid avec des autorisations Mail Send.

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 SendGrid

Choisissez la carte d’intégration SendGrid.
3

Entrer la clé API

Fournissez votre clé API SendGrid dans la configuration.
4

Configurer la transformation

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

Tester et 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 SendGrid.

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.sendgrid.com/v3/mail/send";
    webhook.payload = {
      personalizations: [
        {
          to: [{ email: p.customer.email }],
          dynamic_template_data: {
            customer_name: p.customer.name,
            payment_amount: (p.total_amount / 100).toFixed(2),
            payment_id: p.payment_id,
            payment_date: new Date(webhook.payload.timestamp).toLocaleDateString(),
            currency: p.currency || "USD"
          }
        }
      ],
      from: {
        email: "[email protected]",
        name: "Your Company"
      },
      template_id: "d-xxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxx"
    };
  }
  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.sendgrid.com/v3/mail/send";
    webhook.payload = {
      personalizations: [
        {
          to: [{ email: s.customer.email }],
          dynamic_template_data: {
            customer_name: s.customer.name,
            subscription_id: s.subscription_id,
            product_name: s.product_id,
            amount: (s.recurring_pre_tax_amount / 100).toFixed(2),
            frequency: s.payment_frequency_interval,
            next_billing: new Date(s.next_billing_date).toLocaleDateString()
          }
        }
      ],
      from: {
        email: "[email protected]",
        name: "Your Company"
      },
      template_id: "d-xxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxx"
    };
  }
  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.sendgrid.com/v3/mail/send";
    webhook.payload = {
      personalizations: [
        {
          to: [{ email: p.customer.email }],
          dynamic_template_data: {
            customer_name: p.customer.name,
            payment_amount: (p.total_amount / 100).toFixed(2),
            error_message: p.error_message || "Payment processing failed",
            payment_id: p.payment_id,
            retry_link: `https://yourdomain.com/retry-payment/${p.payment_id}`
          }
        }
      ],
      from: {
        email: "[email protected]",
        name: "Your Company Support"
      },
      template_id: "d-xxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxx"
    };
  }
  return webhook;
}

Conseils

  • Utilisez des modèles dynamiques SendGrid pour un contenu personnalisé
  • Incluez des données de paiement pertinentes dans les variables de modèle
  • Définissez des adresses d’expéditeur et des noms d’expéditeur appropriés
  • Utilisez des ID de modèle pour un formatage d’e-mail cohérent
  • Incluez des liens de désinscription pour la conformité

Dépannage

  • Vérifiez que la clé API a des autorisations Mail Send
  • Assurez-vous que les ID de modèle sont valides et actifs
  • Vérifiez que les adresses e-mail des destinataires sont valides
  • Passez en revue les limites et quotas d’envoi de SendGrid
  • Validez que la structure JSON correspond au format de l’API SendGrid
  • Vérifiez que tous les champs requis sont présents
  • Assurez-vous que les variables de données de modèle sont correctement formatées
  • Vérifiez que les adresses e-mail d’expéditeur sont vérifiées dans SendGrid