Stripe woes

Don't link multiple things to the same Stripe account. Seriously. Your webhooks will thank you.

Stripe woes

I hit a ā€˜funā€™ mess today. Self-hosting client had somehow messed up the Stripe integration, no webhooks were being accepted, so members werenā€™t getting marked paid. Thought: Unlinking and re-linking Stripe would probably fix this. To unlink Stripe, there canā€™t be any paying members. So I need to delete the paying members. The client has multiple tiers and multiple newsletters. So I need to capture who is subscribed for what, which isnā€™t in the export. Then I need to re-import these members, with their stripe IDs (which Iā€™m going to have to cross-match from the Stripe export). But that wonā€™t get them on the right tier unless I turn on developer experiments. And then Iā€™m going to have to update their newsletters.

I can actually do all of that, but if the client had comments (thankfully it doesnā€™t look like it), then ā€œjust delete the paying members and reimportā€ wouldnā€™t be an option either.

Thereā€™s got to be a better way. What am I missing?

Update for the curious (yeah, no one?) - The problem was that Stripe allows a maximum of three API versions for webhooks. The client had several other services set up for webhooks, and Ghost specifies an old one.

We had to make a new Stripe account, migrate the customers, remake the pricing plans, export and re-import the subscriptions (which is stupidly complicated since the export and import file formats are not the same), and once those subscriptions go live tomorrow (thereā€™s a lag on migrations), re-import to Ghost and fix all the newsletter sign-ups.

Moral of story: Do NOT make Ghost share the same Stripe account with other systems. Should you choose to ignore this, do not make Ghost share the Stripe account with a LOT of payment systems, each with a different API version preference. UGH.