المقدمة
يُرسل تكامل 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.

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

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

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 لاختيار الأحداث التي تنشر رسالة وتحديد شكل كل رسالة. احتفظ بكود الموصل، أو ابدأ من الأمثلة.

7
Test and Create
ضمن Test this code، اختر نوع حدث وانقر على Simulate. يعرض Result الرسالة التي سيتلقاها Slack. ثم انقر على 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)، حتى تعرض كل رسالة وقت وقوع الحدث.
استكشاف الأخطاء وإصلاحها
Notifications Not Appearing in Slack
Notifications Not Appearing in Slack
- تحقق من صحة عنوان URL الخاص بـ Slack webhook ومن أن تطبيق Slack المرتبط به لا يزال مثبتًا.
- تحقق من أن رمز التحويل هو JavaScript صالح.
- تحقق من وقوع الأحداث التي اشتركت فيها. لإرسال أحدها، استخدم Send example ضمن علامة التبويب Testing الخاصة بنقطة النهاية.
- تحقق من تفعيل Incoming Webhooks في تطبيق Slack ومن قدرته على النشر في القناة.
Transformation Errors
Transformation Errors
- افتح علامة التبويب Logs ضمن Developer → Webhooks وتحقق من استجابة عملية التسليم الفاشلة.
- تحقق من تطابق حقول الحمولة التي يقرأها رمزك مع حمولة الحدث الخاصة بنوع الحدث ذلك.
- اختبر رمزك باستخدام Simulate وحمولة نموذجية.
- تحقق من وجود كل حقل يقرأه رمزك. يمكن أن تكون الحقول الاختيارية، مثل
error_message،null.
Missing Event Types
Missing Event Types
- تحقق من تحديد الحدث ضمن Subscribed events. لتغيير التحديد، افتح نقطة النهاية وانقر على Edit.
- تحقق من أن موصل Slack يدعم الحدث. تعرض Subscribed events الأحداث التي يدعمها الموصل فقط.
- تحقق من أن التحويل يحتوي على
caseللحدث. تترك الأمثلة الأحداث الأخرى دون تغيير، ويرفضها Slack.