Stripe + Brevo-integrasjon

Stripe + Brevo

Koble Stripes betalingsdata til Brevos engasjementslag. Hver betalingshendelse, abonnement opprettet, betaling mislyktes, refusjon utstedt, blir en utløser for målrettet meldingsutsendelse.

MCP-servere som brukes

ServerPakkeAutentiseringFormål
Stripe MCP@stripe/mcpAPI-nøkkelBetalinger, abonnementer, kunder, fakturaer, produkter, kunnskapsbase
Brevo MCPmcp.brevo.com/v1/brevo/mcpTokenKontakter, e-post, SMS, WhatsApp, kampanjer, hendelsessporing

Oppsett

Trinn 1: Koble til begge MCP-servere

{
"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"
}
}
}
}

Trinn 2: Bekreft

> Vis meg Stripe-abonnementene mine opprettet denne uken
> List opp mine Brevo-e-postmaler

Brukstilfelle 1: Betalingshendelseskampanjeagent

Kartlegg Stripe-hendelser til Brevo-engasjement:

---
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

Brukstilfelle 2: Abonnementslivssyklusagent

Administrer hele abonnementsreisen:

---
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

Eksempel: Sanntidsorkestrering

Du: "Jeg ser at vi hadde 5 mislykkede betalinger i dag. Sjekk hvilke
som er abonnementskunder og start gjenopprettingssekvensen."
Claude: Sjekker Stripe for mislykkede betalinger i dag...
[Bruker stripe MCP for å liste opp nylige mislykkede fakturaer]
Fant 5 mislykkede betalinger:
- 3 er abonnementskunder (månedlige planer)
- 2 er engangbetalinger
For de 3 abonnementskundene:
[Bruker brevo_contacts for å bekrefte at kontakter eksisterer]
[Bruker brevo_email_campaign_management for å sende e-post om mislykket betaling]
[Bruker brevo_sms_campaigns for å sette opp SMS-oppfølginger for +24t]
Gjenopprettingssekvens startet for 3 kunder:
- [email protected], Pro-plan ($49/mnd), e-post sendt
- [email protected], Business-plan ($99/mnd), e-post sendt
- [email protected], Pro-plan ($49/mnd), e-post sendt
- SMS-oppfølginger planlagt til i morgen hvis ikke løst
For de 2 engangbetalingene:
[Bruker brevo_email_campaign_management for å sende e-post om betalingsforsøk]
- Enkle gjenforsøk-e-poster sendt

Neste steg

AI-assistent

Hei! Spør meg om dokumentasjonen.

Start gratis med Brevo