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.
Read the full transcript
Paywalls and paid memberships usually mean a pile of plugins, a payment processor to wrestle with, and a weekend you'll never get back. On VeloCMS, they're already built in. I'll create a membership tier, lock a post behind it, and show you exactly what your reader sees when they subscribe.
Start under Settings, then Membership. I'll add a new tier — call it Studio Members, nine dollars a month, plus a discounted yearly price if you want one. That's the whole setup: a name, a price, done. No shortcodes anywhere.
One honest detail — the money goes straight to you, not through us. So you connect your own Stripe account right here. Your payouts, your customer list, your terms. VeloCMS just handles the plumbing between your blog and the checkout.
Now the paywall itself. Open any post, open its settings, and flip visibility from Public to Paid members. Free readers get a preview and an invitation to join; members get the whole thing. That's it — no plugin, no code.
Here's your reader's side. They land on the locked post, read the free preview, and hit a clean subscribe wall with your tier and your price — right on your own site, in your own theme, not some third-party checkout that looks nothing like you.
Readers sign in with a magic link — no password to forget — and the moment they're a member, the post unlocks and stays unlocked across your whole site. That's a real membership business, running on your blog.
Memberships, paywalls, and reader logins — all built in, no plugins to maintain. Set yours up at velocms dot org.
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.