ProductUser ExperiencePayments

Web3 applications are taking the world by storm, promising a decentralized future where users are in complete control of their digital lives. But as much as we love the idea of a trustless, peer-to-peer economy, there's one thing that's holding us back: payment methods.

Let's face it, Web3 payment methods can be intimidating. From setting up a wallet to dealing with gas fees, the process can be overwhelming for many users. But what if we could use the payment methods we're already familiar with from Web2?

That's right, we're talking about using traditional payment methods like credit cards, PayPal, and even Apple Pay in Web3 applications. It may sound crazy, but hear us out.

Traditional payment methods

First of all, using Web2 payment methods in Web3 apps would make the transition to decentralized finance much smoother for the average user. People are already familiar with these payment methods and trust them, so integrating them into Web3 apps would build trust and ease adoption.

How does it work?

Well, it's all about using payment gateways. Payment gateways are third-party services that act as a bridge between the user and the Web3 app. When a user wants to make a payment in the app, they would be redirected to the payment gateway's website where they can enter their payment information as they normally would.

There are two ways of implementing it: paying in cryptocurrency, or with FIAT.

1. Payment Gateway converts FIAT to Cryptocurrencies

The payment gateway would then handle the transaction on the backend, converting the user's payment into the appropriate cryptocurrency and sending it to the Web3 app. This way, the user doesn't have to worry about setting up a wallet or dealing with gas fees, and the Web3 app can still accept cryptocurrency payments.

Pros:

  • Easier to build: you only have to build support for Web3 payment methods, leaving everything else to the Payment Gateway (fraud checks, credit card support, etc.).

Cons:

  • Higher running costs: The exchange rate is fully in control of the payment gateway, increasing costs.
  • Inmature solution: There is still limited support for this type of bridged payment method.

An example of a payment platform working this way is Crossmint, which has a very good and simple SDK to integrate with your Web3 apps. They use Stripe for card payments and require a function in your smart contract to process payment requests.

2. Payment Gateway or Provider working with FIAT

This is the more traditional payment method and has the typical advantages of using a payment provider instead of a payment platform.

They don't understand cryptocurrency payments at all, so a bridge has to be built between those payments and blockchain integration.

The flow in this case is:

  • A user pays for a Web3 product using a platform like PayPal, Stripe, or integrating directly with certain card payment providers.
  • Once the payment is confirmed, the user can receive the goods in their wallet. If they don't have one yet, there are multiple ways to help them that we won't cover in this post (custodial wallets, 3rd party wallet providers...)
  • The payment process can be split into two steps: Authorize and Capture. Authorization allows for the money to be blocked in the customer's card, but we don't have to capture it until we confirm the Web3 product has been delivered successfully to them, making refunds much easier.

Pros:

  • Reduced fees: a more complex payment platform is not needed.
  • Traditional integration: You may be able to use simple mechanisms for payment reconciliation, billing, etc. that you have already used previously and have been around for years.

Cons:

  • Complex integration: it requires a substantial investment in software development and maintenance. You are creating payment infrastructure after all.

Conclusion

The easiest way to implement payments in Web3 is no doubt using the native currency of the blockchain you're building on, since they have native support for payments. However, this creates friction for the user. We can take steps towards improving that experience by providing more cryptocurrencies for payment (MATIC, USDC, DAI, EURT), or take it even further and allow traditional payment methods too.

Of course, payment gateways are centralized, which goes against the principles of decentralization that Web3 is built on.

But at the end of the day, we have to ask ourselves: what's more important, complete decentralization or user adoption? If we want Web3 to reach its full potential, we need to make it accessible to everyone. And if that means using Web2 payment methods in the short term, so be it.

The level of decentralization on payment methods is a customer's choice. In the same way, we're allowed to pay with cash or card, Web3 decentralized payment methods should be just another option available to customers.

Let us know what you think!

Would you like to hear more about a specific topic mentioned in the article? Do you want to share your experience? Join the conversation on Twitter!