2026-01-26 18:33:51 -08:00
|
|
|
# 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_xxx` or `sk_test_xxx`
|
|
|
|
|
- **Keys**: Secret key (server), Publishable key (client)
|
|
|
|
|
|
|
|
|
|
## Common Agent Operations
|
|
|
|
|
|
|
|
|
|
### List customers
|
|
|
|
|
|
|
|
|
|
```bash
|
|
|
|
|
GET https://api.stripe.com/v1/customers?limit=10
|
|
|
|
|
```
|
|
|
|
|
|
|
|
|
|
### Get customer by email
|
|
|
|
|
|
|
|
|
|
```bash
|
|
|
|
|
GET https://api.stripe.com/v1/customers?email=user@example.com
|
|
|
|
|
```
|
|
|
|
|
|
|
|
|
|
### Get 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/cancel
|
|
|
|
|
```
|
|
|
|
|
|
|
|
|
|
### Create customer portal session
|
|
|
|
|
|
|
|
|
|
```bash
|
|
|
|
|
POST https://api.stripe.com/v1/billing_portal/sessions
|
|
|
|
|
|
|
|
|
|
customer={customer_id}
|
|
|
|
|
&return_url=https://example.com/account
|
|
|
|
|
```
|
|
|
|
|
|
|
|
|
|
### List recent invoices
|
|
|
|
|
|
|
|
|
|
```bash
|
|
|
|
|
GET https://api.stripe.com/v1/invoices?customer={customer_id}&limit=10
|
|
|
|
|
```
|
|
|
|
|
|
|
|
|
|
### Get 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_xxx
|
|
|
|
|
```
|
|
|
|
|
|
|
|
|
|
## Key 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
|
|
|
|
|
|
2026-05-13 22:05:15 -07:00
|
|
|
- pricing
|
|
|
|
|
- referrals (Stripe-integrated affiliate tools)
|
|
|
|
|
- analytics (revenue tracking)
|