الانتقال إلى المحتوى الرئيسي

Documentation Index

Fetch the complete documentation index at: https://docs.dodopayments.com/llms.txt

Use this file to discover all available pages before exploring further.

المقدمة

قم بمزامنة بيانات الدفع الخاصة بك مباشرةً إلى HubSpot CRM. أنشئ جهات اتصال من المدفوعات الناجحة، وتتبع دورة حياة الاشتراك، وابنِ ملفات تعريف شاملة للعملاء - كل ذلك يتم تشغيله تلقائيًا بواسطة أحداث مدفوعات Dodo.
يتطلب هذا التكامل صلاحيات مسؤول HubSpot لتكوين نطاقات OAuth وأذونات API.

البدء

1

Open the Webhook Section

في لوحة تحكم Dodo Payments، انتقل إلى Webhooks → + إضافة نقطة نهاية وقم بتوسيع قائمة التكاملات.
Add Endpoint and integrations dropdown
2

Select HubSpot

اختر بطاقة التكامل HubSpot.
3

Connect HubSpot

انقر على الاتصال بـ HubSpot وامنح نطاقات OAuth المطلوبة.
4

Configure Transformation

قم بتحرير كود التحويل لربط بيانات الدفع مع كائنات CRM في HubSpot.
5

Test & Create

اختبر باستخدام بيانات نموذجية وانقر على إنشاء لتفعيل المزامنة.
6

Done!

🎉 ستقوم أحداث الدفع الآن بإنشاء/تحديث السجلات تلقائيًا في CRM الخاص بـ HubSpot.

أمثلة على كود التحويل

إنشاء جهة اتصال من الدفع

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

تحديث جهة الاتصال مع الاشتراك

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

إنشاء صفقة من الدفع

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

نصائح

  • استخدم مستكشف API الخاص بـ HubSpot لاختبار إنشاء الكائنات
  • قم بربط مبالغ الدفع بحقول العملة في HubSpot
  • قم بتضمين معرفات العملاء للتوافق الصحيح
  • قم بتعيين مراحل الصفقة المناسبة بناءً على حالة الدفع

استكشاف الأخطاء وإصلاحها

  • تحقق من أن نطاقات OAuth تتضمن أذونات الكتابة
  • تأكد من وجود خصائص HubSpot المطلوبة
  • تأكد من أن بريد العميل الإلكتروني صالح وفريد
  • راجع حدود معدل API الخاصة بـ HubSpot
  • تحقق من أن هيكل JSON يتطابق مع تنسيق API الخاص بـ HubSpot
  • تأكد من تضمين جميع الخصائص المطلوبة
  • تأكد من أن أسماء الخصائص تطابق أسماء حقول HubSpot تمامًا
Last modified on April 20, 2026