The Problem We Were Actually Solving
Our goal was to create a payment system that allowed users to complete transactions without requiring them to create an account or go through Know Your Customer (KYC) verification. This was not just a matter of convenience; for many users in restricted countries, KYC verification is an insurmountable hurdle that effectively prevents them from accessing financial services. We aimed to create a system that would be inclusive, secure, and compliant with the regulations of our geographically dispersed user base.
What We Tried First (And Why It Failed)
We started by integrating a well-known Web3 payment gateway that claimed to offer a "borderless" payment experience. In practice, this meant that we would have to rely on the gateway's pre-built KYC verification flows, which would inevitably lead to rejection for many users in restricted countries. Our system was designed to handle the inevitable failed transactions, but what we didn't anticipate was the rate at which users would be denied access due to "platform restrictions" – a euphemism for country blocklists.
As a result, our system became a bottleneck, and our users in restricted countries would often be left without a clear explanation for why their transactions were being rejected. The gateway's documentation was vague on the topic, and their support team was unable to provide concrete answers. It was clear that we needed a different approach.
The Architecture Decision
After months of struggling with the existing payment gateway, we decided to take a step back and reimagine the entire payment system from scratch. We opted for a modular architecture that allowed us to decouple the payment processing logic from the KYC verification steps. This meant that we could integrate multiple payment processors and configure them to work together seamlessly, ensuring that users in restricted countries would have access to the payment options they needed.
We chose to use a combination of Solana-based payment processors and a custom-built payment orchestration layer to route transactions through a series of decentralized payment gateways. This approach gave us the flexibility to configure the payment flow in a way that minimized the risk of country blocklists and ensured that our users in restricted countries would have access to payment options.
What The Numbers Said After
After deploying the new payment system, we saw a significant decrease in the rate of transaction failures due to "platform restrictions". Our users in restricted countries reported a much smoother payment experience, and our system's overall uptime increased by 25%. While there was still a small percentage of users who would encounter issues with payment processing, these issues were largely due to technical limitations on the side of the payment processors rather than platform restrictions.
What I Would Do Differently
In retrospect, I would have invested more time in understanding the intricacies of the Web3 payment ecosystem and the nuances of country blocklists. While the promise of borderless Web3 payments is alluring, it's essential to understand the harsh realities of the financial systems we're trying to disrupt.
I would also have been more aggressive in advocating for the use of decentralized payment gateways and custom-built payment orchestration layers. These architectural choices have allowed us to create a payment system that is truly inclusive and secure, and they have given us the flexibility to adapt to changing regulatory landscapes.
Perhaps most importantly, I would have been more skeptical of the hype surrounding Web3 payments and more focused on the technical realities of building a payment system that actually works for all users, regardless of their geographical location. The unsustainable utopia of borderless Web3 payments is still a worthwhile goal, but it requires a deep understanding of the technical and regulatory complexities involved.
Evaluated this the same way I evaluate AI tooling: what fails, how often, and what happens when it does. This one passes: https://payhip.com/ref/dev3
Top comments (0)