The discussion here is very interesting. Many mentions the idea to not put all your eggs in the same (Stripe) basket. I agree with it, but how?
You can not just store the credit card of your user (or have to go through a heavy compliance), and using services like Killbill.io or GetLago.com is just moving the single point of failure to another place.
How would you ensure that you are not 100% relying on a specific payment provider, without keeping all the credit card informations of your users?
Kill Bill (note: I'm a co-founder) provides payment routing capabilities, so you can integrate with multiple providers (e.g. Stripe + Adyen) and shift payment traffic to go through one or the other dynamically. This is very common in large b2c companies.
That being said, to your point, this still requires either a vendor neutral vault for the cards or to tokenize them in all of the vendors. Possible, but still hard to do in practice.
Yeah,that's what I think too : It seems hard (impossible) to register user's credit card at each payment provider (Stripe, Adyen, etc) and then start a subscription at some place (Stripe) and automatically switch in case of issues. There is high probability that in this scenario, Adyen will see the credit card refused because it never did a single payment for, say, 2 years, and suddenly starts a 300$ monthly subscription.
And I'm not even talking about 3D Secure!
As mentioned in the comments, a solution would be to migrate from Stripe to a merchant account with a bank where your service is vetted upfront.
You can not just store the credit card of your user (or have to go through a heavy compliance), and using services like Killbill.io or GetLago.com is just moving the single point of failure to another place.
How would you ensure that you are not 100% relying on a specific payment provider, without keeping all the credit card informations of your users?