The Problem We Were Actually Solving

Our customers were based in regions where popular payment gateways like Stripe and PayPal were either blocked or heavily restricted. We needed a solution that would allow us to process payments from these countries without breaking a sweat. However, integrating a reliable alternative proved to be a significant challenge.

What We Tried First (And Why It Failed)

Initially, we tried using the more 'permissive' Stripe and PayPal, despite knowing they'd eventually fail. We implemented the usual checks, like IP blocking and payment method whitelisting, in hopes that these would be enough to bypass the restrictions. However, this was a case of wishful thinking, and we soon found ourselves dealing with a myriad of declined payments, error messages (e.g., "Stripe Invalid Request" and "PayPal Connection Timed Out"), and angry customers.

The Architecture Decision