How to Accept Payments on Ghost Without Stripe
Ghost only supports Stripe natively. But there are thousands of publishers who cannot or do not want to use Stripe. Here is how to add any payment provider without touching your existing setup.
Ghost only supports Stripe natively. But there are thousands of publishers who cannot or do not want to use Stripe. Here is how to add any payment provider without touching your existing setup.
Why Ghost only supports Stripe
Ghost CMS has a built-in membership and subscription system. It is clean, fast, and well-integrated. The catch: it only works with Stripe. This is not a bug, it is a deliberate product decision. Ghost Inc. built its own infrastructure around Stripe and has no immediate plans to change that.
That works fine if you are in the US, UK, or any country where Stripe is available and your audience is comfortable paying with a card. But it is a real problem if:
- Your audience prefers PayPal or local payment methods
- You want to sell digital products through Polar (which handles EU VAT automatically)
- You operate in a market where Stripe is not available
- You want to run multiple providers side by side
Worth knowing: Ghost's Stripe integration is native, built directly into Ghost's core membership system. Adding a second payment provider is not just a config change. It requires intercepting webhooks and translating them into Ghost membership actions via the Admin API.
Your options: the honest overview
There are essentially three approaches to accepting non-Stripe payments on Ghost:
| Approach | Setup | Reliability |
|---|---|---|
| Build it yourself (Zapier / Make) | Hours to days | Fragile, no retry |
| Self-host n8n | Dev required | You maintain it |
| Webhook relay (PayGlue) | Minutes | Retry + dead-letter |
How the webhook relay approach works
The webhook relay sits between your payment provider and your Ghost blog. When a customer purchases, the provider fires a webhook to the relay. The relay verifies the signature, normalizes the event, and calls the Ghost Admin API to grant or revoke membership access -- all in under a second.
The flow:
- Customer buys via Polar or PayPal
- Provider fires a signed webhook to PayGlue
- PayGlue verifies the signature and normalizes the event
- Ghost Admin API grants or revokes membership access
- Customer lands in their Ghost account, access confirmed
Setting it up in minutes
With PayGlue the setup takes about five minutes and requires no developer. You connect your Ghost blog via the Admin API key, add your payment provider webhook URL, define which product maps to which Ghost membership tier, and you are done.
Common questions
Does this break my existing Ghost + Stripe setup?
No. PayGlue does not connect to your Stripe account and requires no Stripe API key. Your Ghost + Stripe setup stays completely untouched. PayGlue adds Polar, PayPal, or other providers as a separate layer, independently alongside it.
What happens if a webhook fails?
PayGlue retries with exponential backoff. If it still fails, the event lands in a dead-letter queue where you can replay it manually from the dashboard.
Do you process my payments or store transaction data?
No. PayGlue is a relay, not a payment processor. We never see card data, bank details, or transaction amounts.