Rei-skills stripe-automation
Automate Stripe tasks via Rube MCP (Composio): customers, charges, subscriptions, invoices, products, refunds. Always search tools first for current schemas.
git clone https://github.com/rootcastleco/rei-skills
T=$(mktemp -d) && git clone --depth=1 https://github.com/rootcastleco/rei-skills "$T" && mkdir -p ~/.claude/skills && cp -r "$T/skills/stripe-automation" ~/.claude/skills/rootcastleco-rei-skills-stripe-automation && rm -rf "$T"
skills/stripe-automation/SKILL.mdStripe 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
with toolkitRUBE_MANAGE_CONNECTIONSstripe - Always call
first to get current tool schemasRUBE_SEARCH_TOOLS
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
respondsRUBE_SEARCH_TOOLS - Call
with toolkitRUBE_MANAGE_CONNECTIONSstripe - 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:
- Search customers by email/name [Optional]STRIPE_SEARCH_CUSTOMERS
- List all customers [Optional]STRIPE_LIST_CUSTOMERS
- Create a new customer [Optional]STRIPE_CREATE_CUSTOMER
- Update a customer [Optional]STRIPE_POST_CUSTOMERS_CUSTOMER
Key parameters:
: Customer emailemail
: Customer namename
: Customer descriptiondescription
: Key-value metadata pairsmetadata
: Customer ID for updates (e.g., 'cus_xxx')customer
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:
- List charges with filters [Optional]STRIPE_LIST_CHARGES
- Create a payment intent [Optional]STRIPE_CREATE_PAYMENT_INTENT
- Confirm a payment intent [Optional]STRIPE_CONFIRM_PAYMENT_INTENT
- Create a direct charge [Optional]STRIPE_POST_CHARGES
- Capture an authorized charge [Optional]STRIPE_CAPTURE_CHARGE
Key parameters:
: Amount in smallest currency unit (e.g., cents for USD)amount
: Three-letter ISO currency code (e.g., 'usd')currency
: Customer IDcustomer
: Payment method IDpayment_method
: Charge descriptiondescription
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:
- List subscriptions [Optional]STRIPE_LIST_SUBSCRIPTIONS
- Create subscription [Optional]STRIPE_POST_CUSTOMERS_CUSTOMER_SUBSCRIPTIONS
- Get subscription details [Optional]STRIPE_RETRIEVE_SUBSCRIPTION
- Modify subscription [Optional]STRIPE_UPDATE_SUBSCRIPTION
Key parameters:
: Customer IDcustomer
: Array of price items (price_id and quantity)items
: Subscription ID for retrieval/update (e.g., 'sub_xxx')subscription
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:
- List invoices [Optional]STRIPE_LIST_INVOICES
- Search invoices [Optional]STRIPE_SEARCH_INVOICES
- Create an invoice [Optional]STRIPE_CREATE_INVOICE
Key parameters:
: Customer ID for invoicecustomer
: 'charge_automatically' or 'send_invoice'collection_method
: Days until invoice is duedays_until_due
Pitfalls:
- Invoices auto-finalize by default; use
for draft invoicesauto_advance: false
5. Manage Products and Prices
When to use: User wants to list or search products and their pricing
Tool sequence:
- List products [Optional]STRIPE_LIST_PRODUCTS
- Search products [Optional]STRIPE_SEARCH_PRODUCTS
- List prices [Optional]STRIPE_LIST_PRICES
- Search prices [Optional]STRIPE_GET_PRICES_SEARCH
Key parameters:
: Filter by active/inactive statusactive
: Search query for search endpointsquery
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:
- List refunds [Optional]STRIPE_LIST_REFUNDS
- Create a refund [Optional]STRIPE_POST_CHARGES_CHARGE_REFUNDS
- Create refund via payment intent [Optional]STRIPE_CREATE_REFUND
Key parameters:
: Charge ID for refundcharge
: Partial refund amount (omit for full refund)amount
: Refund reason ('duplicate', 'fraudulent', 'requested_by_customer')reason
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
parameter (max 100)limit - Check
in responsehas_more - Pass
with last object ID for next pagestarting_after - Continue until
is falsehas_more
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:
, Charges:cus_
, Subscriptions:ch_sub_ - Invoices:
, Products:in_
, Prices:prod_price_ - Payment Intents:
, Refunds:pi_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.
🏰 Rei Skills — Curated by Rootcastle Engineering & Innovation | Batuhan Ayrıbaş
Engineering Beyond Boundaries | admin@rootcastle.com