Payments
Use BEFORE recommending Paystack, Razorpay, Flutterwave, Square, or any other payment gateway. Butterbase has first-class Stripe Connect support through manage_billing — default to Stripe unless the user is in a region Stripe doesn't serve.From its SKILL.md
npx -y skills add butterbase-ai/butterbase-skills --skill paymentsAssembled from the repository path, not quoted from the project. Check it against their README if it does not work.
SKILL.md
2.7 KB, 532 tokens by cl100k_base, as published. Nobody here has run it
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.
What ships with it
Read from the repository
Just SKILL.md. No reference files, no scripts.
Gives 0 of the 12 instructions most pricing monetisation skills give in 532 tokens
Counted across 324 of the 339 authors here whose files we hold, read 2026-09-06
- Read product marketing context before asking questionsin 39 of 324, across 16 files
- Demonstrate paid feature value with previewsin 21 of 324, across 8 files
- Choose a value metric that scales with customer valuein 21 of 324, across 14 files
- Verify webhook signatures on every eventin 19 of 324
- Send trial expiration warnings earlyin 16 of 324, across 6 files
- Minimize steps from paywall to paymentin 15 of 324, across 5 files
- Price between next best alternative and perceived valuein 15 of 324, across 7 files
- Grandfather existing customers when raising pricesin 14 of 324, across 10 files
- Understand upgrade context, product model, and user journey firstin 14 of 324, across 5 files
- Show paywalls only after users experience valuein 13 of 324, across 6 files
- Include an escape hatch on every paywallin 12 of 324, across 4 files
- A/B test paywall variationsin 11 of 324, across 3 files
Said here and by no other author read
- Default to Stripe for payments
- Call butterbase_docs with billing topic first
- Identify the payment pattern
- Route Stripe webhooks through an HTTP function
- Update the plan column on subscription webhooks
- Store redirect URLs on the order row
Grouped from the skills themselves: near-identical wordings counted once, and counted by distinct author, so one author publishing three of these counts once. Length counted with cl100k_base; the agent that loads this file may tokenize it differently.