مقدمة
اربط Dodo Payments بـ GoHighLevel (GHL) للبيع من خلال مسارات GHL ومواقع الويب ورسائل البريد الإلكتروني وSMS، وتنفيذ الطلبات باستخدام أتمتة GHL. GHL هو نظام CRM ومنصة تسويق تتضمن المسارات ومواقع الويب والبريد الإلكتروني وSMS والأتمتة (Workflows). لا يدرج GHL Dodo Payments كمعالج دفع مدمج، لذلك يمكنك ربط النظامين بإحدى ثلاث طرق. اختر الطريقة بناءً على مدى رغبتك في دمج صفحة الدفع ومقدار التعليمات البرمجية التي يمكنك كتابتها. تتعامل كل طريقة مع تنفيذ الطلبات بالطريقة نفسها: يرسل Dodo Payments أحداث webhook إلى سير عمل Inbound Webhook في GHL، والذي يضيف وسمًا إلى جهة الاتصال، ويمنح الوصول، ويرسل التأكيدات.اختر طريقتك
تختلف الطرق الثلاث في التعليمات البرمجية التي تحتاج إليها وفي المكان الذي يدفع فيه العميل:المتطلبات الأساسية
قبل البدء، تحتاج إلى:- حساب Dodo Payments يتضمن منتجًا واحدًا على الأقل.
- حساب GoHighLevel يتضمن مسارًا أو موقع ويب أو سير عمل.
- الوصول إلى Developer → Webhooks في لوحة تحكم Dodo Payments، وإلى Developer → API Keys إذا كنت تحتاج إلى API key.
- للطريقتين B وC: نقطة نهاية صغيرة backend أو serverless تنشئ جلسات checkout.
تنفيذ الطلبات باستخدام Webhooks (جميع الطرق)
يُعد سير عمل webhook طبقة الأتمتة. أعد إعداده مرة واحدة، وسيعمل مع كل طرق الدفع.Create the Workflow
Add the Inbound Webhook Trigger
Register the Webhook in Dodo Payments
Add Fulfillment Actions
الطريقة A: Payment Links (بدون تعليمات برمجية)
أضف رابط دفع Dodo Payments إلى أي زر في GHL أو دعوة لاتخاذ إجراء في مسار أو زر في صفحة الطلب أو بريد إلكتروني أو رسالة SMS. يدفع العملاء في صفحة الدفع المستضافة لدى Dodo Payments. لمعرفة ما يدعمه الدفع، راجع Checkout Features.Create a Product and Copy Its Payment Link
https://checkout.dodopayments.com/buy/{product_id}.Add the Link to Your GHL Button
Set a Success Page (Optional)
redirect_url.الطريقة B: Overlay Checkout (تعليمات برمجية مخصصة)
تفتح الطريقة B صفحة checkout في Dodo Payments باعتبارها modal overlay فوق صفحة GHL، باستخدام Checkout SDK من CDN. وتحتاج إلى backend ينشئ جلسة checkout ويعيدcheckoutUrl.
Create a Backend Endpoint That Calls the Checkout Sessions API
checkout_url.مثال على منطق المعالج، يمكنك تكييفه مع نظامك الأساسي:DODO_PAYMENTS_API_KEY على النظام الأساسي الذي تنشر عليه، ولا تضعه في code مطلقًا. اسمح بالطلبات من نطاق GHL لديك (CORS)، وقدّم نقطة النهاية من نطاق تتحكم فيه، مثل https://api.example.com/create-checkout. عند الانتقال إلى الوضع المباشر، بدّل عنوان URL إلى https://live.dodopayments.com/checkouts.Add a Custom Code Element in the GHL Page Builder
- انقر على أيقونة + في أعلى يسار أداة الإنشاء لفتح Quick Add.
- حدد Elements من قائمة الفئات على اليسار.
- ابحث عن Custom Code (يظهر أيضًا باسم HTML) واسحبه إلى الصفحة.
- ألصق التعليمات البرمجية أدناه في محرر code الخاص بالعنصر، ثم احفظه.
Publish and Test on Your Domain
الطريقة C: Inline (مضمّن) Checkout
تضمّن الطريقة C نموذج checkout داخل صفحة GHL، دون إعادة توجيه أو نافذة منبثقة. وتستخدم SDK نفسه مع عنصر حاوية ليتم تركيبه بداخله. وكما في الطريقة B، تحتاج إلى backend لإنشاء الجلسة.Create a Backend Endpoint That Calls the Checkout Sessions API
{ checkoutUrl }.Add a Container and SDK via Custom Code
- انقر على أيقونة + في أعلى يسار أداة الإنشاء لفتح Quick Add.
- حدد Elements من قائمة الفئات على اليسار.
- ابحث عن Custom Code (يظهر أيضًا باسم HTML) واسحبه إلى الصفحة حيث تريد ظهور نموذج checkout.
- ألصق التعليمات البرمجية أدناه في محرر code الخاص بالعنصر، ثم احفظه.
Verify Your Domain for Wallets (Apple Pay)
/.well-known/apple-developer-merchantid-domain-association. في الصفحات المستضافة بواسطة GHL، استخدم الدفع المستضاف من Payment Links (Approach A) أو تخطَّ Apple Pay.الأحداث التي يجب التعامل معها
اشترك في الأحداث التي يعتمد عليها سير عملك من خلال GHL endpoint. يقترح الجدول إجراءً في GHL لكل حدث:data.customer.email. استخدم إجراء GHL find/create contact by email لمطابقة عملية الدفع مع جهة الاتصال الصحيحة. للاطلاع على كل حدث، راجع Webhook Event Guide.
الاختبار والانتقال إلى الوضع المباشر
Test in Test Mode
4242 4242 4242 4242 (تاريخ الانتهاء 06/32، وCVV 123)، وتحقّق من تشغيل سير عمل GHL وتطبيق الوسم أو منح الوصول.Go Live
- Payment Links (A): استبدل الرابط برابط الدفع live للمنتج.
- Overlay checkout (B): وجّه backend إلى
https://live.dodopayments.com/checkoutsباستخدام مفتاح API live، واضبطmodeعلى"live"في استدعاءInitializeالخاص بـ SDK. - Inline checkout (C): أجرِ التغييرات نفسها الخاصة بـ overlay checkout، لأنه يستخدم نقطة نهاية backend وتهيئة SDK نفسيهما.
نصائح
استكشاف الأخطاء وإصلاحها
Payment succeeded but nothing happened in GHL
Payment succeeded but nothing happened in GHL
Contact not created or not matched
Contact not created or not matched
Payment isn't showing in GHL's Payments tab
Payment isn't showing in GHL's Payments tab