Passer au contenu principal

Introduction

Connectez Dodo Payments à des milliers d’applications et de services via N8N. Automatisez les flux de travail en déclenchant des workflows N8N lorsque des événements de paiement se produisent, allant de l’envoi d’e-mails à la mise à jour de feuilles de calcul, à la création de tâches, aux opérations de base de données, et bien plus encore.
Cette intégration requiert une URL de webhook N8N issue de la configuration de votre workflow.

Prise en main

1

Open the Webhook Section

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.
Add Endpoint and integrations dropdown
2

Select N8N

Choisissez la carte d’intégration N8N.
3

Create Webhook in N8N

Dans N8N, créez un nouveau workflow et ajoutez un nœud Webhook comme déclencheur. Configurez-le comme webhook POST et copiez l’URL du webhook.
4

Paste Webhook URL

Collez l’URL du webhook N8N dans la configuration du point de terminaison.
5

Configure Transformation

Modifiez le code de transformation pour formater les données pour votre workflow N8N.
6

Test & Create

Testez avec des charges utiles d’exemple et cliquez sur Créer pour activer l’intégration.
7

Activate Workflow

Dans N8N, activez votre workflow pour commencer à recevoir les événements webhook.
8

Done!

🎉 Les événements de paiement déclencheront désormais automatiquement vos workflows N8N.

Exemples de code de transformation

Charge utile de Webhook de base

basic_webhook.js
function handler(webhook) {
  if (webhook.eventType === "payment.succeeded") {
    const p = webhook.payload.data;
    webhook.payload = {
      event_type: webhook.eventType,
      payment_id: p.payment_id,
      amount: (p.total_amount / 100).toFixed(2),
      currency: p.currency || "USD",
      customer_email: p.customer.email,
      customer_name: p.customer.name,
      payment_method: p.payment_method || "unknown",
      timestamp: webhook.payload.timestamp
    };
  }
  return webhook;
}

Gestionnaire d’événements d’abonnement

subscription_webhook.js
function handler(webhook) {
  const s = webhook.payload.data;
  switch (webhook.eventType) {
    case "subscription.active":
      webhook.payload = {
        event_type: "subscription_started",
        subscription_id: s.subscription_id,
        customer_email: s.customer.email,
        customer_name: s.customer.name,
        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,
        timestamp: webhook.payload.timestamp
      };
      break;
    case "subscription.cancelled":
      webhook.payload = {
        event_type: "subscription_cancelled",
        subscription_id: s.subscription_id,
        customer_email: s.customer.email,
        cancelled_at: s.cancelled_at,
        cancel_at_next_billing: s.cancel_at_next_billing_date,
        timestamp: webhook.payload.timestamp
      };
      break;
  }
  return webhook;
}

Gestionnaire d’alerte de litige

dispute_webhook.js
function handler(webhook) {
  if (webhook.eventType.startsWith("dispute.")) {
    const d = webhook.payload.data;
    webhook.payload = {
      event_type: webhook.eventType,
      dispute_id: d.dispute_id,
      payment_id: d.payment_id,
      amount: (d.amount / 100).toFixed(2),
      status: d.dispute_status,
      stage: d.dispute_stage,
      remarks: d.remarks || "",
      urgent: webhook.eventType === "dispute.opened",
      timestamp: webhook.payload.timestamp
    };
  }
  return webhook;
}

Cas d’utilisation populaires de N8N

  • Envoyer des emails Gmail/Outlook pour confirmer les paiements
  • Créer des séquences d’emails dans Mailchimp/ConvertKit
  • Envoyer des notifications Slack/Discord via webhooks
  • Créer automatiquement des enregistrements dans Google Sheets
  • Envoyer des messages Telegram/WhatsApp
  • Ajouter des contacts à HubSpot/Salesforce
  • Créer des opportunités dans Pipedrive/Close
  • Mettre à jour les fiches client dans Airtable
  • Enregistrer les activités dans Monday.com
  • Synchroniser les données vers des bases PostgreSQL/MySQL
  • Créer des tâches dans Asana/Trello
  • Ajouter des éléments à faire dans Notion
  • Créer des événements de calendrier dans Google Calendar
  • Envoyer des notifications SMS via Twilio
  • Créer des issues GitHub pour les litiges
  • Transformer et enrichir les données de paiement
  • Stocker les événements dans des bases de données (PostgreSQL, MongoDB)
  • Agréger les métriques et les analyses
  • Générer des rapports et des exports
  • Déclencher des workflows complexes en plusieurs étapes

Conseils

  • Gardez la structure de la charge utile simple pour un parsing facile des nœuds N8N
  • Utilisez des noms de champs cohérents dans tous les événements
  • Incluez des horodatages pour le timing et la planification des workflows
  • Testez votre workflow avec des données d’exemple avant d’activer
  • Utilisez le nœud IF de N8N pour la logique conditionnelle et le routage
  • Profitez du nœud Code de N8N pour des transformations de données personnalisées
  • Utilisez le nœud Switch pour router différents types d’événements vers différents chemins
  • Configurez des workflows d’erreur pour gérer les échecs de livraison de webhook

Dépannage

  • Vérifiez que l’URL du webhook est correcte et accessible
  • Vérifiez que le workflow est activé dans N8N
  • Assurez-vous que le nœud webhook est configuré sur la méthode POST
  • Testez la livraison du webhook dans l’historique d’exécution de N8N
  • Vérifiez que les paramètres pare-feu/réseau autorisent les webhooks entrants
  • Contrôlez les paramètres d’authentification du webhook N8N si configurés
  • Vérifiez les noms de champs dans les configurations des nœuds N8N
  • Assurez-vous que les types de données correspondent aux formats attendus dans les nœuds
  • Utilisez la fonction de test de N8N pour inspecter les données entrantes
  • Assurez-vous que le code de transformation renvoie un JSON valide
  • Vérifiez les paramètres de format de réponse du nœud webhook
  • Utilisez le nœud Set pour renommer ou restructurer des champs
  • Consultez les journaux d’exécution dans N8N pour obtenir des messages d’erreur détaillés
  • Vérifiez les paramètres de connexion des nœuds et les identifiants
  • Assurez-vous que tous les champs requis sont présents dans la charge utile
  • Testez les nœuds individuellement avec des données d’exemple
  • Activez des workflows d’erreur pour détecter et gérer les échecs
  • Vérifiez les limites de débit et les quotas d’API pour les services connectés