About stripe-automation
A workflow guide for automating Stripe customer, payment, subscription, invoice, product, and refund operations through Composio’s Stripe toolkit and Rube MCP. It is for users handling Stripe account workflows, with explicit cautions around authorization, financial effects, retries, and sensitive data.
Key features
- 01Manage customers and payment records
- 02Create and handle payment intents
- 03Manage subscriptions and invoices
- 04Browse products and prices
- 05Issue and review refunds
- 06Apply safeguards to financial writes
Use cases
- 01Find or update a Stripe customer
- 02Create a payment intent or subscription
- 03Prepare and inspect invoices
- 04Issue a requested refund and reconcile its outcome
MCP support
Uses Rube MCP to access Composio’s Stripe toolkit. The guide requires checking tool schemas and connecting an authorized Stripe account before operations.
Install
Copy the command and run it in a terminal.
npx skills add https:/ / github.com/ sickn33/ agentic-awesome-skills --skill stripe-automationAfter installing, type/stripe-automationin Claude Code to confirm it loaded.
Details
From the project READMEStripe Automation via Rube MCP
Automate Stripe payment operations through Composio's Stripe toolkit via Rube MCP.
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. The MCP endpoint still requires the provider connection and authorization flow returned by the installed Rube service; adding a URL alone does not grant account access.
- 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:
- Set
auto_advanceexplicitly according to the intended invoice workflow; do not assume tool/API defaults. Draft preparation does not authorize finalization, payment or email delivery.
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 |
When to Use
This skill is applicable to execute the workflow or actions described in the overview.
Example
User request:
Automate Stripe tasks via Rube MCP (Composio): customers, charges, subscriptions, invoices, products, refunds.
Limitations
- Use this skill only when the task clearly matches the scope described above.
- Do not treat the output as a substitute for environment-specific validation, testing, or expert review.
- Stop and ask for clarification if required inputs, permissions, safety boundaries, or success criteria are missing.
Establish the exact connected account, test/live mode, amount in the currency-specific minor unit, currency, customer and intended financial effect. A search match does not establish authorization or prevent races. Use the provider-supported idempotency key for writes, preserve it across retries and reconcile unknown outcomes before issuing another charge/refund/subscription change. Never log full payment/customer data or infer settlement from a tool invocation.