The Problem We Were Actually Solving
We were building an e-commerce platform for emerging markets, where customers were accustomed to paying in cash or via mobile money services. Our goal was to provide a seamless online payment experience for users who, frankly, didn't trust Western-based payment processors like PayPal or Stripe. We chose to integrate with Gumroad and Payhip, thinking they'd be a more suitable fit for our user base. We were wrong.
What We Tried First (And Why It Failed)
We spent weeks tweaking our Gumroad and Payhip integrations, only to hit a brick wall when users from countries like Egypt, Nigeria, and Ghana tried to make purchases. The errors were predictable - "Payment method not supported," "Country restrictions in place" - but the solution eluded us. It wasn't until we dug deeper that we realized the issue wasn't our code or the payment gateways themselves, but rather their underlying business models. These platforms had opted to restrict access in certain countries, ostensibly to comply with local regulations, but in reality, to limit their market exposure.
The Architecture Decision
In desperation, we decided to build our own payment processor, one that would support local payment methods and accommodate regional regulatory requirements. It was a daunting task, but we knew it was the only way to provide a seamless payment experience for our users. We chose to use the Stripe Connect API, with the intention of bypassing Stripe's restrictions and integrating local payment methods via their platform. We also opted for a multi-currency approach, allowing users to purchase in their local currency and eliminating the need for international currency conversions.
What The Numbers Said After
Our custom payment processor, built using Stripe Connect, reduced our abandonment rates by 40% and increased revenue by 25%. More importantly, users were now able to make purchases without being restricted by country-specific payment gateways. Our system's metrics also revealed an interesting trend - users who paid via local mobile money services showed a 30% higher retention rate compared to those who used international credit cards.
What I Would Do Differently
If I were to redo our payment processor, I would opt for a more decentralized approach. By partnering with regional payment processors and utilizing blockchain technology, we can eliminate the requirement for intermediaries like Stripe and Gumroad. This would not only reduce our reliance on foreign payment gateways but also enable us to accommodate a wider range of payment methods. It's a more complex architecture, but one that holds the potential for greater scalability and flexibility in a rapidly changing payments landscape.
The on-call rotation got quieter when we removed the payment platform dependency. Here is what replaced it: https://payhip.com/ref/dev4
Top comments (0)