Skip to main content

المقدمة

ينشر تكامل Discord أحداث Dodo Payments المتعلقة بالمدفوعات والاشتراكات والنزاعات وغيرها في قناة Discord تختارها. يرى فريقك كل حدث في المكان الذي يتعاون فيه بالفعل، من دون الاستعلام المتكرر من API أو التحقق من لوحة المعلومات.
تحتاج إلى الوصول إلى Developer → Webhooks في لوحة معلومات Dodo Payments، وإلى إذن Manage Webhooks في خادم Discord.

البدء

1

Create a Discord Webhook

في Discord، افتح القناة التي ينبغي أن تتلقى الإشعارات وانقر على Edit Channel. انتقل إلى Integrations → Webhooks → New Webhook، وسمِّ webhook، وأكّد القناة، ثم انقر على Copy Webhook URL.
2

Open the Webhook Section

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

Select Discord

ضمن Integration، اختر Discord. تكرّر لوحة How to connect Discord خطوات إنشاء Discord webhook.
4

Paste the Webhook URL

الصق عنوان URL الخاص بـ Discord webhook، الذي يبدأ بـ https://discord.com/api/webhooks/، في Endpoint URL. لا يحتاج Discord إلى API key.
5

Select Events

ضمن Subscribed events، اختر الأحداث التي يتعامل معها التحويل. يرفض Discord رسالة لا تحتوي على content أو embeds، لذلك يفشل تسليم أي حدث لا يحوّله التحويل.
6

Edit Transformation Code

ضمن Transformation code، خصّص طريقة تعيين كل حدث إلى embed في Discord، أو ابدأ من الأمثلة.
7

Test & Create

ضمن Test this code، انقر على Simulate لمعاينة embed لحمولة نموذجية. ثم انقر على Create endpoint.
8

Done

ستتلقى قناة Discord لديك الآن رسالة لكل حدث مشترك فيه.

أمثلة على Transformation Code

يستبدل كل handler القيمة webhook.payload برسالة Discord تحتوي على embed واحد. تكون مبالغ Dodo Payments بوحدة العملة الأصغر، لذلك تقسم الأمثلة المبلغ على 100 وتعرض رمز العملة.

Minimal Payment Embed

انشر embed عند نجاح دفعة (payment.succeeded):
payment_embed.js

أحداث الاشتراك

انشر embed عند تفعيل اشتراك (subscription.active) أو إلغائه (subscription.cancelled):
subscription_embed.js

تنبيهات النزاعات

انشر embed لكل حدث من أحداث النزاع، مثل dispute.opened وdispute.won وdispute.lost. يتبع العنوان واللون قيمة dispute_status الخاصة بالنزاع:
dispute_embed.js

نصائح

  • استخدم التضمينات للتنسيق المتقدم والألوان.
  • اجعل العناوين قصيرة، وضع التفاصيل في الحقول.
  • استخدم ألوانًا تشير إلى النتيجة: الأخضر للنجاح، والأحمر للفشل، والبرتقالي للتحذيرات.

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

  • تأكد من أن webhook لا يزال موجودًا ضمن Integrations → Webhooks للقناة، وأن Endpoint URL يطابق عنوان URL الخاص به.
  • تحقق من أن التحويل يُرجع كائن JSON مع embeds.
  • تحقق من أن Subscribed events تتضمن الأحداث التي تتوقعها.
  • افتح محاولات تسليم نقطة النهاية ضمن علامة التبويب Logs في Developer → Webhooks للاطلاع على رمز استجابة Discord.
  • تحقّق من صحة التعليمات البرمجية في المحرر. تمنع أخطاء بناء الجملة التسليم.
  • تحقق من تطابق أسماء الحقول مع بنية حمولة webhook.
آخر تعديل في ٢٦ سبتمبر ٢٠٢٦