Giới thiệu
Giữ cho nhóm kinh doanh của bạn luôn được cập nhật với thông báo thanh toán theo thời gian thực trong Microsoft Teams. Tích hợp này cung cấp các sự kiện thanh toán dưới dạng các Adaptive Cards phong phú—hoàn hảo cho các môi trường doanh nghiệp nơi Teams là công cụ hợp tác chính.
Hướng dẫn này giả định bạn có quyền admin để tạo webhook trong không gian làm việc Microsoft Teams của mình.
Bắt đầu
Open the Webhook Section
Trong bảng điều khiển Dodo Payments của bạn, điều hướng tới Webhooks → + Add Endpoint và mở rộng menu thả xuống tích hợp.
Select Microsoft Teams
Chọn thẻ tích hợp Microsoft Teams .
Create Teams Webhook
Trong Teams, vào kênh của bạn → ⋯ → Connectors → Incoming Webhook → Configure. Sao chép URL webhook.
Paste Webhook URL
Dán URL webhook Teams vào cấu hình điểm cuối.
Customize Transformation
Chỉnh sửa mã chuyển đổi để định dạng tin nhắn dưới dạng Adaptive Cards cho Teams.
Test & Create
Thử với payload mẫu và nhấp Create để kích hoạt.
Done!
🎉 Kênh Teams của bạn bây giờ sẽ nhận được các cập nhật từ Dodo Payments dưới dạng Adaptive Cards.
Ví dụ Mã Chuyển đổi
Thẻ Thanh toán Cơ bản
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
Quản lý Đăng ký
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
Cảnh báo Tranh chấp
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
Mẹo
Sử dụng Adaptive Cards để định dạng phong phú, tương tác
Chọn màu sắc phù hợp: Tốt (xanh lá), Cảnh báo (vàng), Chú ý (đỏ)
Giữ cho các tập hợp thông tin ngắn gọn và dễ đọc
Kiểm tra với trình kiểm tra webhook Teams trước khi triển khai
Khắc phục sự cố
Xác minh URL webhook là chính xác và đang hoạt động
Kiểm tra xem phép chuyển đổi có trả về JSON Adaptive Card hợp lệ không
Đảm bảo webhook có quyền đăng bài trong kênh