How to accept crypto payments

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.

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!

Channels

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.

Read more about channels and how they work in the Channels section

Here is how channels work:

  1. The customer specifies a cryptocurrency for payment

  2. We create a channel: allocate a permanent crypto address

  3. The wallet address is shown to the customer

  4. 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

  5. The customer can use this address multiple times at any time with any time intervals

Invoices

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.

Read more about invoices and how they work in the Invoices section

Here is a complete step-by-step process for invoices:

  1. The customer specifies a currency (fiat or crypto) and the amount in this currency which should be credited to the balance

  2. The customer selects a cryptocurrency for payment

  3. We create an invoice: freeze the exchange rate for 10 minutes, allocate a crypto address for this invoice

  4. Wallet address, amount, and remaining time are shown to the customer

  5. Since the payment was completed, the customer received the indicated amount on his balance

Widget and API (white-label way)

Since you choose between Invoices and Channels, you can also use our widgets or white-label integration.

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:

  1. Choose between channels or invoices (or use both)

  2. Ask the customer about the payment currency and the amount

  3. Send API request to create a channel or an invoice

  4. Show the cryptocurrency address to the customer

  5. Receive and process a webhook after the customer's payment

Payment Widget

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:

  1. Initialize the payment widget and pass predefined parameters inside

  2. Create a callback handler on your backend to process our callbacks (webhooks) with your customers' payment

Last updated