MyCryptoCheckout + WooCommerce + WordPress
In this week’s Digitorial, I set up DigiByte payments on a WordPress blog with MyCryptoCheckout. The whole process took about an hour, was free to test, and no coding was required. I will outline the process below and explain why I will not be using this as a payment method at this time, even though it did work as intended. These are all my personal experiences and opinions. Feel free to share your thoughts in the comments below.
I started with a random WordPress site with SSL.
From the wordpress dashboard I added and activated 2 plugins:
Plugin 1 – WooCommerce:
WooCommerce is a very popular plug and play ecommerce platform. There were a lot of variations of WooCommerce with add-ons, so I was sure to just download the basic version.
Plugin 2 – MyCryptoCheckout:
This one was harder to find from the “add new plugins” search results. I ended up searching the ‘mycryptocheckout’ without any spaces to find the correct plugin.
I would recommend familiarizing yourself with the product by reading through the site documentation before downloading.
While WooCommerce settings can likely be found on the left hand side of the WordPress dashboard, the MyCryptoCheckout (MCC) settings will need to be set up by clicking on the ‘installed plugins’ and then the settings of that plugin. From there, you can set up your wallet addresses, enable donations, and even give discounts to people using the crypto checkout option. Currently, the interface accepts over 70 different cryptocurrencies (you can control the currencies shown).
It was fairly straightforward to set up a product in WooCommerce. To connect MCC to your WooCommerce store, you simply choose it as an option in your payment settings.
During the checkout process, the user will be asked to select their currency and it will calculate the amount based on the USD price. If using a different fiat currency it will be converted to USD and then to crypto. There is even an option to have all prices shown in Bitcoin (in WooCommerce settings).
Once the order is placed, it will populate a QR code to the wallet and start a timer:
When the MCC system picks up that the payment has been received, the screen will change and the user will automatically receive emails pre-set in the WooCommerce settings.
While WooCommerce is free for the most basic version, MyCryptoCheckout has a fee of $59/year. There is an option to have 3 free transactions a month, which is great for setting up and trying out the system.
First Impressions: I was surprised how easy it was to set up the payments. Integration with WooCommerce is a brilliant way to leverage a more robust shopping cart. This is a true peer-to-peer payment system, there are no third parties touching the crypto. The API server is only there to detect when payment has been confirmed.
I wondered what would happen if two exact same orders with the same payment came in, how does the system know which order is which? The company has created a solution to this issue; here is what will they say will happen:
“Say an item, after currency conversion, costs 1 BTC. If someone purchases that item the amount, 1 BTC, will get reserved in the system. While waiting for the first transaction to come through, someone else buys the same item. That user will be told to pay 1.00000001 BTC. And while waiting for the two above transactions to come through, the next user will be told to pay 1.00000002 BTC. As soon as the transaction comes through the amount becomes freed. So the second user pays his 1.00000001 BTC. The next user will be offered that amount since 1 BTC is still reserved.”
Improvements I would like to see: I originally rounded up my order to make it easier and the system never detected the payment. In order for the API to register the payment, it has to be the exact amount.
I would also like to see the payment link reflect the amount required (as it does in the DigiByte mobile wallet) and not just the wallet address. If I were using this in a real store, I would be sure to include a warning about sending the exact amount shown. Also, when the order was received, it shown the amount I paid in my fiat currency but not DGB. It would be great to see the DGB amount with a DigiExplorer link.
The exchange rates between the MCC API and the DigiByte mobile wallet were exact, while the ledger desktop wallet was a bit higher. According to the documentation, Fiat currency rates are updated every 3 hours and cryptocurrencies every 15 minutes. There are many features that I didn’t explore, but I felt this was a great test overall.
Why I will not use this service at this time: I would not feel comfortable using this service right now because there is no way to whitelist wallet addresses. If someone gained access or hacked my WordPress account, they could simply replace the wallet addresses and all payments would be diverted. I contacted the company support about this, and although they were very responsive, they did not have any good advice to mitigate this issue. They replied that it would be inefficient for them to add two-factor authentication to whitelist addresses and security should be handled on a sitewide and server basis. They are correct, but I am not ready to take that risk.
Even though I won’t be using this service at this time, I did love the no fees and peer-to-peer nature of the checkout system. There are many different crypto gateways with different features and benefits; it important to do some research to find the gateway that fits your needs.
Written By Lisa M | DGBAT Writer