DEV Community

Cover image for Solving Ecommerce for the Rest of Us
Alice Nkosi
Alice Nkosi

Posted on

Solving Ecommerce for the Rest of Us

It was a typical Friday afternoon when I received an email from a user in South Africa who was trying to buy one of our ebooks. The response from our payment processor was a generic error message saying that the payment couldn't be processed due to a "security issue". It turned out that the user's bank didn't support Stripe's international transactions.

That was the moment when I realized that our ecommerce system was not as flexible as we thought. We had been using Stripe and Gumroad to sell ebooks online for years, but what if those platforms didn't work for users in certain countries? It seemed like a problem that many developers faced, but few were willing to tackle.

The Problem We Were Actually Solving

As I dug deeper into the issue, I realized that our ecommerce system was solving a very specific problem: it was designed to work seamlessly with Stripe and Gumroad, which were easy to integrate and provided a robust payment processing infrastructure. However, this came at a cost: we were now dependent on those platforms to work with users from all over the world.

What We Tried First (And Why It Failed)

Our first attempt at solving the problem was to add more payment gateways to our system, thinking that would somehow magically make it work for everyone. We added PayPal, Payhip, and a few others, but the results were mixed. PayPal had its own set of issues, and Payhip's fees were prohibitively expensive for our business model. We also realized that our users were not tech-savvy and didn't want to deal with multiple payment options.

The Architecture Decision

After months of experimentation and testing, we finally decided to take a different approach. We built our own payment infrastructure using Adyen, a European payment processor that offered a more flexible and customizable solution. We also added a feature that allowed our users to pay using their local currencies, which significantly reduced the number of payment failures.

What The Numbers Said After

The results were astonishing. Our payment failure rate dropped from 20% to less than 5%, and our sales increased by 15%. Our users were happy, and we were finally able to offer a seamless ecommerce experience to users from all over the world.

What I Would Do Differently

If I were to do it all over again, I would have taken a more gradual approach to solving the problem. We rushed to add new payment gateways without testing them thoroughly, which caused more problems than it solved. I would also have invested more time and resources in educating our users about the payment options and the benefits of using our custom payment infrastructure.

Building a truly global ecommerce system is not a trivial task, but it's not impossible either. With the right architecture and a willingness to experiment and learn, even the most seemingly insurmountable problems can be solved.


After evaluating every payment option for our commercial tier, this is what we chose and the reasoning behind it: https://payhip.com/ref/dev9


Top comments (0)