Saltar al contenido principal

Introducción

Sincroniza tus datos de pago directamente con HubSpot CRM. Crea contactos a partir de pagos exitosos, rastrea el ciclo de vida de suscripciones y construye perfiles de clientes completos, todo automáticamente activado por eventos de Dodo Payments.
Esta integración requiere acceso de administrador de HubSpot para configurar los alcances de OAuth y los permisos de API.

Comenzando

1

Abre la sección de Webhook

En tu panel de Dodo Payments, ve a Webhooks → + Agregar Endpoint y expande el menú desplegable de integraciones.
Agregar Endpoint y menú desplegable de integraciones
2

Selecciona HubSpot

Elige la tarjeta de integración HubSpot.
3

Conectar HubSpot

Haz clic en Conectar a HubSpot y autoriza los alcances de OAuth requeridos.
4

Configurar Transformación

Edita el código de transformación para mapear los datos de pago a los objetos de HubSpot CRM.
5

Probar y Crear

Prueba con cargas útiles de ejemplo y haz clic en Crear para activar la sincronización.
6

¡Listo!

🎉 Los eventos de pago ahora crearán/actualizarán automáticamente registros en tu HubSpot CRM.

Ejemplos de Código de Transformación

Crear Contacto a partir de Pago

create_contact.js
function handler(webhook) {
  if (webhook.eventType === "payment.succeeded") {
    const p = webhook.payload.data;
    webhook.url = "https://api.hubapi.com/crm/v3/objects/contacts";
    webhook.payload = {
      properties: {
        email: p.customer.email,
        firstname: p.customer.name.split(' ')[0] || '',
        lastname: p.customer.name.split(' ').slice(1).join(' ') || '',
        phone: p.customer.phone || '',
        company: p.customer.company || '',
        amount: (p.total_amount / 100).toString(),
        payment_method: p.payment_method || '',
        currency: p.currency || 'USD'
      }
    };
  }
  return webhook;
}

Actualizar Contacto con Suscripción

update_contact.js
function handler(webhook) {
  if (webhook.eventType === "subscription.active") {
    const s = webhook.payload.data;
    webhook.url = `https://api.hubapi.com/crm/v3/objects/contacts/${s.customer.customer_id}`;
    webhook.method = "PATCH";
    webhook.payload = {
      properties: {
        subscription_status: "active",
        subscription_amount: (s.recurring_pre_tax_amount / 100).toString(),
        subscription_frequency: s.payment_frequency_interval,
        next_billing_date: s.next_billing_date,
        product_id: s.product_id
      }
    };
  }
  return webhook;
}

Crear Trato a partir de Pago

create_deal.js
function handler(webhook) {
  if (webhook.eventType === "payment.succeeded") {
    const p = webhook.payload.data;
    webhook.url = "https://api.hubapi.com/crm/v3/objects/deals";
    webhook.payload = {
      properties: {
        dealname: `Payment - ${p.customer.email}`,
        amount: (p.total_amount / 100).toString(),
        dealstage: "closedwon",
        closedate: new Date().toISOString(),
        hs_currency: p.currency || "USD"
      },
      associations: [
        {
          to: {
            id: p.customer.customer_id
          },
          types: [
            {
              associationCategory: "HUBSPOT_DEFINED",
              associationTypeId: 3
            }
          ]
        }
      ]
    };
  }
  return webhook;
}

Consejos

  • Usa el explorador de API de HubSpot para probar la creación de objetos
  • Mapea los montos de pago a los campos de moneda de HubSpot
  • Incluye IDs de clientes para asociaciones adecuadas
  • Establece etapas de trato apropiadas según el estado del pago

Solución de Problemas

  • Verifica que los alcances de OAuth incluyan permisos de escritura
  • Asegúrate de que las propiedades requeridas de HubSpot existan
  • Verifica que el correo electrónico del cliente sea válido y único
  • Revisa los límites de tasa de la API de HubSpot
  • Valida que la estructura JSON coincida con el formato de la API de HubSpot
  • Verifica que todas las propiedades requeridas estén incluidas
  • Asegúrate de que los nombres de las propiedades coincidan exactamente con los nombres de los campos de HubSpot