Stripe + Brevo 연동
Stripe + Brevo
Stripe의 결제 데이터를 Brevo의 인게이지먼트 레이어에 연결합니다. 구독 생성, 결제 실패, 환불 처리 등 모든 결제 이벤트가 타깃 메시징의 트리거가 됩니다.
사용하는 MCP 서버
| 서버 | 패키지 | 인증 | 용도 |
|---|---|---|---|
| Stripe MCP | @stripe/mcp | API 키 | 결제, 구독, 고객, 인보이스, 상품, 지식 베이스 |
| Brevo MCP | mcp.brevo.com/v1/brevo/mcp | 토큰 | 연락처, 이메일, SMS, WhatsApp, 캠페인, 이벤트 추적 |
설정
1단계: 두 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" } } }}2단계: 확인하기
> Show me my Stripe subscriptions created this week> List my Brevo email templates활용 사례 1: 결제 이벤트 캠페인 에이전트
Stripe 이벤트를 Brevo 인게이지먼트에 매핑합니다.
---name: stripe-payment-campaignsdescription: Trigger Brevo campaigns from Stripe payment eventsversion: 1.0.0temperature: 0.2tools: - stripe - brevo_contacts - brevo_email_campaign_management - brevo_templates - brevo_sms_campaignstriggers: - 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 appropriateBrevo 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" CTA2. **+24 hours**: SMS with direct link to billing portal3. **+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활용 사례 2: 구독 라이프사이클 에이전트
구독 여정 전체를 관리합니다.
---name: stripe-subscription-lifecycledescription: Manage subscription engagement from signup through renewalversion: 1.0.0temperature: 0.3tools: - stripe - brevo_contacts - brevo_email_campaign_management - brevo_segments - brevo_templatestriggers: - 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예시: 실시간 오케스트레이션
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다음 단계
- Shopify + Brevo, 이커머스 연동
- HubSpot + Brevo, CRM 연동
- Custom API + Brevo, 직접 커넥터 만들기