Back to components
Payments component
Stripe Subscription Button
Subscription PaymentSheet — handles both trial (SetupIntent) and charge-now (PaymentIntent) flows.
Install
What it does
- One button covers trial AND immediate-charge subscription flows
- Backend decides via { type: 'setup' | 'payment' } response
- Returns the Stripe subscription id on success
- Full error/cancel callbacks
When to use
Use it
SaaS paywalls, premium tier upgrades, recurring memberships.
Skip it
One-off purchases (use stripe-pay-button).
Files & routes added
- components/payments/stripe-subscription-button.tsx