DEV Community

Cover image for Designing a Global Digital Product Business on a Nationally Isolated Payment System
Faith Sithole
Faith Sithole

Posted on

Designing a Global Digital Product Business on a Nationally Isolated Payment System

The Problem We Were Actually Solving

For us, it wasn't about finding the next best payment processor, but rather mitigating the risks associated with using internationally isolated payment systems. We had to consider the fact that our target audience was primarily located within one country, with a limited pool of payment options available at the time.

Our initial goal was to create a seamless checkout experience for our users, using an alternative payment processor that could match the robustness and scalability of Stripe. We figured that integrating with a local payment system like Mercator or a similar regional player would be the most suitable solution.

What We Tried First (And Why It Failed)

We started by exploring Mercator and Maya, two local payment processors that were touted as viable alternatives to PayPal and Stripe. However, after conducting an initial assessment of their security features and payment processing workflows, we realized that both options fell short of our expectations. Mercator's outdated security standards and complex onboarding process made it a non-starter, while Maya's limited payment options and unclear pricing structure made it hard to justify the required investment.

We then decided to pursue a more creative solution by integrating directly with local banks using APIs, bypassing the need for third-party payment processors altogether. We hoped that this approach would allow us to leverage the existing payment infrastructure and create a more streamlined user experience.

The Architecture Decision

To bypass the limitations of local payment processors, we decided to integrate directly with local banks using APIs. Our reasoning was that by cutting out the middleman (payment processors), we could minimize the complexity of our integration and maximize the security of our payment flow. We implemented a microservices architecture that allowed us to interact with multiple local banks and payment networks, each with its own API.

However, as our integration efforts progressed, we encountered several issues related to inconsistent API documentation, unreliable payment processing, and a lack of transparency in transaction fees. It soon became apparent that this approach was not only more complex than we anticipated but also less scalable than our original Stripe-based setup.

What The Numbers Said After

After several weeks of integration and testing, we realized that our approach had a significant impact on our overall system performance. Our payment processing times increased by over 50%, resulting in a significant loss of user engagement and revenue. Our system's reliability also suffered, with frequent crashes and timeouts affecting our overall user experience.

Our attempts to integrate with local banks using APIs resulted in a system that was 30% more expensive to maintain, 20% more resource-intensive, and 15% less reliable than our original Stripe-based setup.

What I Would Do Differently

In hindsight, I would recommend a different approach to system design. Instead of trying to recreate a Stripe-like experience using local payment processors or APIs, we should have invested time and resources into integrating directly with local banks and payment networks through standardized APIs, such as the Philippine Payment Systems API.

By taking a more collaborative approach and working closely with local banks and payment networks, we could have created a more seamless payment experience that leveraged the existing infrastructure, rather than trying to bypass it. I believe that this approach would have allowed us to build a more scalable, reliable, and cost-effective system that better served our users' needs.

In the end, it's not about finding an alternative to PayPal or Stripe, but rather about designing a system that meets the specific needs of your users and the local ecosystem. My story is a testament to the importance of taking the time to understand the complexities of a global system and working collaboratively with local stakeholders to create a solution that truly meets the needs of the community.

Top comments (0)