stripe-automation
Automate Stripe tasks via Rube MCP (Composio): customers, charges, subscriptions, invoices, products, refunds. Always search tools first for current schemas.
Install
npx skills add https://github.com/davepoon/buildwithclaude/tree/main/plugins/all-skills/skills/stripe-automation
claude plugin marketplace add https://llmmart.ai/marketplace.json && claude plugin install davepoon-buildwithclaude@llmmart
git clone https://github.com/davepoon/buildwithclaude.git
The skills CLI installs just this skill, for any of its supported agents. Claude Code installs the whole davepoon/buildwithclaude collection as a plugin from our marketplace. Git is the plain clone.
Skill manifest
Stripe Automation via Rube MCP
Automate Stripe payment operations through Composio's Stripe toolkit via Rube MCP.
Toolkit docs: composio.dev/toolkits/stripe
Prerequisites
- Rube MCP must be connected (RUBE_SEARCH_TOOLS available)
- Active Stripe connection via
RUBE_MANAGE_CONNECTIONSwith toolkitstripe - Always call
RUBE_SEARCH_TOOLSfirst to get current tool schemas
Setup
Get Rube MCP: Add https://rube.app/mcp as an MCP server in your client configuration. No API keys needed — just add the endpoint and it works.
- Verify Rube MCP is available by confirming
RUBE_SEARCH_TOOLSresponds - Call
RUBE_MANAGE_CONNECTIONSwith toolkitstripe - If connection is not ACTIVE, follow the returned auth link to complete Stripe connection
- Confirm connection status shows ACTIVE before running any workflows
Core Workflows
1. Manage Customers
When to use: User wants to create, update, search, or list Stripe customers
Tool sequence:
STRIPE_SEARCH_CUSTOMERS- Search customers by email/name [Optional]STRIPE_LIST_CUSTOMERS- List all customers [Optional]STRIPE_CREATE_CUSTOMER- Create a new customer [Optional]STRIPE_POST_CUSTOMERS_CUSTOMER- Update a customer [Optional]
Key parameters:
email: Customer emailname: Customer namedescription: Customer descriptionmetadata: Key-value metadata pairscustomer: Customer ID for updates (e.g., 'cus_xxx')
Pitfalls:
- Stripe allows duplicate customers with the same email; search first to avoid duplicates
- Customer IDs start with 'cus_'
2. Manage Charges and Payments
When to use: User wants to create charges, payment intents, or view charge history
Tool sequence:
STRIPE_LIST_CHARGES- List charges with filters [Optional]STRIPE_CREATE_PAYMENT_INTENT- Create a payment intent [Optional]STRIPE_CONFIRM_PAYMENT_INTENT- Confirm a payment intent [Optional]STRIPE_POST_CHARGES- Create a direct charge [Optional]STRIPE_CAPTURE_CHARGE- Capture an authorized charge [Optional]
Key parameters:
amount: Amount in smallest currency unit (e.g., cents for USD)currency: Three-letter ISO currency code (e.g., 'usd')customer: Customer IDpayment_method: Payment method IDdescription: Charge description
Pitfalls:
- Amounts are in smallest currency unit (100 = $1.00 for USD)
- Currency codes must be lowercase (e.g., 'usd' not 'USD')
- Payment intents are the recommended flow over direct charges
3. Manage Subscriptions
When to use: User wants to create, list, update, or cancel subscriptions
Tool sequence:
STRIPE_LIST_SUBSCRIPTIONS- List subscriptions [Optional]STRIPE_POST_CUSTOMERS_CUSTOMER_SUBSCRIPTIONS- Create subscription [Optional]STRIPE_RETRIEVE_SUBSCRIPTION- Get subscription details [Optional]STRIPE_UPDATE_SUBSCRIPTION- Modify subscription [Optional]
Key parameters:
customer: Customer IDitems: Array of price items (price_id and quantity)subscription: Subscription ID for retrieval/update (e.g., 'sub_xxx')
Pitfalls:
- Subscriptions require a valid customer with a payment method
- Price IDs (not product IDs) are used for subscription items
- Cancellation can be immediate or at period end
4. Manage Invoices
When to use: User wants to create, list, or search invoices
Tool sequence:
STRIPE_LIST_INVOICES- List invoices [Optional]STRIPE_SEARCH_INVOICES- Search invoices [Optional]STRIPE_CREATE_INVOICE- Create an invoice [Optional]
Key parameters:
customer: Customer ID for invoicecollection_method: 'charge_automatically' or 'send_invoice'days_until_due: Days until invoice is due
Pitfalls:
- Invoices auto-finalize by default; use
auto_advance: falsefor draft invoices
5. Manage Products and Prices
When to use: User wants to list or search products and their pricing
Tool sequence:
STRIPE_LIST_PRODUCTS- List products [Optional]STRIPE_SEARCH_PRODUCTS- Search products [Optional]STRIPE_LIST_PRICES- List prices [Optional]STRIPE_GET_PRICES_SEARCH- Search prices [Optional]
Key parameters:
active: Filter by active/inactive statusquery: Search query for search endpoints
Pitfalls:
- Products and prices are separate objects; a product can have multiple prices
- Price IDs (e.g., 'price_xxx') are used for subscriptions and checkout
6. Handle Refunds
When to use: User wants to issue refunds on charges
Tool sequence:
STRIPE_LIST_REFUNDS- List refunds [Optional]STRIPE_POST_CHARGES_CHARGE_REFUNDS- Create a refund [Optional]STRIPE_CREATE_REFUND- Create refund via payment intent [Optional]
Key parameters:
charge: Charge ID for refundamount: Partial refund amount (omit for full refund)reason: Refund reason ('duplicate', 'fraudulent', 'requested_by_customer')
Pitfalls:
- Refunds can take 5-10 business days to appear on customer statements
- Amount is in smallest currency unit
Common Patterns
Amount Formatting
Stripe uses smallest currency unit:
- USD: $10.50 = 1050 cents
- EUR: 10.50 = 1050 cents
- JPY: 1000 = 1000 (no decimals)
Pagination
- Use
limitparameter (max 100) - Check
has_morein response - Pass
starting_afterwith last object ID for next page - Continue until
has_moreis false
Known Pitfalls
Amount Units:
- Always use smallest currency unit (cents for USD/EUR)
- Zero-decimal currencies (JPY, KRW) use the amount directly
ID Prefixes:
- Customers:
cus_, Charges:ch_, Subscriptions:sub_ - Invoices:
in_, Products:prod_, Prices:price_ - Payment Intents:
pi_, Refunds:re_
Quick Reference
| Task | Tool Slug | Key Params |
|---|---|---|
| Create customer | STRIPE_CREATE_CUSTOMER | email, name |
| Search customers | STRIPE_SEARCH_CUSTOMERS | query |
| Update customer | STRIPE_POST_CUSTOMERS_CUSTOMER | customer, fields |
| List charges | STRIPE_LIST_CHARGES | customer, limit |
| Create payment intent | STRIPE_CREATE_PAYMENT_INTENT | amount, currency |
| Confirm payment | STRIPE_CONFIRM_PAYMENT_INTENT | payment_intent |
| List subscriptions | STRIPE_LIST_SUBSCRIPTIONS | customer |
| Create subscription | STRIPE_POST_CUSTOMERS_CUSTOMER_SUBSCRIPTIONS | customer, items |
| Update subscription | STRIPE_UPDATE_SUBSCRIPTION | subscription, fields |
| List invoices | STRIPE_LIST_INVOICES | customer |
| Create invoice | STRIPE_CREATE_INVOICE | customer |
| Search invoices | STRIPE_SEARCH_INVOICES | query |
| List products | STRIPE_LIST_PRODUCTS | active |
| Search products | STRIPE_SEARCH_PRODUCTS | query |
| List prices | STRIPE_LIST_PRICES | product |
| Search prices | STRIPE_GET_PRICES_SEARCH | query |
| List refunds | STRIPE_LIST_REFUNDS | charge |
| Create refund | STRIPE_CREATE_REFUND | charge, amount |
| Payment methods | STRIPE_LIST_CUSTOMER_PAYMENT_METHODS | customer |
| Checkout session | STRIPE_CREATE_CHECKOUT_SESSION | line_items |
| List payment intents | STRIPE_LIST_PAYMENT_INTENTS | customer |
Powered by Composio
Files (buildwithclaude)
-
SKILL.md 7.3 KB
--- name: stripe-automation description: "Automate Stripe tasks via Rube MCP (Composio): customers, charges, subscriptions, invoices, products, refunds. Always search tools first for current schemas." requires: mcp: [rube] category: ecommerce --- # Stripe Automation via Rube MCP Automate Stripe payment operations through Composio's Stripe toolkit via Rube MCP. **Toolkit docs**: [composio.dev/toolkits/stripe](https://composio.dev/toolkits/stripe) ## Prerequisites - Rube MCP must be connected (RUBE_SEARCH_TOOLS available) - Active Stripe connection via `RUBE_MANAGE_CONNECTIONS` with toolkit `stripe` - Always call `RUBE_SEARCH_TOOLS` first to get current tool schemas ## Setup **Get Rube MCP**: Add `https://rube.app/mcp` as an MCP server in your client configuration. No API keys needed — just add the endpoint and it works. 1. Verify Rube MCP is available by confirming `RUBE_SEARCH_TOOLS` responds 2. Call `RUBE_MANAGE_CONNECTIONS` with toolkit `stripe` 3. If connection is not ACTIVE, follow the returned auth link to complete Stripe connection 4. Confirm connection status shows ACTIVE before running any workflows ## Core Workflows ### 1. Manage Customers **When to use**: User wants to create, update, search, or list Stripe customers **Tool sequence**: 1. `STRIPE_SEARCH_CUSTOMERS` - Search customers by email/name [Optional] 2. `STRIPE_LIST_CUSTOMERS` - List all customers [Optional] 3. `STRIPE_CREATE_CUSTOMER` - Create a new customer [Optional] 4. `STRIPE_POST_CUSTOMERS_CUSTOMER` - Update a customer [Optional] **Key parameters**: - `email`: Customer email - `name`: Customer name - `description`: Customer description - `metadata`: Key-value metadata pairs - `customer`: Customer ID for updates (e.g., 'cus_xxx') **Pitfalls**: - Stripe allows duplicate customers with the same email; search first to avoid duplicates - Customer IDs start with 'cus_' ### 2. Manage Charges and Payments **When to use**: User wants to create charges, payment intents, or view charge history **Tool sequence**: 1. `STRIPE_LIST_CHARGES` - List charges with filters [Optional] 2. `STRIPE_CREATE_PAYMENT_INTENT` - Create a payment intent [Optional] 3. `STRIPE_CONFIRM_PAYMENT_INTENT` - Confirm a payment intent [Optional] 4. `STRIPE_POST_CHARGES` - Create a direct charge [Optional] 5. `STRIPE_CAPTURE_CHARGE` - Capture an authorized charge [Optional] **Key parameters**: - `amount`: Amount in smallest currency unit (e.g., cents for USD) - `currency`: Three-letter ISO currency code (e.g., 'usd') - `customer`: Customer ID - `payment_method`: Payment method ID - `description`: Charge description **Pitfalls**: - Amounts are in smallest currency unit (100 = $1.00 for USD) - Currency codes must be lowercase (e.g., 'usd' not 'USD') - Payment intents are the recommended flow over direct charges ### 3. Manage Subscriptions **When to use**: User wants to create, list, update, or cancel subscriptions **Tool sequence**: 1. `STRIPE_LIST_SUBSCRIPTIONS` - List subscriptions [Optional] 2. `STRIPE_POST_CUSTOMERS_CUSTOMER_SUBSCRIPTIONS` - Create subscription [Optional] 3. `STRIPE_RETRIEVE_SUBSCRIPTION` - Get subscription details [Optional] 4. `STRIPE_UPDATE_SUBSCRIPTION` - Modify subscription [Optional] **Key parameters**: - `customer`: Customer ID - `items`: Array of price items (price_id and quantity) - `subscription`: Subscription ID for retrieval/update (e.g., 'sub_xxx') **Pitfalls**: - Subscriptions require a valid customer with a payment method - Price IDs (not product IDs) are used for subscription items - Cancellation can be immediate or at period end ### 4. Manage Invoices **When to use**: User wants to create, list, or search invoices **Tool sequence**: 1. `STRIPE_LIST_INVOICES` - List invoices [Optional] 2. `STRIPE_SEARCH_INVOICES` - Search invoices [Optional] 3. `STRIPE_CREATE_INVOICE` - Create an invoice [Optional] **Key parameters**: - `customer`: Customer ID for invoice - `collection_method`: 'charge_automatically' or 'send_invoice' - `days_until_due`: Days until invoice is due **Pitfalls**: - Invoices auto-finalize by default; use `auto_advance: false` for draft invoices ### 5. Manage Products and Prices **When to use**: User wants to list or search products and their pricing **Tool sequence**: 1. `STRIPE_LIST_PRODUCTS` - List products [Optional] 2. `STRIPE_SEARCH_PRODUCTS` - Search products [Optional] 3. `STRIPE_LIST_PRICES` - List prices [Optional] 4. `STRIPE_GET_PRICES_SEARCH` - Search prices [Optional] **Key parameters**: - `active`: Filter by active/inactive status - `query`: Search query for search endpoints **Pitfalls**: - Products and prices are separate objects; a product can have multiple prices - Price IDs (e.g., 'price_xxx') are used for subscriptions and checkout ### 6. Handle Refunds **When to use**: User wants to issue refunds on charges **Tool sequence**: 1. `STRIPE_LIST_REFUNDS` - List refunds [Optional] 2. `STRIPE_POST_CHARGES_CHARGE_REFUNDS` - Create a refund [Optional] 3. `STRIPE_CREATE_REFUND` - Create refund via payment intent [Optional] **Key parameters**: - `charge`: Charge ID for refund - `amount`: Partial refund amount (omit for full refund) - `reason`: Refund reason ('duplicate', 'fraudulent', 'requested_by_customer') **Pitfalls**: - Refunds can take 5-10 business days to appear on customer statements - Amount is in smallest currency unit ## Common Patterns ### Amount Formatting Stripe uses smallest currency unit: - USD: $10.50 = 1050 cents - EUR: 10.50 = 1050 cents - JPY: 1000 = 1000 (no decimals) ### Pagination - Use `limit` parameter (max 100) - Check `has_more` in response - Pass `starting_after` with last object ID for next page - Continue until `has_more` is false ## Known Pitfalls **Amount Units**: - Always use smallest currency unit (cents for USD/EUR) - Zero-decimal currencies (JPY, KRW) use the amount directly **ID Prefixes**: - Customers: `cus_`, Charges: `ch_`, Subscriptions: `sub_` - Invoices: `in_`, Products: `prod_`, Prices: `price_` - Payment Intents: `pi_`, Refunds: `re_` ## Quick Reference | Task | Tool Slug | Key Params | |------|-----------|------------| | Create customer | STRIPE_CREATE_CUSTOMER | email, name | | Search customers | STRIPE_SEARCH_CUSTOMERS | query | | Update customer | STRIPE_POST_CUSTOMERS_CUSTOMER | customer, fields | | List charges | STRIPE_LIST_CHARGES | customer, limit | | Create payment intent | STRIPE_CREATE_PAYMENT_INTENT | amount, currency | | Confirm payment | STRIPE_CONFIRM_PAYMENT_INTENT | payment_intent | | List subscriptions | STRIPE_LIST_SUBSCRIPTIONS | customer | | Create subscription | STRIPE_POST_CUSTOMERS_CUSTOMER_SUBSCRIPTIONS | customer, items | | Update subscription | STRIPE_UPDATE_SUBSCRIPTION | subscription, fields | | List invoices | STRIPE_LIST_INVOICES | customer | | Create invoice | STRIPE_CREATE_INVOICE | customer | | Search invoices | STRIPE_SEARCH_INVOICES | query | | List products | STRIPE_LIST_PRODUCTS | active | | Search products | STRIPE_SEARCH_PRODUCTS | query | | List prices | STRIPE_LIST_PRICES | product | | Search prices | STRIPE_GET_PRICES_SEARCH | query | | List refunds | STRIPE_LIST_REFUNDS | charge | | Create refund | STRIPE_CREATE_REFUND | charge, amount | | Payment methods | STRIPE_LIST_CUSTOMER_PAYMENT_METHODS | customer | | Checkout session | STRIPE_CREATE_CHECKOUT_SESSION | line_items | | List payment intents | STRIPE_LIST_PAYMENT_INTENTS | customer | --- *Powered by [Composio](https://composio.dev)*
Comments (0)
Sign in to join the conversation.
Reviews (0)
No reviews yet.
No comments yet.