Stripe
Payment processing platform. Create checkout sessions, manage subscriptions, accept payments with cards, iDEAL, Bancontact, and 40+ payment methods.
setup_integration or the Dashboard Vault — they're encrypted
with AES-256-GCM and never exposed.
Required Credentials
Get your API key at stripe.com →
Endpoints (10)
Create a Stripe Checkout Session. Returns a hosted checkout URL to redirect the customer to for payment.
| Field | Type | Required | Description |
|---|---|---|---|
line_items |
array | ✓ Yes | Array of items the customer is purchasing. Each item needs price_data (with currency, product_data.name, unit_amount in cents) and quantity. Example: [{"price_data": {"currency": "eur", "product_data": {"name": "T-shirt"}, "unit_amount": 2000}, "quantity": 1}] |
mode |
string | ✓ Yes | Checkout mode: "payment" for one-time, "subscription" for recurring |
success_url |
url | ✓ Yes | URL to redirect the customer to after successful payment |
cancel_url |
url | No | URL to redirect the customer to if they cancel checkout |
customer_email |
string | No | Pre-fill the customer email on the checkout page |
metadata |
array | No | Custom key-value metadata to attach to the session |
currency |
string | No | Three-letter ISO currency code (e.g. "eur", "usd"). Can also be set per line item. |
Retrieve details and payment status of a specific Checkout Session.
| Field | Type | Required | Description |
|---|---|---|---|
session_id |
string | ✓ Yes | Stripe Checkout Session ID (e.g. "cs_test_a1b2c3...") |
List all Checkout Sessions, newest first. Supports pagination.
| Field | Type | Required | Description |
|---|---|---|---|
limit |
integer | No | Number of sessions to return (1-100, default 10) |
starting_after |
string | No | Pagination cursor: Session ID to start after |
status |
string | No | Filter by status: "open", "complete", or "expired" |
Create a new Stripe customer. A customer is required before creating subscriptions. Returns the customer object with its ID.
| Field | Type | Required | Description |
|---|---|---|---|
email |
string | ✓ Yes | Customer email address |
name |
string | No | Customer full name |
phone |
string | No | Customer phone number |
description |
string | No | Internal description or notes about the customer |
metadata |
array | No | Custom key-value metadata to attach to the customer |
Retrieve details of a specific Stripe customer by their ID.
| Field | Type | Required | Description |
|---|---|---|---|
customer_id |
string | ✓ Yes | Stripe Customer ID (starts with "cus_") |
Create a new subscription for an existing customer. Requires a customer ID and at least one price. Products and prices can be created in the Stripe Dashboard.
| Field | Type | Required | Description |
|---|---|---|---|
customer |
string | ✓ Yes | Stripe Customer ID (starts with "cus_"). Create one first with create-customer. |
items |
array | ✓ Yes | Array of subscription items. Each item needs a price ID. Example: [{"price": "price_1abc..."}] |
payment_behavior |
string | No | How to handle payment: "default_incomplete" (recommended for SCA), "error_if_incomplete", "allow_incomplete", "pending_if_incomplete" |
trial_period_days |
integer | No | Number of free trial days before billing starts (1-730) |
cancel_at_period_end |
string | No | If "true", subscription will cancel at end of current period instead of immediately |
metadata |
array | No | Custom key-value metadata to attach to the subscription |
Retrieve details and current status of a specific subscription.
| Field | Type | Required | Description |
|---|---|---|---|
subscription_id |
string | ✓ Yes | Stripe Subscription ID (starts with "sub_") |
List subscriptions. Can be filtered by customer and/or status. Returns newest first.
| Field | Type | Required | Description |
|---|---|---|---|
customer |
string | No | Filter by Stripe Customer ID (starts with "cus_") |
status |
string | No | Filter by status: "active", "past_due", "unpaid", "canceled", "incomplete", "trialing", or "all" |
limit |
integer | No | Number of subscriptions to return (1-100, default 10) |
starting_after |
string | No | Pagination cursor: Subscription ID to start after |
Cancel a subscription immediately. The customer will not be charged again. To cancel at the end of the billing period instead, update the subscription with cancel_at_period_end.
| Field | Type | Required | Description |
|---|---|---|---|
subscription_id |
string | ✓ Yes | Stripe Subscription ID to cancel (starts with "sub_") |
Create a Billing Portal session. Returns a URL where the customer can manage their subscription, update payment methods, and view invoices. Requires a Billing Portal configuration in your Stripe Dashboard.
| Field | Type | Required | Description |
|---|---|---|---|
customer |
string | ✓ Yes | Stripe Customer ID (starts with "cus_") |
return_url |
url | ✓ Yes | URL to redirect the customer to after they leave the Billing Portal |
MCP Tool Names
When using this integration through an AI assistant (Claude, ChatGPT, Cursor, etc.), the endpoints are available as MCP tools:
| Endpoint | MCP Tool Name |
|---|---|
| create-checkout-session | stripe_create_checkout_session |
| get-checkout-session | stripe_get_checkout_session |
| list-checkout-sessions | stripe_list_checkout_sessions |
| create-customer | stripe_create_customer |
| get-customer | stripe_get_customer |
| create-subscription | stripe_create_subscription |
| get-subscription | stripe_get_subscription |
| list-subscriptions | stripe_list_subscriptions |
| cancel-subscription | stripe_cancel_subscription |
| create-billing-portal-session | stripe_create_billing_portal_session |