The Problem We Were Actually Solving

Our platform relied on traditional payment gateways like Stripe and PayPal, which were easily integrated into our system but excluded a large portion of our users. In Kenya and Ethiopia, for example, M-Pesa is the most widely used mobile payment system, but it's not supported by our current payment gateways. This meant that creators in these countries couldn't receive payments for their digital products, making our platform inaccessible to them.

What We Tried First (And Why It Failed)

We tried to add support for M-Pesa by integrating a third-party API, but it was a disaster. The API was slow, unreliable, and had high latency, causing our platform to timeout and fail. We also encountered issues with currency conversion, which led to incorrect exchange rates and lost revenue for our creators. On top of that, the API was chargeable, which added unnecessary expense to our operations. We realized that relying on a third-party API wasn't a viable solution.

The Architecture Decision