How to implement Confirmo crypto solutions
Confirmo offers merchants and businesses a comprehensive dashboard for managing and optimizing the specifics of accepting cryptocurrency payments. This article is an in-depth explanation of these features and contains how to set them up. Once you have created and verified your account, you can start using our service to the maximum!
What is a cryptocurrency invoice?
Let’s start from the very beginning: generally, an invoice is a payment request document. It is created by the party requesting the payment (a seller, business or contractor) and is delivered to the party which is to pay (a buyer, customer or client), contains a unique identifier, and information about the transaction to take place – the amount to be paid, where the payment is to be sent, and what product or service the payment is for.
Cryptocurrency invoices most commonly use QR codes for condensing the “where” and “how much” into a simple, scannable format that works well on mobile devices and computer screens. The information will always contain at least the wallet address of the recipient, and can also contain a pre-set amount to be paid. Upon scanning this QR code, most wallet applications will then automatically fill out this information, only for you to authenticate the transaction – just like QR payments in the banking apps of today. Confirmo’s invoices offer several advanced features to make accepting crypto in a business easier.
With Confirmo invoices, you can choose the currencies in which they will be paid, displayed and received. This gives you a great deal of flexibility – although you will first select which of the supported cryptocurrencies you accept for payments, your customers will also appreciate seeing the price denominated in fiat, especially if your site shows prices in fiat currencies, or if accepting a more volatile cryptocurrency which makes it difficult to calculate the market price. Finally, you may choose to receive a currency different from the one you accept with our automatic conversion feature.
Confirmo crypto invoices
When your customer chooses to pay you in crypto (be it through an API request, payment button or link in an e-mail payment request), they will be shown the currencies you have enabled for the specific invoicing method. Once they have made their choice, the invoice is created with its unique URL and deposit address. With every invoice status change, a webhook notification is sent to your server if you have set it up. If you’re implementing our payment gateway into your checkout flow, you can find ready-to-use payment button designs in SVG format here.
Once the invoice is created, it becomes payable until it expires. The payment must be broadcasted to the cryptocurrency’s network during this window, and the correct amount has to be sent. When all goes smoothly, the invoice is marked as paid after the payment has been confirmed on the blockchain (this can also take place after the invoice has expired). A webhook notification is sent to your server, and the received amount is converted to your set currency and stored in your Confirmo balance. This is the ideal scenario, and Confirmo offers you solutions to every possible exception.
Invoice exceptions
- Expiration: the customer pays an expired invoice.
- Underpayment: the customer sends less than was requested.
- Overpayment: the customer sends more than was requested.
If the end user broadcasts the payment to an invoice that has expired or sends less or more than was requested, the invoice becomes refundable. This can be done on the invoice’s page accessible via its URL. Please note that for this process, the same device and browser have to be used to refund the payment, as the information is stored in cookies.
If this fails, you can provide your customer with an unrestricted refund link, which can be viewed in the invoice detail in your Confirmo account – simply click Refund link.
Finally, you can also choose to accept and claim the payment by clicking the Resolve button in the invoice detail in your Confirmo account. The current exchange rate will be displayed to you and has to be confirmed. After that, the amount will be converted and stored in its respective balance in your account.
You can manage exceptions easier using the Show exceptions first filter in the Invoices overview. However, the number of exceptions can be decreased by managing your invoice settings.
Invoice settings
The Invoice settings menu allows you to customize certain key aspects of your invoices to best suit your business needs. There is no one perfect setting for these parameters for every business – we recommend that you experiment with them to allow your customers some flexibility.
Confirmo invoices have a default timeout of 15 minutes for invoices to be received in fiat currency, and 30 minutes for invoices to be received in cryptocurrency. You can adjust these periods if you find that your clients often fail to pay invoices within the default timeframe.
You can also enable Automatic expiration prolonging, which extends the timeout every 5 minutes automatically, up to a maximum of 12 prolongings to make an invoice timeout after 60 minutes.
Invoice expiration
Once opened by your customer, the invoice’s time-out window begins. During this time, the exchange rate is affixed to ensure you receive the exact requested amount – even if the exchange rate changes. This is effective protection from crypto volatility. The payment needs to be broadcasted (dispatched for confirmation on the blockchain, in simple words sent) during this period in order for the invoice to be marked as paid. The actual confirmation may and can happen later and this does not lead to invoice exceptions.
Underpaid invoices
You can set invoices to be recognized as paid even during an underpayment, such as when your customer sends an amount lower than was requested. This can happen due to fees when a payment is broadcasted, or if your customer simply sends an incorrect amount.
You can set a threshold to accept underpaid invoices automatically – as a percentage, or a fixed amount in fiat currency. Let’s take a look at why you might want to do that.
We recommend leaving a small percentual margin for error, such as 99.5%, and set the maximum fiat underpayment to, for example, 0.5 EUR. This will allow payments underpaid by single cents to still go through, while preventing losing considerable amounts of money when accepting a 0.5% underpayment on a large payment.
On the other hand, cryptocurrency transaction fees can make the refunding of small payments problematic, so setting up a flexible approach can improve both your and your customers’ experience. You can set the exact thresholds yourself, and there is no one perfect setting – we recommend that you experiment with them and see what works best for your business.
Overpaid invoices
As with underpayments, you can choose the behavior of invoices when your customer sends more than was requested. While this may not make so much sense for businesses with fixed-price goods like retail or e-commerce, it can be very helpful for platforms such as Forex brokers or iGaming platforms, where end-users regularly top up a balance. This is because if your client sends more funds than originally requested, you can simply add it to their balance accordingly. By default, overpaid amounts are refundable, but you can choose to have overpayments credited to your balance, and also set a limit to the maximum credited overpayment.
Refunds and transaction fees
Refunds
Confirmo processes refunds in batches four times a day. After requesting a refund, the situation will be typically sorted out within hours. The address for receiving the refund and the transaction ID of the successful refund can be both found on the invoice in your Confirmo dashboard. This means you can provide your customer with proof about the refund’s successful conclusion.
Transaction fees
Confirmo invoices include fixed transaction fees because they make the entire experience much smoother. When you request only the amount and let your customer add a fee to the payment (a setting most wallets do not even allow), payments often result in being of an incorrect amount, typically an underpayment. This leads to additional work with refunds and increased costs. As cryptocurrency transaction fees grow, our fixed average fee saves both you and your client time and money.
In conclusion
As you can see, all exceptions can be resolved manually or prevented automatically. In the rarest cases when the client pays in some exotic currency not on our currency list and in case it land on our invoice address, we can attempt manual recovery upon request. For such recovery, our wallet must be able to process the payment. Also, as it is a meticulous and often costly process, we charge 10% (20 USD minimum) off the refunded amount as recovery fee. These are requested and resolved through [email protected]. To request such a recovery, please provide the invoice URL, payment TXID as a link to a blockchain explorer, and an address to eventually refund the funds to.