المقدمة
ابقِ فريق عملك على اطلاع دائم بإشعارات المدفوعات في الوقت الفعلي على مايكروسوفت تيمز. توفر هذه التكاملات أحداث المدفوعات كبطاقات تفاعلية غنية - مثالية للبيئات المؤسسية حيث يُعتبر تيمز أداة التعاون الأساسية.
يفترض هذا الدليل أن لديك صلاحية المسؤول لإنشاء ويب هوكس في مساحة عمل Microsoft Teams الخاصة بك.
البدء
Open the Webhook Section
في لوحة Dodo Payments الخاصة بك، انتقل إلى Webhooks → + Add Endpoint وقم بتوسيع قائمة التكاملات المنسدلة.
Select Microsoft Teams
اختر بطاقة التكامل Microsoft Teams .
Create Teams Webhook
في Teams، انتقل إلى قناتك → ⋯ → Connectors → Incoming Webhook → Configure. انسخ عنوان URL للويب هوك.
Paste Webhook URL
الصق عنوان الويب هوك الخاص بـ Teams في تكوين النقطة النهائية.
Customize Transformation
حرّر كود التحويل لتنسيق الرسائل كبطاقات Adaptive لـ Teams.
Test & Create
اختبر باستخدام بيانات تجريبية ثم انقر على Create للتنشيط.
Done!
🎉 ستتلقى قناة Teams الآن تحديثات Dodo Payments كبطاقات Adaptive.
أمثلة على كود التحويل
بطاقة الدفع الأساسية
function handler ( webhook ) {
if ( webhook . eventType === "payment.succeeded" ) {
const p = webhook . payload . data ;
webhook . payload = {
type: "message" ,
attachments: [{
contentType: "application/vnd.microsoft.card.adaptive" ,
content: {
type: "AdaptiveCard" ,
body: [
{
type: "TextBlock" ,
text: "✅ Payment Successful" ,
weight: "Bolder" ,
size: "Medium"
},
{
type: "FactSet" ,
facts: [
{ title: "Amount" , value: `$ ${ ( p . total_amount / 100 ). toFixed ( 2 ) } ` },
{ title: "Customer" , value: p . customer . email },
{ title: "Payment ID" , value: p . payment_id }
]
}
]
}
}]
};
}
return webhook ;
}
See all 31 lines
إدارة الاشتراكات
function handler ( webhook ) {
const s = webhook . payload . data ;
switch ( webhook . eventType ) {
case "subscription.active" :
webhook . payload = {
type: "message" ,
attachments: [{
contentType: "application/vnd.microsoft.card.adaptive" ,
content: {
type: "AdaptiveCard" ,
body: [
{
type: "TextBlock" ,
text: "📄 Subscription Activated" ,
weight: "Bolder" ,
color: "Good"
},
{
type: "FactSet" ,
facts: [
{ title: "Customer" , value: s . customer . email },
{ title: "Product" , value: s . product_id },
{ title: "Amount" , value: `$ ${ ( s . recurring_pre_tax_amount / 100 ). toFixed ( 2 ) } / ${ s . payment_frequency_interval } ` },
{ title: "Next Billing" , value: new Date ( s . next_billing_date ). toLocaleDateString () }
]
}
]
}
}]
};
break ;
case "subscription.cancelled" :
webhook . payload = {
type: "message" ,
attachments: [{
contentType: "application/vnd.microsoft.card.adaptive" ,
content: {
type: "AdaptiveCard" ,
body: [
{
type: "TextBlock" ,
text: "⚠️ Subscription Cancelled" ,
weight: "Bolder" ,
color: "Warning"
},
{
type: "FactSet" ,
facts: [
{ title: "Customer" , value: s . customer . email },
{ title: "Product" , value: s . product_id },
{ title: "Cancelled At" , value: new Date ( s . cancelled_at ). toLocaleDateString () }
]
}
]
}
}]
};
break ;
}
return webhook ;
}
See all 61 lines
تنبيهات النزاع
function handler ( webhook ) {
if ( webhook . eventType . startsWith ( "dispute." )) {
const d = webhook . payload . data ;
const color = d . dispute_status === "won" ? "Good" : d . dispute_status === "lost" ? "Attention" : "Warning" ;
const title = d . dispute_status === "won" ? "🏆 Dispute Won" : d . dispute_status === "lost" ? "❌ Dispute Lost" : "🚨 Dispute Update" ;
webhook . payload = {
type: "message" ,
attachments: [{
contentType: "application/vnd.microsoft.card.adaptive" ,
content: {
type: "AdaptiveCard" ,
body: [
{
type: "TextBlock" ,
text: title ,
weight: "Bolder" ,
color: color
},
{
type: "FactSet" ,
facts: [
{ title: "Payment ID" , value: d . payment_id },
{ title: "Amount" , value: `$ ${ ( d . amount / 100 ). toFixed ( 2 ) } ` },
{ title: "Status" , value: d . dispute_status },
{ title: "Stage" , value: d . dispute_stage }
]
}
]
}
}]
};
}
return webhook ;
}
See all 35 lines
نصائح
استخدم بطاقات تفاعلية لتنسيق غني وتفاعلي
اختر الألوان المناسبة: جيد (أخضر)، تحذير (أصفر)، انتباه (أحمر)
اجعل مجموعات الحقائق مختصرة وقابلة للقراءة
اختبر باستخدام أداة اختبار ويب هوك تيمز قبل النشر
استكشاف الأخطاء وإصلاحها
تأكد من أن عنوان الويب هوك صحيح ونشط
تحقق من أن التحويل يُرجع JSON صالح لبطاقات Adaptive
تأكد من أن للويب هوك إذن بالنشر في القناة