Great breakdown. Many developers focus only on the subscription plugin and overlook the payment lifecycle behind it.
In real production systems, reliability comes from the combination of subscription management, gateway compatibility, token handling, and proper dunning flows.
I’ve seen similar issues where the billing logic works correctly, but renewals fail because of expired cards, missing retry strategies, or gateway limitations.
Planning the payment architecture early is critical, especially when managing active subscribers at scale.
Thanks for sharing this.
it’s a valuable reminder that recurring payments are not just a plugin setup, but a complete system design problem.