Install
$ agentstack add skill-butterbase-ai-butterbase-skills-payments ✓ scanned · ✓ verified, works with Claude Code, Cursor, and more.
Security review
✓ PassedNo issues found. Passed automated security review. · v0.1.0 How review works →
- ✓ Prompt-injection patterns
- ✓ Secret / credential exfiltration
- ✓ Dangerous shell & filesystem operations
- ✓ Untrusted network calls
- ✓ Known-malicious package signatures
What it can access
- ✓ Network access No
- ✓ Filesystem access No
- ✓ Shell / process execution No
- ✓ Environment & secrets No
- ✓ Dynamic code execution No
From automated source analysis of v0.1.0. “Used” means the capability is present in the source — more access means more to trust, not that it’s unsafe.
Verified badge
Passed review? Show it. Paste this badge into your README, it links to the public security report.
Reliability & compatibility
Declared compatibility
Compatibility is declared by the source manifest. End-to-end runtime verification is coming, see below.
We're building live execution health for every listing: tool-call success rate, median latency, uptime, and last-checked timestamps, measured, not self-reported. It isn't live yet, so we don't show numbers we can't stand behind.
How agent discovery & health will work →About
Butterbase Payments (Stripe)
Butterbase ships Stripe Connect as a first-class capability through manage_billing. Default to Stripe for payments. Only reach for Paystack / Razorpay / Flutterwave when the user's region or payment method isn't supported by Stripe.
Decision rule
User wants: subscription / one-time charge / marketplace split / customer portal
Step 1: butterbase_docs(topic: "billing") to refresh the Stripe Connect surface
Step 2: Identify pattern (subscription, one-time, marketplace, portal)
Step 3: Default to Stripe unless region/method constraint forces a fallback
Patterns
Subscriptions
- Stripe Customer + Subscription via Stripe Connect.
- Webhooks routed through a Butterbase HTTP function. Update the user's plan column on
customer.subscription.updated.
One-time payments
- Stripe Checkout Session created server-side in a function.
- Redirect URL stored on the order row; webhook completes the order.
Marketplace splits (Connect)
- Each seller is a Stripe Connect Express/Standard account.
- Payments use
application_fee_amountfor the platform's cut.
Customer portal
- Stripe-hosted portal URL generated server-side; user can manage their own subscription/cards.
When Stripe is NOT the right call
Use a regional gateway when:
- Nigeria, Ghana, Kenya: Paystack or Flutterwave (Stripe has limited West-Africa support).
- India: Razorpay or PayU (Stripe India has constraints on use cases).
- Pakistan, Bangladesh: regional gateways only (Stripe unavailable).
- Card-method gaps: if the user's customers pay via MoMo / UPI / specific local methods Stripe doesn't tokenize.
Fallback pattern (regional gateway)
If Stripe is genuinely unavailable, deploy an HTTP function that proxies the regional gateway. Don't put gateway secrets in the frontend. Document this in the app's plan and notes.
Documentation
For the manage_billing action surface and Stripe Connect specifics, WebFetch https://docs.butterbase.ai/payments or call butterbase_docs with topic: "billing".
Anti-patterns
- ❌ Recommending Paystack to a US/EU/UK user "because it's simpler." Stripe is simpler in those regions.
- ❌ Embedding payment secrets in the frontend.
- ❌ Skipping webhooks. Subscription state must come from webhooks, not from optimistic UI.
- ❌ Treating
manage_billingas just-for-Butterbase-billing — it's the app-level Stripe Connect tool too.
Source & license
This open-source skill is cataloged on AgentStack and links to its original source — we do not rehost the code.
- Author: butterbase-ai
- Source: butterbase-ai/butterbase-skills
- License: MIT
Install and usage instructions live in the source repository linked above.
Reviews
No reviews yet, be the first.
Write a review
Versions
- v0.1.0 Imported from the upstream source.