From go-studio
Add Stripe Checkout + webhook handling for subscription or one-time payments.
npx claudepluginhub dvrd/ui-studio --plugin dvrdThis skill uses the workspace's default tool permissions.
Adds Stripe payments to an existing Go SaaS app.
Integrates Stripe payments into web apps using Checkout Sessions, Payment Intents, subscriptions, webhooks, customer portal, and pricing pages. Uses Stripe npm package.
Guides Stripe setup for SaaS billing including subscriptions, customer portals, webhooks, tax compliance, dunning, refunds, failed payments, and troubleshooting.
Integrates Stripe Checkout for one-time payments and subscriptions, plus webhooks and customer portals, in Node.js/Next.js or Python web apps. Use for payment flows.
Share bugs, ideas, or general feedback.
Adds Stripe payments to an existing Go SaaS app.
Confirm with user:
subscription or one-timecheckout.session.completed, customer.subscription.updated, customer.subscription.deleted)Read go-stack: pattern://stripe-integration.md
Add dependency: github.com/stripe/stripe-go/v76
Add config fields to internal/config/config.go:
StripeSecretKeyStripeWebhookSecretStripeSuccessURLStripeCancelURLWrite migration internal/migrations/NNN_billing.sql:
subscriptions table: id, user_id, stripe_customer_id, stripe_subscription_id, status, current_period_endpurchases table for one-time paymentsWrite internal/repositories/billing.go:
UpsertSubscription(ctx, userID, stripeCustomerID, subID, status, periodEnd)GetSubscription(ctx, userID)Write internal/services/billing.go:
CreateCheckoutSession(ctx, userID, priceID) → Stripe session URLHandleWebhook(ctx, payload, signature) — processes webhook eventsGetOrCreateCustomer(ctx, user) → Stripe customer IDWrite internal/handlers/billing.go:
GET /billing/checkout — creates Stripe session, redirectsGET /billing/success — success pagePOST /billing/webhook — Stripe webhook endpoint (no auth middleware)Write internal/ui/pages/billing.templ:
Wire billing routes in cmd/server/main.go:
Run go build ./... + templ generate
go build ./... passesPOST /billing/webhook accepts Stripe events with signature verificationGET /billing/checkout creates a real Stripe session and redirects