Ghost and Stripe: with it or without it
Ghost asks for a Stripe account before it unlocks its membership features. What that means depends on whether Stripe is available to you, and both cases work.
The short answer
Ghost's built-in membership system is tightly coupled to Stripe. Even when your customers pay through Polar or another provider, Ghost itself wants a Stripe account connected before it unlocks its membership features.

PayGlue bypasses Ghost's native payment flow entirely. When a customer pays through your chosen provider, PayGlue creates or updates their Ghost membership directly through the Ghost Admin API, with no Stripe charge involved.
How the resulting membership is recorded depends on one thing: whether a Stripe account is connected to your Ghost site. Both cases work, and they behave differently enough to be worth knowing before you build on either.
Case 1: Stripe alongside PayGlue
If you have a Stripe account, or can open one, connect it to Ghost and leave it there.
- Connect any Stripe account to Ghost. It does not need to process real payments.
- Connect your actual payment provider to PayGlue.
- PayGlue handles the rest.
Members created by PayGlue are then marked comped in Ghost, which is Ghost's own term for a complimentary paid membership. They count as paid members, so Ghost's native gating, tiers and portal all behave normally.
Note: Switching your gate to the PayGlue Paywall keeps your existing subscribers. The Paywall recognises all three states: a paid Ghost subscription, comped status, and the
payglue-activelabel. Nothing needs preparing before you move a post across.
Done: With this setup you keep your existing Stripe subscriptions running untouched and add whatever the other providers do better: one-time payments, pay-what-you-want, a provider that reaches customers Stripe cannot. Both paths write to the same Ghost member list and never conflict over the same person.
Case 2: no Stripe account at all
If Stripe does not operate in your country, you cannot connect an idle account either, and this is the case most advice on the subject skips.
It still works. Ghost will not accept a paid or comped status without Stripe connected, so PayGlue creates the buyer as a free member carrying a payglue-active label that records their access. The PayGlue paywall script checks that label instead of relying on Ghost's own gating.
This is what that member looks like in Ghost Admin. payglue-active is the access itself, payglue-provider records who took the payment, and the note carries the product and order id for when you need to trace a purchase back.

Purchases grant access and cancellations revoke it exactly as in case 1. What changes is which piece of software decides whether a given post opens.
Two consequences follow, and both are worth knowing before you build on this.
The header script has to be installed. It goes into Ghost Admin under Settings > Code Injection > Site Header, once, and it never changes. The same script powers the Paywall, Buy Buttons and Pricing Table together, so this is a single step rather than one per feature. You will find it in your PayGlue dashboard under Installation > Header script.
Ghost's own visibility must stay Public on any post using a PayGlue Paywall. If Ghost restricts the post itself, it blocks the visitor before the script can run, and they see a Ghost login wall rather than your overlay. PayGlue handles the access decision; Ghost must not also try to.
Warning: The Paywall is a client-side gate. The post stays Public, so its full text remains in the RSS feed, on the social web and in the Content API, and a visitor with JavaScript off or DevTools open reads it in the browser too. That is a fair trade for posts, newsletter archives and community content, and the wrong tool for credentials, personal data or anything where a determined reader getting through would matter. If it matters for your content, case 1 is how you get Ghost's server-side gating. Option 1 of the paywall has the full picture, and option 3 is case 1 applied to a post.
Which case applies to you
Stripe connected | No Stripe | |
|---|---|---|
Member is recorded as | Comped, a paid member to Ghost | Free member with a |
Content gating handled by | Ghost natively | The PayGlue paywall script |
Existing Stripe subscriptions | Keep running untouched | Not applicable |
Ghost's membership settings | Visible | Partly locked, PayGlue does not need them |
Note: See also: Zero-amount Stripe subscriptions for PayGlue members, which applies to case 1 only.
Was this helpful?
Your feedback shapes what we write next.
