Zum Hauptinhalt springen

Einführung

Synchronisieren Sie Ihre Zahlungsdaten direkt mit HubSpot CRM. Erstellen Sie Kontakte aus erfolgreichen Zahlungen, verfolgen Sie den Lebenszyklus von Abonnements und erstellen Sie umfassende Kundenprofile – alles automatisch ausgelöst durch Dodo Payments-Ereignisse.
Diese Integration erfordert Administratorzugriff auf HubSpot, um OAuth-Berechtigungen und API-Berechtigungen zu konfigurieren.

Erste Schritte

1

Webhook-Bereich öffnen

Gehen Sie in Ihrem Dodo Payments-Dashboard zu Webhooks → + Endpoint hinzufügen und erweitern Sie das Dropdown-Menü für Integrationen.
Endpoint hinzufügen und Dropdown-Menü für Integrationen
2

HubSpot auswählen

Wählen Sie die Integrationskarte HubSpot aus.
3

HubSpot verbinden

Klicken Sie auf Mit HubSpot verbinden und autorisieren Sie die erforderlichen OAuth-Berechtigungen.
4

Transformation konfigurieren

Bearbeiten Sie den Transformationscode, um Zahlungsdaten den HubSpot CRM-Objekten zuzuordnen.
5

Testen & Erstellen

Testen Sie mit Beispielpayloads und klicken Sie auf Erstellen, um die Synchronisierung zu aktivieren.
6

Fertig!

🎉 Zahlungsereignisse erstellen/aktualisieren jetzt automatisch Datensätze in Ihrem HubSpot CRM.

Transformationscode-Beispiele

Kontakt aus Zahlung erstellen

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

Kontakt mit Abonnement aktualisieren

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

Deal aus Zahlung erstellen

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

Tipps

  • Verwenden Sie den API-Explorer von HubSpot, um die Objekterstellung zu testen
  • Ordnen Sie Zahlungsbeträge den Währungsfeldern von HubSpot zu
  • Fügen Sie Kunden-IDs für die richtige Zuordnung hinzu
  • Setzen Sie geeignete Deal-Stufen basierend auf dem Zahlungsstatus

Fehlersuche

  • Überprüfen Sie, ob die OAuth-Berechtigungen Schreibberechtigungen enthalten
  • Stellen Sie sicher, dass die erforderlichen HubSpot-Eigenschaften vorhanden sind
  • Überprüfen Sie, ob die Kunden-E-Mail gültig und eindeutig ist
  • Überprüfen Sie die API-Rate-Limits von HubSpot
  • Validieren Sie, dass die JSON-Struktur dem HubSpot API-Format entspricht
  • Überprüfen Sie, ob alle erforderlichen Eigenschaften enthalten sind
  • Stellen Sie sicher, dass die Eigenschaftsnamen genau mit den HubSpot-Feldnamen übereinstimmen