> ## Documentation Index
> Fetch the complete documentation index at: https://docs.dodopayments.com/llms.txt
> Use this file to discover all available pages before exploring further.

# Microsoft Teams

> Microsoft Teams चैनलों पर समृद्ध Adaptive Cards के साथ Dodo Payments सूचनाएँ भेजें।

## परिचय

अपने व्यवसाय की टीम को Microsoft Teams में वास्तविक समय के भुगतान सूचनाओं के साथ अपडेट रखें। यह एकीकरण भुगतान घटनाओं को समृद्ध Adaptive Cards के रूप में प्रदान करता है—उद्यम वातावरण के लिए आदर्श जहाँ Teams प्राथमिक सहयोग उपकरण है।

<Info>
  यह मार्गदर्शिका मानती है कि आपके पास अपने Microsoft Teams वर्कस्पेस में वेबहुक बनाने के लिए एडमिन एक्सेस है।
</Info>

## प्रारंभ करना

<Steps>
  <Step title="Open the Webhook Section">
    अपने Dodo Payments डैशबोर्ड में, <b>Webhooks → + Add Endpoint</b> पर जाएं और इंटीग्रेशन ड्रॉपडाउन को विस्तार से देखें।

    <Frame>
      <img src="https://mintcdn.com/dodopayments/slbAEdrLLwKHfaRf/images/integrations/teams.png?fit=max&auto=format&n=slbAEdrLLwKHfaRf&q=85&s=240820e1a3d3162b2faee6fa052535c6" alt="Add Endpoint and integrations dropdown" style={{ maxHeight: '500px', width: 'auto' }} width="1694" height="936" data-path="images/integrations/teams.png" />
    </Frame>
  </Step>

  <Step title="Select Microsoft Teams">
    <b>Microsoft Teams</b> एकीकरण कार्ड चुनें।
  </Step>

  <Step title="Create Teams Webhook">
    Teams में, अपने चैनल पर जाएँ → ⋯ → Connectors → Incoming Webhook → Configure. वेबहुक URL कॉपी करें।
  </Step>

  <Step title="Paste Webhook URL">
    Teams वेबहुक URL को एंडपॉइंट कॉन्फ़िगरेशन में चिपकाएँ।
  </Step>

  <Step title="Customize Transformation">
    संदेशों को Teams के लिए Adaptive Cards के रूप में स्वरूपित करने के लिए ट्रांसफ़ॉर्मेशन कोड संपादित करें।
  </Step>

  <Step title="Test & Create">
    नमूना पेलोड के साथ परीक्षण करें और सक्रिय करने के लिए <b>Create</b> पर क्लिक करें।
  </Step>

  <Step title="Done!">
    🎉 अब आपका Teams चैनल Dodo Payments अपडेट Adaptive Cards के रूप में प्राप्त करेगा।
  </Step>
</Steps>

## रूपांतरण कोड उदाहरण

### बुनियादी भुगतान कार्ड

```javascript payment_card.js icon="js" expandable theme={null}
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;
}
```

### सदस्यता प्रबंधन

```javascript subscription_card.js icon="js" expandable theme={null}
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;
}
```

### विवाद अलर्ट

```javascript dispute_card.js icon="js" expandable theme={null}
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;
}
```

## सुझाव

* समृद्ध, इंटरैक्टिव स्वरूपण के लिए Adaptive Cards का उपयोग करें
* उपयुक्त रंग चुनें: अच्छा (हरा), चेतावनी (पीला), ध्यान (लाल)
* तथ्य सेट को संक्षिप्त और पठनीय रखें
* तैनात करने से पहले Teams वेबहुक परीक्षक के साथ परीक्षण करें

## समस्या निवारण

<AccordionGroup>
  <Accordion title="No messages in Teams">
    * सुनिश्चित करें कि वेबहुक URL सही और सक्रिय है
    * जांचें कि ट्रांसफ़ॉर्मेशन वैध Adaptive Card JSON लौटाता है
    * सुनिश्चित करें कि वेबहुक को चैनल में पोस्ट करने की अनुमति है
  </Accordion>

  <Accordion title="Card formatting issues">
    * Teams वेबहुक टेस्टर में Adaptive Card स्कीमा मान्य करें
    * जांचें कि सभी आवश्यक फ़ील्ड मौजूद हैं
    * सुनिश्चित करें कि रंग मान वैध हैं (Good, Warning, Attention, Default)
  </Accordion>
</AccordionGroup>
