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.