Saltar al contenido principal

Introducción

Conecta Dodo Payments a miles de aplicaciones y servicios a través de N8N. Automatiza flujos de trabajo activando flujos de trabajo de N8N cuando ocurren eventos de pago, desde enviar correos electrónicos hasta actualizar hojas de cálculo, crear tareas, realizar operaciones en bases de datos y mucho más.
Esta integración requiere una URL de webhook de N8N desde la configuración de tu flujo de trabajo.

Comenzando

1

Open the Webhook Section

En tu panel de Dodo Payments, navega a Webhooks → + Añadir Endpoint y despliega el desplegable de integraciones.
Add Endpoint and integrations dropdown
2

Select N8N

Elige la tarjeta de integración N8N.
3

Create Webhook in N8N

En N8N, crea un nuevo flujo de trabajo y añade un nodo Webhook como desencadenante. Configúralo como un webhook POST y copia la URL del webhook.
4

Paste Webhook URL

Pega la URL del webhook de N8N en la configuración del endpoint.
5

Configure Transformation

Edita el código de transformación para formatear los datos para tu flujo de trabajo de N8N.
6

Test & Create

Prueba con cargas útiles de muestra y haz clic en Create para activar la integración.
7

Activate Workflow

En N8N, activa tu flujo de trabajo para comenzar a recibir eventos del webhook.
8

Done!

🎉 Los eventos de pago ahora activarán automáticamente tus flujos de trabajo de N8N.

Ejemplos de Código de Transformación

Carga Útil Básica del Webhook

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;
}

Manejador de Eventos de Suscripción

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;
}

Manejador de Alertas de Disputa

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;
}

Casos de Uso Populares de N8N

  • Envía correos de Gmail/Outlook para confirmaciones de pago
  • Crea secuencias de correo en Mailchimp/ConvertKit
  • Envía notificaciones a Slack/Discord mediante webhooks
  • Crea registros en Google Sheets automáticamente
  • Envía mensajes de Telegram/WhatsApp
  • Añade contactos a HubSpot/Salesforce
  • Crea oportunidades en Pipedrive/Close
  • Actualiza registros de clientes en Airtable
  • Registra actividades en Monday.com
  • Sincroniza datos con bases de datos PostgreSQL/MySQL
  • Crea tareas en Asana/Trello
  • Añade elementos pendientes en Notion
  • Crea eventos en Google Calendar
  • Envía notificaciones SMS mediante Twilio
  • Crea incidencia en GitHub para disputas
  • Transforma y enriquece los datos de pago
  • Almacena eventos en bases de datos (PostgreSQL, MongoDB)
  • Agrega métricas y análisis
  • Genera informes y exportaciones
  • Activa flujos de trabajo complejos de varios pasos

Consejos

  • Mantén la estructura de la carga útil simple para facilitar el análisis de nodos en N8N
  • Usa nombres de campo consistentes en todos los eventos
  • Incluye marcas de tiempo para la sincronización y programación de flujos de trabajo
  • Prueba tu flujo de trabajo con datos de ejemplo antes de activarlo
  • Usa el nodo IF de N8N para lógica condicional y enrutamiento
  • Aprovecha el nodo Code de N8N para transformaciones de datos personalizadas
  • Usa el nodo Switch para enrutar diferentes tipos de eventos a diferentes caminos
  • Configura flujos de trabajo de error para manejar entregas de webhook fallidas

Solución de Problemas

  • Verifica que la URL del webhook sea correcta y accesible
  • Comprueba que el flujo de trabajo esté activado en N8N
  • Asegúrate de que el nodo webhook esté configurado con el método POST
  • Prueba la entrega del webhook en el historial de ejecución de N8N
  • Verifica que la configuración de firewall/red permita webhooks entrantes
  • Revisa la configuración de autenticación del webhook en N8N si está establecida
  • Comprueba los nombres de campo en las configuraciones de los nodos de N8N
  • Verifica que los tipos de datos coincidan con los formatos esperados en los nodos
  • Utiliza la función de prueba de N8N para inspeccionar los datos entrantes
  • Asegúrate de que el código de transformación devuelva JSON válido
  • Revisa la configuración del formato de respuesta del nodo webhook
  • Usa el nodo Set para renombrar o reestructurar campos
  • Revisa los registros de ejecución en N8N para obtener mensajes de error detallados
  • Comprueba la configuración de conexión de los nodos y las credenciales
  • Verifica que todos los campos obligatorios estén presentes en la carga útil
  • Prueba nodos individuales con datos de muestra
  • Habilita flujos de trabajo de errores para capturar y manejar fallos
  • Comprueba los límites de velocidad y cuotas de API para los servicios conectados