Intégration Stripe + Brevo

Stripe + Brevo

Connectez les données de paiement de Stripe à la couche d’engagement de Brevo. Chaque événement de paiement, abonnement créé, paiement échoué, remboursement émis, devient un déclencheur pour une messagerie ciblée.

Serveurs MCP utilisés

ServeurPackageAuthObjectif
Stripe MCP@stripe/mcpClé APIPaiements, abonnements, clients, factures, produits, base de connaissances
Brevo MCPmcp.brevo.com/v1/brevo/mcpTokenContacts, email, SMS, WhatsApp, campagnes, suivi des événements

Configuration

Étape 1 : Connecter les deux serveurs MCP

{
"mcpServers": {
"stripe": {
"command": "npx",
"args": ["-y", "@stripe/mcp"],
"env": {
"STRIPE_SECRET_KEY": "sk_live_your-stripe-key"
}
},
"brevo": {
"command": "npx",
"args": [
"mcp-remote",
"https://mcp.brevo.com/v1/brevo/mcp",
"--header",
"Authorization: Bearer ${BREVO_MCP_TOKEN}"
],
"env": {
"BREVO_MCP_TOKEN": "your-brevo-mcp-token"
}
}
}
}

Étape 2 : Vérifier

> Show me my Stripe subscriptions created this week
> List my Brevo email templates

Cas d’usage 1 : Agent de campagne d’événements de paiement

Mappez les événements Stripe à l’engagement Brevo :

---
name: stripe-payment-campaigns
description: Trigger Brevo campaigns from Stripe payment events
version: 1.0.0
temperature: 0.2
tools:
- stripe
- brevo_contacts
- brevo_email_campaign_management
- brevo_templates
- brevo_sms_campaigns
triggers:
- event: payment_intent.succeeded
- event: invoice.payment_failed
- event: customer.subscription.created
- event: customer.subscription.deleted
- event: charge.refunded
---
# Payment Event Campaign Agent
Listen for Stripe payment events and trigger the appropriate
Brevo engagement campaign.
## Event-to-Campaign Mapping
| Stripe Event | Brevo Action | Timing |
|-------------|-------------|--------|
| `payment_intent.succeeded` | Send receipt + thank you email | Immediate |
| `invoice.payment_failed` | Send payment failed email + SMS | Immediate |
| `invoice.payment_failed` (2nd attempt) | Send urgent SMS with update link | +24h |
| `customer.subscription.created` | Welcome sequence (3 emails over 7 days) | Immediate |
| `customer.subscription.updated` | Plan change confirmation email | Immediate |
| `customer.subscription.deleted` | Cancellation survey + win-back sequence | Immediate + 7 days |
| `charge.refunded` | Refund confirmation + feedback request | Immediate |
| `invoice.upcoming` | Renewal reminder with usage summary | 3 days before |
## Failed Payment Recovery
Critical revenue recovery flow:
1. **Attempt 1 fails**: Email with "Update payment method" CTA
2. **+24 hours**: SMS with direct link to billing portal
3. **+72 hours**: Email from founder: "We don't want to lose you"
4. **+7 days (final)**: Last chance email with grace period deadline
## Rules
- ALWAYS sync Stripe customer email to Brevo before sending
- NEVER expose full payment details in emails (last 4 digits only)
- Track events: stripe_payment_email_sent, stripe_recovery_success
- For failed payments, stop sequence immediately if payment succeeds

Cas d’usage 2 : Agent de cycle de vie des abonnements

Gérez l’intégralité du parcours d’abonnement :

---
name: stripe-subscription-lifecycle
description: Manage subscription engagement from signup through renewal
version: 1.0.0
temperature: 0.3
tools:
- stripe
- brevo_contacts
- brevo_email_campaign_management
- brevo_segments
- brevo_templates
triggers:
- schedule: "0 8 * * *"
---
# Subscription Lifecycle Agent
Daily check of subscription states to drive engagement:
## Daily Tasks
1. **New subscriptions (last 24h)**
- Create/update Brevo contact with plan details
- Add to plan-specific segment
- Trigger onboarding sequence
2. **Renewals coming (next 7 days)**
- Send renewal reminder with usage summary
- For annual plans: send "year in review" email
3. **Trials expiring (next 3 days)**
- Send trial-to-paid conversion email
- SMS reminder on last day
4. **Recently churned (last 7 days)**
- Add to win-back segment
- Schedule win-back sequence (day 7, 14, 30)
## Brevo Attributes from Stripe
| Stripe Data | Brevo Attribute |
|------------|-----------------|
| subscription.plan.name | PLAN_NAME |
| subscription.current_period_end | RENEWAL_DATE |
| subscription.status | SUBSCRIPTION_STATUS |
| customer.currency | CURRENCY |
| invoice.amount_paid (sum) | LIFETIME_REVENUE |
| subscription.created | SUBSCRIPTION_START |
## Rules
- ALWAYS use customer's currency when displaying amounts
- Segment by plan tier for differentiated messaging
- Track MRR impact of each campaign for ROI reporting

Exemple : Orchestration en temps réel

You: "I see we had 5 failed payments today. Check which ones are
subscription customers and start the recovery sequence."
Claude: Checking Stripe for failed payments today...
[Uses stripe MCP to list recent failed invoices]
Found 5 failed payments:
- 3 are subscription customers (monthly plans)
- 2 are one-time payments
For the 3 subscription customers:
[Uses brevo_contacts to verify contacts exist]
[Uses brevo_email_campaign_management to send payment failed email]
[Uses brevo_sms_campaigns to queue SMS follow-ups for +24h]
Recovery sequence started for 3 customers:
- [email protected], Pro plan ($49/mo), email sent
- [email protected], Business plan ($99/mo), email sent
- [email protected], Pro plan ($49/mo), email sent
- SMS follow-ups scheduled for tomorrow if not resolved
For the 2 one-time payments:
[Uses brevo_email_campaign_management to send payment retry email]
- Simple retry emails sent

Prochaines étapes

Assistant AI

Bonjour ! Posez-moi vos questions sur la documentation.

Commencez gratuitement avec Brevo