You already run an online store and use WooCommerce? Then you can very easily accept Bitcoin payments in your WooCommerce online store.
Either you operate your own BTCPay server or you use an already existing BTCPay server. Coincharge offers this free shared use. You can create your own BTCPay store at https://btcpay.coincharge.io, which you then connect to your WooCommerce store.
After you have preset the BTCPay store, in this post you will learn how to extend your WooCommerce online store accordingly to accept Bitcoin payments.
Bitcoin WooCommerce Plugin
With Bitcoin WooCommerce plugin from BTCPay Server you can accept Bitcoin payments. On this page we explain how to install the Bitcoin plugin for WooCommerce on your WordPress site to accept Bitcoin payments.
Install Bitcoin Plugin on WooCommerce
In the first step, you need to install and activate the WooCommerce online store on WordPress via the Plugins section.
Under Settings you will find the standard payment methods in the Payments section.
To add Bitcoin as another payment method, you need to add the Bitcoin plugin as another plugin.
To do this, go to the Worpress settings on WordPress > Plugins > Add New
There you enter “BTCPay for WooCommerce” in the search. Then the Bitcoin plugin from BTCPay shown above will appear and click “Install Now“.
You can also download the BTCPay Bitcoin WooCommerce plugin directly from the BTCPay Server Github page. You can find the latest version at:
Then you save the file with the name btcpay-for-woocommerce.zip in the current version on your local computer and install it on WordPress under Plugins.
WooCommerce Payment Settings
After the BTCPay WooCommerce plugin has been installed and activated, you will now find BTCPay Bitcoin under WooCommerce >Settings >Payment next to the previous payment methods.
You click on “Set up” and the following page opens:
In the Title field, type the word “Bitcoin”. This is the name that the customer receives when choosing the payment methods available in the store.
In the field “Customer Message” is the message, which the buyer will receive, how to proceed with the payment.
BTCPay API Token / Paring Code
To connect the WooCommerce store with its BTCPay store, an API token is required. For this it is necessary to have prepared a store on your BTCPay server.
If you run your own BTCPay server, then the url is e.g. https://btcpay.meine-domain.de
If you have set up a store on Coincharge’s demo BTCPay server, then you need to enter https://btcpay.coincharge.io:
Then click on the link that appears after the text “Get a pairing code”.
You will then be taken to the login page of the BTCPay server. If you already have an account, then log in. If you don’t have an account yet, create one.
How to do this, you will learn in the article: “BTCPay Shop setup“.
If you have created a BTCPay store on the BTCPay server and are logged in on the server, then you will see after clicking on the link:
Get a pairing code: https://btcpay.coincharge.io/api-tokens
See the following page:
We had given the store the name Coincharge and click Request Pairing.
After that another window opens with Pairing Permission.
You will get to the following page:
The code is displayed in the dark green bar. You can’t see it very well, unfortunately, because the font is almost the same color as the bar.
But you see a text “Server initiated pairing code:” and behind it a code of 7 upper and lower case letters. Copy and paste this pairing code on the WooCommerce page under API Token and Pairing Code.
After that, click Pair and if everything went as it should, you will see the following picture:
The other settings on the WooCommerce Payment Settings page can be configured according to individual requirements.
The settings made for the BTCPay Store on the BTCPay Server will be applied.
In the Order States field the order status is processed.
Depending on your business model and store settings, you can configure the order status.
- New Order – Order has been placed but not yet paid.
- Paid – Order paid but not yet confirmed on the blockchain.
- Confirmed – Order paid and confirmed by the blockchain.
- Complete – Completely completed – order paid, confirmed on the blockchain and sufficient number of confirmations (Confirmation) received.
- Invalid – order paid but did not receive the sufficient number of confirmations within the predefined time frame set in the BTCPay settings.
- Expired – Invoice expired, order not paid
- Paid after expiration – Invoice was paid after the time had expired.
- Expired with partial payment – Expired after partial payment.
You should take some time to consider how to automate each status.
Because a certain BTCPay status can trigger an order status in WooCommerce.
As a merchant, you want to notify a customer via email when payment has been received. Should this message occur when the payment is “on its way” (0 Confirmation), has been processed by the blockchain (1 Confirmation), or already has multiple confirmations (6 Confirmation).
When does the dealer start processing? If it is a digital product, then delivery is immediate. For a physical product, postal shipping may not occur until the next day.
So, if a merchant wants to inform the customer that the payment is successfully on its way, but does not want to provide the service until the payment is confirmed by the blockchain, then the merchant needs to set the “order status paid” to “on hold”.
This would require the merchant to customize and trigger the email for the “on hold” status of the order in WooCommerce.
You can only find the perfect formula for your individual requirements by trying it out.
Customer view in store
Once the end customer has specified his delivery address, the selection of available payment methods appears.
Bitcoin will then also be listed there as a payment method:
Der Textblock „You will redirected to BTCPay Payment Page to complete your purchase“ kannst Du anpassen. You do this in the settings of the WooCoomerce BTCPay plugin.
proceed to BTCpay
Then there is the button “proceed to BTCpay”.
Most end customers will not be able to do much with BTCPay. In order not to confuse these customers, we have changed the text to “proceed to Bitcoin”.
For this we need to go to the file server in the directory where the BTCPay WooCommerce plugin is placed.
Das befindet sich in: / httpdocs / wp-content / plugins / btcpay-for-woocommerce /
and there we have to edit the file: class-wc-gateway-btcpay.php edit.
We open the file and look for the phrase “proceed to BTCpay” and change the text to “proceed to Bitcoin” and save the file.
When the end customer clicks on the proceed to Bitcoin button in the store, the Bitcoin payment window opens. You can learn how to customize the Bitcoin payment window at: Create Bitcoin Checkout Page for BTCPay.
How to administrate the settings of the BTCPay Shop, you can find in the article “Administrate BTCPay Shop“.
Other than that, all you have to do is fill the WooCommerce store with products and wait for customers who want to pay with Bitcoin.
To advertise your new store, you should list the Bitcoin store on Coinpages. Coinpageslists all German-language stores that accept Bitcoin and other cryptocurrencies. You can register there for free. The direct link to the entry Coinpages Add Listing
In the post presented here, we explained how your WooCommerce online store was linked to a BTCPay store to accept Bitcoin payments. If you are using a third party store, such as is the case with the demo store at https://btcpay.coincharge.io, then you will not be able to receive Lightning payment. This is only possible if you run your own BTCPay server.
Don’t want to implement Bitcoin and Lightning payment methods yourself and let Coincharge do the implementation?
For a one-time fee of €249,- we implement Bitcoin into your WooCommerce online store:
Accept Bitcoin payment
€249,00 – €449,00
Bitcoin integration in your online store
- Install Bitcoin payment plugin in online store
- Setting up a BTCPay Store on the BTCPay Server
- Configuration of the BTCPay Store
- Deposit Bitcoin address (xPub key) of the store owner
- Creation Bitcoin payment page in store design
- Connecting the online store with the BTCPay Store
- Activation Bitcoin as a payment method
Bitcoin integration in your online store
Accept Bitcoin and Lightning payment in your own online store.
We integrate Bitcoin and Lightning payments into your online store and provide the following services for it:
Installation Bitcoin payment in online store
The corresponding Bitcoin plugin or software is installed in the online store.
Setting up a BTCPay Store on the BTCPay Server
We set up a BTCPay store on the BTCPay server of your choice. You can use Coincharge’s BTCPay server at no extra cost or use your own BTCPay server.
If you do not have your own BTCPay server, LunaNode can set up a BTCPay server for you.
Configuration of the BTCPay Store
A BTCPay store is set up on the BTCPay server and adjusted based on the individual requirements of the online store.
Deposit Bitcoin address (xPub key) of the store owner
In the BTCPay store on the BTCPay server the Bitcoin address of the store owner is stored as xPub key. Thus, all incoming Bitcoin are credited directly to the store owner’s own Bitcoin wallet.
Creation Bitcoin payment page in store design
The payment page for the customer is customized in the design of the online store.
Connecting the online store with the BTCPay Store
The online store is connected to the BTCPay store on the BTCPay server so that the systems can interact with each other.
Activation Bitcoin as a payment method
Activation and enabling of the Bitcoin and Lightning payment method in the online store.
For the use of the BTCPayServer, corresponding store modules are available for the following store software:, Shopify, Drupal, Magento, PrestaShop, ShopWare, API connection