Skip to main content

المقدمة

يُرسل تكامل Slack أحداث Dodo Payments، مثل payments الناجحة وتغييرات الاشتراكات والنزاعات، إلى قناة Slack تختارها. يمكن لفريقك متابعة payments والتعامل مع النزاعات من Slack، من دون التحقق من لوحة التحكم.
يحوّل موصل Slack كل حدث من Dodo Payments إلى رسالة Slack من خلال transformation: كود JavaScript يعمل على الحدث قبل تسليمه. يأتي الموصل مزودًا بكود transformation، لذلك لا تحتاج إلى كتابة كود للبدء. تحتاج إلى الوصول إلى Developer → Webhooks في لوحة تحكم Dodo Payments، وإلى صلاحية إضافة تطبيقات إلى مساحة عمل Slack الخاصة بك.

البدء

1

Open the Webhook Section

في لوحة تحكم Dodo Payments، انتقل إلى Developer → Webhooks وانقر على Add endpoint.
مربع حوار Add endpoint مع ضبط القائمة المنسدلة Integration على Custom webhook
2

Select Slack Integration

ضمن Integration، اختر Slack. تحمّل لوحة التحكم رمز التحويل الخاص بـ Slack وتعرض خطوات الإعداد في لوحة How to connect Slack.
مربع حوار Add endpoint مع اختيار Slack وخطوات How to connect Slack
3

Create a Slack Webhook URL

في Slack، أنشئ تطبيقًا يتضمن incoming webhook للقناة التي يجب أن تتلقى الإشعارات:
  1. افتح api.slack.com/apps، وانقر على Create New App، ثم اختر From scratch.
  2. سمِّ التطبيق، على سبيل المثال Dodo Payments Notifications، واختر مساحة عملك، ثم انقر على Create App.
  3. من الشريط الجانبي، افتح Incoming Webhooks وفعّل Activate Incoming Webhooks.
  4. انقر على Add New Webhook to Workspace، واختر القناة، ثم انقر على Allow.
  5. انسخ Webhook URL الذي يبدأ بـ https://hooks.slack.com/services/.
شاشة أذونات Slack تتضمن محدد قناة وزر Allow
4

Paste the Webhook URL

الصق عنوان Slack webhook URL في Endpoint URL. لا يحتاج Slack إلى API key.
5

Select Events

تعرض Subscribed events الأحداث التي يدعمها موصل Slack. إذا غيّرت transformation، احتفظ فقط بالأحداث التي يعالجها. يرفض Slack الطلب الذي لا يمثل رسالة Slack، ولذلك يفشل تسليم الحدث الذي تتركه transformation من دون تغيير.
6

Customize Transformation Code

ضمن Transformation code، عدّل handler لاختيار الأحداث التي تنشر رسالة وتحديد شكل كل رسالة. احتفظ بكود الموصل، أو ابدأ من الأمثلة.
محرر Transformation code يتضمن Slack handler لأحداث payments
7

Test and Create

ضمن Test this code، اختر نوع حدث وانقر على Simulate. يعرض Result الرسالة التي سيتلقاها Slack. ثم انقر على Create endpoint.
لوحة Test this code مع اختيار payment.succeeded وزر Simulate وزر Create endpoint
8

Integration Complete!

يرسل Dodo Payments الآن كل حدث مشترك إلى قناة Slack الخاصة بك. لإرسال رسالة اختبار، افتح علامة التبويب Testing الخاصة بـ endpoint، واختر نوع حدث، ثم انقر على Send example.

أمثلة على رمز التحويل

يستبدل كل معالج webhook.payload برسالة Slack ويحافظ على webhook.url، وهو عنوان URL الخاص بـ incoming webhook. تكون مبالغ Dodo Payments بوحدة العملة الأصغر، لذلك تقسم الأمثلة المبلغ على 100 وتعرض رمز العملة. بالنسبة إلى العملات التي لا تستخدم كسورًا عشرية، مثل JPY وKRW، استخدم المبلغ كما هو.

إشعارات الدفع الأساسية

أرسل رسالة نصية عادية عند نجاح الدفع أو فشله أو أثناء معالجته:
payment_notifs.js

إشعارات الاشتراكات المنسقة

أرسل رسالة مميّزة بالألوان مع حقول مرفقة عند تنشيط اشتراك أو إلغائه أو تجديده:
subscription_notifs.js

إشعارات إدارة النزاعات

أرسل رسالة باللون الأحمر عند فتح نزاع أو خسارته، ورسالة باللون الأخضر عند الفوز به:
dispute_notifs.js

معالج شامل لجميع الأحداث

أرسل رسالة بالتنسيق نفسه لكل نوع من الأحداث. تحصل الأحداث التي لا يتوفر لها case خاص بها على رسالة عامة تتضمن نوع الحدث ووقته:
all_events_notifs.js

أفضل الممارسات

اتبع هذه الممارسات للحفاظ على فائدة إشعارات Slack:
  • استخدم مرفقات الرسائل مع الألوان والحقول، حتى يكون كل حدث واضحًا ويسهل اتخاذ إجراء بشأنه.
  • أدرج البيانات الأساسية، مثل المبلغ والبريد الإلكتروني للعميل والمعرّفات، حتى يتمكن فريقك من العثور على السجل بسرعة.
  • طابق اللون مع نوع الحدث: الأخضر (good) للنجاح، والأحمر (danger) للنزاعات أو حالات الفشل، والأصفر (warning) للإلغاءات، والأزرق (#3aa3e3) للأحداث الإعلامية.
  • أضف طابعًا زمنيًا (ts)، حتى تعرض كل رسالة وقت وقوع الحدث.
التعامل مع البيانات الحساسة: لا تنشر قيمًا حساسة، مثل مفاتيح الترخيص الكاملة أو البيانات الشخصية، في Slack. اقتطعها أو أخفِ أجزاء منها، كما يفعل حقل مفتاح الترخيص في مثال جميع الأحداث.

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

  • تحقق من صحة عنوان URL الخاص بـ Slack webhook ومن أن تطبيق Slack المرتبط به لا يزال مثبتًا.
  • تحقق من أن رمز التحويل هو JavaScript صالح.
  • تحقق من وقوع الأحداث التي اشتركت فيها. لإرسال أحدها، استخدم Send example ضمن علامة التبويب Testing الخاصة بنقطة النهاية.
  • تحقق من تفعيل Incoming Webhooks في تطبيق Slack ومن قدرته على النشر في القناة.
  • افتح علامة التبويب Logs ضمن Developer → Webhooks وتحقق من استجابة عملية التسليم الفاشلة.
  • تحقق من تطابق حقول الحمولة التي يقرأها رمزك مع حمولة الحدث الخاصة بنوع الحدث ذلك.
  • اختبر رمزك باستخدام Simulate وحمولة نموذجية.
  • تحقق من وجود كل حقل يقرأه رمزك. يمكن أن تكون الحقول الاختيارية، مثل error_message، null.
  • تحقق من تحديد الحدث ضمن Subscribed events. لتغيير التحديد، افتح نقطة النهاية وانقر على Edit.
  • تحقق من أن موصل Slack يدعم الحدث. تعرض Subscribed events الأحداث التي يدعمها الموصل فقط.
  • تحقق من أن التحويل يحتوي على case للحدث. تترك الأمثلة الأحداث الأخرى دون تغيير، ويرفضها Slack.
آخر تعديل في ٢٦ سبتمبر ٢٠٢٦