Stripe
What we use, what the webhook does, and what is stored on your subscription.
Stripe handles all subscription billing for Shelfwise.
What Stripe provides
- Credit card processing
- Subscription management (recurring billing)
- Invoice generation
- Customer Portal (self-service for tenants)
- Webhooks (real-time subscription updates)
What we store
- Library's stripe_customer_id and stripe_subscription_id
- Subscription status (trialing, active, past_due, cancelled, expired)
- Plan (starter, community, custom)
- Current billing period end date
What Stripe stores (not us)
- Card numbers, CVCs, billing details — all on Stripe
- Customer Portal session tokens
Webhook events we handle
- customer.subscription.created — new subscription started
- customer.subscription.updated — plan change, status change
- customer.subscription.deleted — cancellation
- invoice.payment_succeeded — payment confirmed
- invoice.payment_failed — payment failed (mark past_due)
Switching from test to live mode
In Stripe Dashboard, toggle top-right from Test mode to Live mode. Then:
- Create products + prices in live mode
- Get new live secret key (sk_live_)
- Get new webhook signing secret
- Update env vars in Vercel
- Redeploy
Tax
Stripe Tax handles VAT, US sales tax. Enable in Stripe Dashboard → Tax. Configure which states/countries to collect for.
Support
Stripe handles support for billing-related issues (chargebacks, payment failures). For library-side billing questions, contact us.
Still stuck? Email hello@tryshelfwise.comand we'll get back within one business day.