परिचय
अपने व्यवसाय की टीम को Microsoft Teams में वास्तविक समय के भुगतान सूचनाओं के साथ अपडेट रखें। यह एकीकरण भुगतान घटनाओं को समृद्ध Adaptive Cards के रूप में प्रदान करता है—उद्यम वातावरण के लिए आदर्श जहाँ Teams प्राथमिक सहयोग उपकरण है।
यह गाइड मानता है कि आपके पास अपने Microsoft Teams कार्यक्षेत्र में वेबहुक बनाने के लिए प्रशासनिक पहुंच है।
प्रारंभ करना
Webhook अनुभाग खोलें
अपने Dodo Payments डैशबोर्ड में, Webhooks → + Add Endpoint पर जाएँ और एकीकरण ड्रॉपडाउन का विस्तार करें।
Microsoft Teams चुनें
Microsoft Teams एकीकरण कार्ड चुनें।
Teams Webhook बनाएं
Teams में, अपने चैनल पर जाएँ → ⋯ → Connectors → Incoming Webhook → Configure। वेबहुक URL कॉपी करें।
Webhook URL चिपकाएँ
Teams वेबहुक URL को एंडपॉइंट कॉन्फ़िगरेशन में चिपकाएँ।
रूपांतरण अनुकूलित करें
Teams के लिए संदेशों को Adaptive Cards के रूप में स्वरूपित करने के लिए रूपांतरण कोड संपादित करें।
परीक्षण और बनाएं
नमूना पेलोड के साथ परीक्षण करें और सक्रिय करने के लिए Create पर क्लिक करें।
हो गया!
🎉 आपका Teams चैनल अब Dodo Payments अपडेट को Adaptive Cards के रूप में प्राप्त करेगा।
रूपांतरण कोड उदाहरण
बुनियादी भुगतान कार्ड
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
सुझाव
समृद्ध, इंटरैक्टिव स्वरूपण के लिए Adaptive Cards का उपयोग करें
उपयुक्त रंग चुनें: अच्छा (हरा), चेतावनी (पीला), ध्यान (लाल)
तथ्य सेट को संक्षिप्त और पठनीय रखें
तैनात करने से पहले Teams वेबहुक परीक्षक के साथ परीक्षण करें
समस्या निवारण
सुनिश्चित करें कि वेबहुक URL सही और सक्रिय है
जांचें कि रूपांतरण मान्य Adaptive Card JSON लौटाता है
सुनिश्चित करें कि वेबहुक को चैनल में पोस्ट करने की अनुमति है
Teams वेबहुक परीक्षक में Adaptive Card स्कीमा मान्य करें
सुनिश्चित करें कि सभी आवश्यक फ़ील्ड मौजूद हैं
सुनिश्चित करें कि रंग मान मान्य हैं (अच्छा, चेतावनी, ध्यान, डिफ़ॉल्ट)