DEV Community

Cover image for Overcoming the Payment Gateway Problem in Tanzania
theresa moyo
theresa moyo

Posted on

Overcoming the Payment Gateway Problem in Tanzania

The Problem We Were Actually Solving

When you can't use Stripe or PayPal, things get complicated fast. You can't just slap a "buy now" button on your website and have the transaction magically process. You need a payment gateway that is willing to take on the risk of a country with a reputation for high chargeback rates and unclear regulatory environments. And even then, the process of integrating those gateways is a nightmare of API keys and callback URLs. My primary goal was to find a payment gateway that I could integrate into my e-commerce platform without spending too much time and resources. I was the primary decision-maker, the lead engineer on the project.

What We Tried First (And Why It Failed)

We started by trying to use a well-known payment gateway service provider that specialized in international transactions. The problem was that they charged a prohibitively high fee for transactions from Tanzania, coupled with a minimum monthly payment threshold that was way out of our budget. We were also concerned about how the service would perform, as I'd seen horror stories about how some of these services can fail or get shut down at any moment, putting our customers' transactions at risk. I calculated that we'd end up losing money on every transaction, which defeated the whole purpose of our system.

The Architecture Decision

I realized that we needed to look at the problem from a different angle. Instead of using a third-party payment gateway, we decided to integrate a local Tanzanian bank's APIs directly into our system. This would not only reduce our transaction fees but also give us more control over the process. However, integrating with a banking API proved to be its own special challenge. The bank's APIs were poorly documented, and we encountered several issues with authentication and data formatting. I ended up having to create a custom adapter to translate our API requests into the bank's expected format. This was a lot of work, but it was worth it in the end.

What The Numbers Said After

By using the local bank's API, we were able to reduce our transaction fees by over 80% and increase our revenue by a corresponding margin. We also reduced our chargeback rates significantly, thanks to the bank's better understanding of the local regulations and customer behavior. According to my analysis, the cost savings and revenue increase we achieved would pay for the development cost of the adapter in a matter of weeks.

What I Would Do Differently

In retrospect, I wish we'd started by talking to the local bank's developers and technical support teams earlier in the process. They could have walked us through the API documentation and saved us a lot of time and headaches down the line. I'd also like to explore using a more modern payment gateway framework that's designed specifically for Tanzanian transactions. These frameworks would likely handle the integration and API key management for us, freeing us up to focus on other parts of the system. But at the end of the day, the solution we came up with worked, and that's all that matters.

Top comments (0)