Introduzione
Tieni il tuo team aziendale aggiornato con notifiche di pagamento in tempo reale in Microsoft Teams. L’integrazione fornisce eventi di pagamento come schede Adaptive ricche, perfette per ambienti aziendali in cui Teams è lo strumento principale di collaborazione.
Questa guida presuppone che tu abbia accesso amministrativo per creare webhook nel tuo workspace Microsoft Teams.
Iniziare
Open the Webhook Section
Nel tuo cruscotto Dodo Payments, vai su Webhooks → + Aggiungi endpoint e espandi il menu a discesa delle integrazioni.
Select Microsoft Teams
Seleziona la scheda di integrazione Microsoft Teams .
Create Teams Webhook
In Teams, vai al tuo canale → ⋯ → Connettori → Webhook in arrivo → Configura. Copia l’URL del webhook.
Paste Webhook URL
Incolla l’URL del webhook di Teams nella configurazione dell’endpoint.
Customize Transformation
Modifica il codice di trasformazione per formattare i messaggi come Adaptive Card per Teams.
Test & Create
Esegui test con payload di esempio e clicca su Crea per attivare.
Done!
🎉 Il tuo canale Teams riceverà ora aggiornamenti di Dodo Payments come Adaptive Card.
Scheda di Pagamento di Base
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
Gestione degli Abbonamenti
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
Avvisi di Controversia
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
Suggerimenti
Usa schede Adaptive per una formattazione ricca e interattiva
Scegli colori appropriati: Buono (verde), Avviso (giallo), Attenzione (rosso)
Mantieni i set di fatti concisi e leggibili
Testa con il tester del webhook di Teams prima di distribuire
Risoluzione dei Problemi
Verifica che l’URL del webhook sia corretto e attivo
Controlla che la trasformazione restituisca JSON valido per Adaptive Card
Assicurati che il webhook abbia l’autorizzazione per inviare messaggi nel canale