Guide
Configure Paid Membership Subscriptions in Ghost (v4.x) with Stripe
Step‑by‑step guide to enable paid membership subscriptions in Ghost v4.x using Stripe, including tier creation, content gating, and verification.
Published by Tasadduq Burney
02 Jul 2026, 00:18 UTC
3 min131.5K views0

Desired outcome
Enable readers to subscribe to free or paid tiers, unlock gated content, and receive recurring revenue through a Stripe integration.
Prerequisites
- A self-hosted Ghost (v4.0+) or Ghost(Pro) site with admin access.
- A Stripe account; you will need the publishable key and secret key (test or live).
- A custom domain configured with HTTPS (required for Stripe and member login).
- Basic familiarity with the Ghost admin interface.
Procedure
- Open Members settings: In Ghost admin, click the gear icon →
Members→Settings. - Connect Stripe:
- Under Stripe connection, paste your Stripe Publishable key and Secret key.
- If using test mode, ensure the keys begin with
pk_test_andsk_test_; for live mode usepk_live_andsk_live_. - Click Save connection. Ghost will validate the keys and display a success banner.
- Define membership tiers:
- Navigate to
Members → Tiers. - Click Create a tier.
- Example configuration:
- Name: Supporter
- Description: Access to all posts and a monthly newsletter.
- Price: 5.00
- Interval: Monthly
- Access: All posts (toggle All posts on).
- Repeat for a free tier (price 0) if desired, setting access to No posts or a subset.
- Save each tier.
- Navigate to
- Apply tier visibility to content:
- Edit a post or page.
- In the post settings sidebar, under Visibility, choose Members only or select a specific tier (e.g., Supporter).
- Save the post.
- Optional: Test the flow:
- Visit your site front‑end; the subscription form should appear at the bottom of posts or via the
/members/accountpage. - Click Subscribe, choose the Supporter tier, and complete the checkout using Stripe test card
4242 4242 4242 4242with any future date and CVC. - After payment, you should be redirected back to the site and see the member portal.
- Visit your site front‑end; the subscription form should appear at the bottom of posts or via the
Expected checks
- Confirm the membership portal loads at
https://your-domain.com/members/accountand shows the Supporter tier option. - Verify that a test subscription creates a member record labeled “Supporter” in
Members → All members. - Check that a post set to Members only returns a 403 or redirects to the login page for unauthenticated visitors, and displays full content for logged‑in members with the Supporter tier.
- Inspect Ghost logs (
ghost log) for any Stripe webhook errors after a test payment.
Recovery options
- If the Stripe connection fails, re‑enter the API keys, ensure the webhook endpoint URL matches the one shown in Ghost (
https://your-domain.com/webhooks/stripe), and consult the Ghost logs for error details. - If changing tier access rules locks existing members out, revert to the previous rule set via
Members → Tiersand consider communicating the change to affected subscribers before saving. - To disable paid subscriptions temporarily, toggle the Stripe connection off in
Members → Settings; existing members retain access until their subscription period ends.
0 replies
A thoughtful contribution can make all the difference. Be the first to share one.