Billing·5 min read·

How Do I Set Up Paid Subscriptions with Stripe?

Paste your own Stripe keys into the BYOK wizard and you keep 100% of reader revenue — VeloCMS takes 0% commission on member subscriptions.

VeloCMS uses a BYOK (Bring Your Own Keys) model for reader subscriptions — you connect your own Stripe account and every penny from paying readers goes directly to you. VeloCMS charges 0% platform commission on member revenue.

Where do I find my Stripe keys?

Log into your Stripe Dashboard at dashboard.stripe.com. Click the Developers tab in the top navigation, then API Keys. You'll see a Publishable key and a Secret key. Copy both. The publishable key starts with pk_live_ (or pk_test_ in test mode) and is safe to expose in the browser. The secret key starts with sk_live_ — treat it like a password, never share it publicly.

How do I enter my keys in VeloCMS?

Go to Admin → Settings → Membership → Stripe Setup. Click the BYOK Wizard button. The wizard walks through three steps: paste your publishable key, paste your secret key, and optionally paste a webhook signing secret if you want to receive Stripe events (recommended for subscription renewals and cancellations). After saving, VeloCMS validates both keys against the Stripe API and shows a green checkmark when they're confirmed working. Your keys are encrypted with AES-256-GCM before storage — they're never saved in plain text.

The webhook signing secret comes from Stripe Dashboard → Developers → Webhooks. Create an endpoint pointing to yourblog.velocms.org/api/member-webhook/your-slug and copy the signing secret Stripe generates.

How do I set the subscription price?

After your keys are connected, go to Settings → Membership → Pricing. Enter a monthly price (minimum $1) and optionally an annual price — the wizard suggests an annual price at 20% off monthly by default. Hit Save and VeloCMS creates the Stripe Price objects on your account automatically. There's no need to manually create products or prices in the Stripe Dashboard.

What content can I put behind the paywall?

Individual posts can be gated — toggle the Members Only switch in the post's Settings panel. You can also gate by tag: mark a tag as members-only and every post with that tag is paywalled automatically. Free readers see a preview up to the paywall cutoff marker you drag into the post body, then a subscribe prompt. Existing free subscribers can be grandfathered in by marking them as Complimentary in the Members tab.