How to accept crypto payments
Last updated
Last updated
Unlike traditional payment methods, cryptocurrency payments involve customers using their wallets to push payments directly to the merchant. This involves specifying the destination address and cryptocurrency amount beforehand, in order to initiate the payment transfer.
Münzen provides 2 different ways of accepting cryptocurrency payments: channels and invoices.
There are 2 typical ways to accept crypto payments: channels and invoices. But what is the difference and how to choose the right way? Let's dive in!
Channel is a permanent crypto address for your customer. All incoming deposits to this address will be converted into the specified currency and deposited to the customer's balance.
Here is how channels work:
The customer specifies a cryptocurrency for payment
We create a channel: allocate a permanent crypto address
The wallet address is shown to the customer
The customer can send any amount to this address and it will be converted to the payment currency and credited to the customer's balance
The customer can use this address multiple times at any time with any time intervals
An invoice is a generated invoice with a fixed amount and address. Once the invoice is paid, we mark it as completed and release this crypto address. Every invoice has an expiration date with its exchange rate. You should generate a new invoice every time you want your customer to pay.
For example, you want your customer to pay you $100. The customer choose cryptocurrency payment method and wants to pay with BTC. You create an invoice with our API and retrieve a BTC amount and BTC address which you will show to the customer. We also freeze the exchange rate to USD–BTC pair for 10 minutes.
Here is a complete step-by-step process for invoices:
The customer specifies a currency (fiat or crypto) and the amount in this currency which should be credited to the balance
The customer selects a cryptocurrency for payment
We create an invoice: freeze the exchange rate for 10 minutes, allocate a crypto address for this invoice
Wallet address, amount, and remaining time are shown to the customer
Since the payment was completed, the customer received the indicated amount on his balance
Since you choose between Invoices and Channels, you can also use our widgets or white-label integration.
This type of integration implies that you will use your own front end and will communicate with our API directly from your backend. This way gives you more flexibility but takes more time to implement.
These are the minimum steps you have to do:
Choose between channels or invoices (or use both)
Ask the customer about the payment currency and the amount
Send API request to create a channel or an invoice
Show the cryptocurrency address to the customer
Receive and process a webhook after the customer's payment
You can integrate our widget to reduce the time of integration. We implement the best UX for your customers to help them choose payment options and then pay by cryptocurrency.
In this way you should implement the following things:
Initialize the payment widget and pass predefined parameters inside
Create a callback handler on your backend to process our callbacks (webhooks) with your customers' payment
Read more about invoices and how they work in the section