Somebody decides to change payment provider, gets as far as the good reasons, and then asks the question that ends the conversation: what happens to the people who are already paying?
The answer is that they stay where they are, because there is no mechanism to move them. That sounds like a wall. It is closer to a constraint that decides your plan, and once you accept it the rest of the change is straightforward.
Why a subscription cannot be moved
A subscription is not a record about a customer. It is an authorisation that customer gave, held by the provider that took it, tied to a payment instrument they entered on that provider’s page.
You do not own it. It is not in your export. There is no field containing it, because the thing itself is a permission granted to a specific company.
So no provider can import your existing subscriptions, and no tool can migrate them. That is not a gap in the market waiting to be filled, and if something claims to do it, read carefully, because it is doing something else: probably asking your customers to re-authorise, which is the thing you were trying to avoid.
The card details cannot move either, for the same reason plus a regulatory one. That is a feature of how card data is handled, and you would not want it otherwise.
The plan that follows from this
Given you cannot move them, do not try. Let them finish where they started.
Existing subscriptions keep running at the old provider until each one ends, either because the customer cancels or because it lapses.
New sales go to the new provider from the day you switch.
Both run at the same time for as long as that takes, which is one billing cycle for monthly subscribers and up to a year for annual ones.
Nothing about this is elegant and it works reliably. The alternative, asking hundreds of people to re-enter a card so your dashboard is tidier, costs real subscribers to solve a problem nobody but you can see.
Ghost tolerates this without any special handling, because a Ghost membership does not record which provider paid for it. Ghost knows a member has a tier. Where the money came from is not part of the member record, which is the reason two providers can feed the same site at once. How that arrangement works day to day.
When you actually have to move people
Sometimes running out is not available: the old provider is closing your account, exiting your country, or shutting down.
Then you are asking people to re-subscribe, and how you ask decides how many do.
Give them the access first. Grant complimentary access in Ghost for a defined stretch, then ask them to subscribe while they still have it. Somebody who currently has the thing converts far better than somebody who has lost it and is being asked to buy it back.
Say what happened, once, without drama. People accept “our payment provider is no longer available to us, so your subscription has to be set up again” without much friction. What they do not accept is discovering it because their access disappeared.
Give a date and a single link. Ambiguity converts badly. So does a message that requires them to work out what to do.
Send it twice. Most of the second wave comes from people who meant to and forgot, not from people who decided against it.
The Ghost wrinkle worth knowing
When a membership is granted through Ghost’s Admin API rather than through Ghost’s own Stripe billing, the member shows up in Ghost as complimentary.
That is the correct mechanism and it has a cosmetic consequence: Ghost may show that member wording about managing or cancelling their subscription through Stripe, because Ghost’s account area assumes Stripe is the only way a paid membership exists.
The access is right. The message is Ghost’s, it does not match reality, and it generates support email of the form “it says I have to cancel in Stripe but I paid through PayPal”.
Worth a line in your own welcome email saying where they actually manage their subscription. Cheaper than answering the question repeatedly.
What to check while both are running
Two failure modes matter during the overlap.
Somebody paying twice. A subscriber who re-subscribes at the new provider without cancelling at the old one is now paying you two ways. They will notice, and it will be your fault regardless of who clicked what. If you asked people to move, watch for duplicates by email address and cancel the old one yourself rather than waiting.
Somebody paying and losing access. The old provider’s cancellation events still have to reach Ghost while it is running. Turning off the old integration before its last subscription has ended means the final cancellations arrive nowhere, and those members keep access they stopped paying for. Undramatic, and it quietly undermines the point of the whole system.
Leave the old connection in place until the last subscription through it has actually ended. Not until you stopped selling through it.
The part that is genuinely easier than it sounds
Everything above is about the payment side. The audience side does not move at all.
Your members are Ghost members. The tiers, gated posts, newsletters and reader relationships are yours, sitting in your Ghost install, unaffected by which provider took the money. Changing provider does not touch a single one of them.
That is the difference between changing a payment provider and changing a platform, and it is why this is a reversible decision rather than a permanent one. If the new provider turns out to be wrong, you do the same thing again in the other direction, and again nobody has to re-enter a card except the people billing through the one you are leaving.
Related: running two providers at once, the Stripe-specific playbook, and importing members into Ghost.