mcpField
S
stripe

stripe

github.com/heyvhuangOther33857 installsUpdated 30w ago
Repository

About stripe

stripe is a billing-operations skill for working with Stripe customers, products, invoices, payment links, subscriptions, refunds, and disputes. It emphasizes duplicate checks and explicit confirmation for consequential money operations; MCP is optional, alongside Stripe CLI or Dashboard.

Key features

  1. 01Manage customers, products, and invoices
  2. 02Create payment links
  3. 03List and update subscriptions
  4. 04Handle refunds and disputes with confirmation
  5. 05Check for duplicates before creating objects
  6. 06Default to test mode

Use cases

  1. 01Find a customer before creating an account record
  2. 02Prepare and send an invoice
  3. 03Issue a refund after explicit confirmation
  4. 04Review or cancel a subscription with approval

MCP support

The skill can use MCP automatically when available, or run through Stripe CLI or Dashboard. MCP is optional; BACKENDS.md describes execution options.

Install

Copy the command and run it in a terminal.

$npx skills add https://github.com/heyvhuang/ship-faster --skill stripe

After installing, type/stripein Claude Code to confirm it loaded.

Bundled files

References and scripts installed along with SKILL.md.

BACKENDS.md
SETUP.md
tools.md

Details

From the project README

Stripe Billing Operations

Execute billing and payment operations on Stripe: customers, products, invoices, payment links, subscriptions, refunds, and disputes.

MCP is optional. This skill works with MCP (auto), Stripe CLI, or Dashboard. See BACKENDS.md for execution options.

Three Hard Rules

  1. Read before write — Before creating customer/product/price, check if it already exists to avoid duplicates
  2. Money operations require confirmation — Refunds, subscription changes, dispute updates must be confirmed before execution
  3. When in doubt, search — If unsure about object ID or parameters, search first, don't guess

Security Rules

Operation TypeRule
Read (list, get, search)Execute directly
Create (customer, product, price, invoice)Check for duplicates first
Money (refund, subscription cancel/update, dispute)Display details → Await confirmation → Execute
ModeTest mode by default. Live requires explicit "live mode" + double confirmation

Dangerous Actions (Require Confirmation)

Before executing these operations:

  1. Display — Show object ID and key fields
  2. Explain impact — Amount, timing, consequences
  3. Await confirmation — Wait for explicit "confirm"/"yes"/"proceed"
  4. Execute and receipt — Return result + object ID + status
ActionRisk
create_refundMoney leaves account
cancel_subscriptionRevenue loss
update_subscriptionContract change
update_disputeLegal implications

Example confirmation prompt:

About to execute refund:
- PaymentIntent: pi_xxx
- Amount: $50.00 (full amount)
- Reason: requested_by_customer

Reply "confirm" to proceed, or "cancel" to abort.

Common Workflows

Create Customer
1. Search/list to check if customer exists (by email)
2. If not exists, create_customer(name, email, metadata)
3. Return cus_xxx + key info
Create Product and Price
1. List products to check if already exists
2. create_product(name, description)
3. create_price(product=prod_xxx, unit_amount=cents, currency)
4. Return prod_xxx + price_xxx
Create and Send Invoice
1. Confirm customer ID (list_customers if unknown)
2. create_invoice(customer=cus_xxx, collection_method, days_until_due)
3. create_invoice_item(invoice=inv_xxx, price=price_xxx, quantity)
4. finalize_invoice(invoice=inv_xxx)
5. Return inv_xxx + hosted_invoice_url
Create Payment Link
1. Confirm price ID (list_prices if unknown)
2. create_payment_link(line_items=[{price, quantity}])
3. Return payment link URL
Refund (Dangerous)
1. list_payment_intents to find target payment
2. Display pi_xxx + amount + customer info
3. Request user confirmation
4. create_refund(payment_intent=pi_xxx, amount?, reason)
5. Return re_xxx + status
Cancel Subscription (Dangerous)
1. list_subscriptions(customer=cus_xxx) to find target
2. Display sub_xxx + status + next billing date
3. Ask: cancel immediately or at period end?
4. After confirmation, cancel_subscription(subscription=sub_xxx)
5. Return cancellation result

Default Configuration

  • Currency: Use user-specified; else use existing object's currency; else ask
  • Amount: Accept decimals, auto-convert to smallest unit (e.g., $19.99 → 1999)
  • Output: Object type + ID + key fields + next steps

Limitations

These operations are NOT available via standard tools:

  • ❌ Create PaymentIntent / charge directly
  • ❌ Create subscription (only list/update/cancel)
  • ❌ Create Promotion Code (only coupon)
  • ❌ Delete objects

For these, use Dashboard or API directly.

File-based Pipeline

When integrating into multi-step workflows:

runs/<workflow>/active/<run_id>/
├── proposal.md                # Requirements / objective
├── context.json               # Known IDs (customer, invoice, etc.)
├── tasks.md                   # Checklist + approval gate
├── evidence/stripe-actions.md # Operations to execute (money ops written here first)
├── evidence/receipt.md        # Results + object IDs
└── logs/events.jsonl          # Optional tool call summary (no sensitive data)

Error Handling

SituationAction
Object doesn't existSearch to find correct ID
Parameter errorCheck documentation for correct format
Insufficient permissionsCheck API key scope
Network errorRetry or check connection

Related Files

  • BACKENDS.md — Execution options (MCP/CLI/Dashboard)
  • SETUP.md — MCP configuration (optional)
  • tools.md — Detailed tool parameters

Comments

Markdown supported