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

Related components