The problem with trying to sell digital products on arbitrary platforms is that they have gatekeepers.
We were trying to sell a SaaS product to customers in countries with high transaction fees, like India and Brazil. Stripe and PayPal had blocked our account citing "fiscal irregularities" and "currency exchange risks", effectively cutting us off from our customers. We needed a payment processor that would work around the world, without any restrictions.
We attempted to use the CoinPayments payment gateway, which is touted as the most flexible and decentralized payment processor on the market. It supported all major cryptocurrencies, including Bitcoin, and had a simple API to integrate with our existing checkout flow. Sounds perfect, right? Unfortunately, the reality was far from it.
We soon discovered that CoinPayments charged a staggering 3% + 0.25 EUR per transaction, which more than offset any potential savings from reduced transaction fees on Stripe. But it was even worse than that - the API documentation was woefully incomplete, and the support team was slow to respond to our questions. We were already working with a small team, and it's hard to justify the time spent debugging a new payment system when the customer base is already tiny.
The Architecture Decision
After much experimentation, we decided to pursue an architecture involving a custom-built Ethereum-based smart contract. This allowed us to completely remove the middleman (CoinPayments), and instead integrate the blockchain directly into our checkout flow. The catch? Our customers had to sign a meta-transactions-enabled Ethereum wallet, which was a barrier to entry for many of our users.
However, the resulting system allowed us to avoid the 3% + 0.25 EUR per transaction fee that CoinPayments charged. Plus, we gained far greater control over our payment processing stack, and were no longer beholden to a third-party payment gateway. But, and this is a big but, we had to give up the illusion of "support" that a payment gateway like CoinPayments provided. Our customers could now self-detect and correct any errors that occurred during the payment flow - a non-trivial task for most users.
What The Numbers Said After
When we switched to our Ethereum-based payment system, we initially saw a 12% drop in conversion rates due to the added complexity of our checkout flow. However, after implementing a dedicated support team to educate our customers on how to handle errors, we were able to recover some of this lost ground. Today, our users have a unique, transparent, and honest experience that few e-commerce systems can match.
What I Would Do Differently
In retrospect, I would have done even more to educate our users about the intricacies of blockchain payments before launch. The current system may be an improvement over the restrictive payment gateways, but it still requires a level of technical expertise that most of our customers don't possess. With more investment in educational resources and a simpler checkout flow, I believe we could have minimized the initial drop in conversion rates and created an experience that is both seamless and secure.
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)