Hoppa till huvudinnehåll

Introduktion

Synkronisera dina betalningsdata direkt till HubSpot CRM. Skapa kontakter från framgångsrika betalningar, spåra prenumerationslivscykler och bygg omfattande kundprofiler—allt automatiskt utlösts av Dodo Payments-händelser.
Denna integration kräver administratörsbehörighet i HubSpot för att konfigurera OAuth-scopes och API-behörigheter.

Komma igång

1

Öppna Webhook-sektionen

I din Dodo Payments-instrumentpanel, gå till Webhooks → + Lägg till slutpunkt och expandera integrationsrullgardinsmenyn.
Lägg till slutpunkt och integrationsrullgardinsmeny
2

Välj HubSpot

Välj HubSpot integrationskortet.
3

Anslut HubSpot

Klicka på Anslut till HubSpot och auktorisera de nödvändiga OAuth-scopes.
4

Konfigurera transformation

Redigera transformationskoden för att mappa betalningsdata till HubSpot CRM-objekt.
5

Testa & Skapa

Testa med exempelpayloads och klicka på Skapa för att aktivera synkroniseringen.
6

Klart!

🎉 Betalningshändelser kommer nu automatiskt att skapa/uppdatera poster i din HubSpot CRM.

Exempel på transformationskod

Skapa kontakt från betalning

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

Uppdatera kontakt med prenumeration

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

Skapa affär från betalning

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

Tips

  • Använd HubSpots API-explorer för att testa objektsskapande
  • Mappa betalningsbelopp till HubSpot-valutafält
  • Inkludera kund-ID:n för korrekta kopplingar
  • Ställ in lämpliga affärssteg baserat på betalningsstatus

Felsökning

  • Verifiera att OAuth-scopes inkluderar skrivbehörigheter
  • Kontrollera att nödvändiga HubSpot-egenskaper finns
  • Se till att kundens e-postadress är giltig och unik
  • Granska HubSpot API-hastighetsgränser
  • Validera att JSON-strukturen matchar HubSpot API-formatet
  • Kontrollera att alla nödvändiga egenskaper är inkluderade
  • Se till att egenskapsnamnen matchar HubSpot-fältnamnen exakt