AgentSkillsCN

stripe

Stripe的计费与支付操作:客户、产品、价格、发票、支付链接、订阅、退款、纠纷、余额。触发关键词包括:创建客户、创建产品、创建发票、生成支付链接、查询交易、处理退款、管理订阅、查看纠纷、查询余额。资金操作需经确认。MCP为可选功能——同样支持Dashboard与CLI。

SKILL.md
--- frontmatter
name: stripe
description: "Billing and payment operations for Stripe: customers, products, prices, invoices, payment links, subscriptions, refunds, disputes, balance. Triggers: create customer, create product, create invoice, generate payment link, query transactions, process refunds, manage subscriptions, view disputes, check balance. Money operations require confirmation. MCP is optional — works with Dashboard/CLI too."
allowed-tools:
  - Read
  - Bash
  - WebFetch
  - stripe_*

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:

code
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

code
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

code
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

code
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

code
1. Confirm price ID (list_prices if unknown)
2. create_payment_link(line_items=[{price, quantity}])
3. Return payment link URL

Refund (Dangerous)

code
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)

code
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:

code
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