Stripe
Payment processing, subscriptions, and billing for internet businesses.
Capabilities
| Integration | Available | Notes |
|---|---|---|
| API | ✓ | Comprehensive REST API |
| MCP | ✓ | Available via Stripe MCP server |
| CLI | ✓ | stripe CLI for testing and webhooks |
| SDK | ✓ | Official SDKs for most languages |
Authentication
- Type: API Key
- Header:
Authorization: Bearer sk_live_xxxorsk_test_xxx - Keys: Secret key (server), Publishable key (client)
Common Agent Operations
List customers
bash
GET https://api.stripe.com/v1/customers?limit=10Get customer by email
bash
GET https://api.stripe.com/v1/customers?email=user@example.comGet subscription
bash
GET https://api.stripe.com/v1/subscriptions/{subscription_id}List subscriptions for customer
bash
GET https://api.stripe.com/v1/subscriptions?customer={customer_id}Create checkout session
bash
POST https://api.stripe.com/v1/checkout/sessions
customer={customer_id}
&line_items[0][price]={price_id}
&line_items[0][quantity]=1
&mode=subscription
&success_url=https://example.com/success
&cancel_url=https://example.com/cancelCreate customer portal session
bash
POST https://api.stripe.com/v1/billing_portal/sessions
customer={customer_id}
&return_url=https://example.com/accountList recent invoices
bash
GET https://api.stripe.com/v1/invoices?customer={customer_id}&limit=10Get payment intent
bash
GET https://api.stripe.com/v1/payment_intents/{payment_intent_id}Webhook Events
Key events to handle:
| Event | When | Action |
|---|---|---|
checkout.session.completed | Successful checkout | Provision access |
customer.subscription.created | New subscription | Update user record |
customer.subscription.updated | Plan change | Update entitlements |
customer.subscription.deleted | Cancellation | Revoke access |
invoice.payment_failed | Payment failed | Notify user, retry |
invoice.paid | Invoice paid | Confirm payment |
Verify webhook signature
javascript
const event = stripe.webhooks.constructEvent(
payload,
sig,
webhookSecret
);CLI Commands
bash
# Listen to webhooks locally
stripe listen --forward-to localhost:3000/webhooks
# Trigger test events
stripe trigger checkout.session.completed
# List recent events
stripe events list --limit 10
# Get resource
stripe customers retrieve cus_xxxKey Objects
- Customer - User billing profile
- Subscription - Recurring billing
- Price - Pricing configuration
- Product - What you sell
- Invoice - Billing document
- PaymentIntent - One-time payment
- Checkout Session - Hosted payment page
When to Use
- Processing payments
- Managing subscriptions
- Creating checkout flows
- Handling billing portal
- Querying customer data
- Revenue analytics
Rate Limits
- 100 read requests per second
- 100 write requests per second
- Higher limits available on request
Relevant Skills
- pricing-strategy
- referral-program (Stripe-integrated affiliate tools)
- analytics-tracking (revenue tracking)