BTCPay Server is a free and open-source cryptocurrency payment processor which allows you to receive payments in Bitcoin and altcoins directly, with no fees, transaction cost or a middleman.
BTCPay Server is a non-custodial invoicing system which eliminates the involvement of a third-party. Payments with BTCPay WooCommerce Plugin go directly to your wallet, which increases the privacy and security. Your private keys are never uploaded to the server. There is no address re-use since each invoice generates a new address deriving from your xPub key.
You can run BTCPay as a self-hosted solution on your own server, or use a third-party host.
The self-hosted solution allows you not only to attach an unlimited number of stores and use the Lightning Network but also become the payment processor for others.
- Direct, peer-to-peer Bitcoin and altcoin payments
- No transaction fees (other than mining fees by cryptocurrency network itself)
- No processing fees
- No middleman
- No KYC
- User has complete control over private keys
- Enhanced privacy (no address re-use, no IP leaks to third parties)
- Enhanced security
- SegWit, Taproot support
- Lightning Network support (LND, c-lightning and Eclair)
- Altcoin support
- Attach unlimited stores, process payments for friends
- Easy-embeddable Payment buttons
- Point of Sale app
This plugin requires WooCommerce. Please make sure you have WooCommerce installed.
To integrate BTCPay Server into an existing WooCommerce store, follow the steps below or check our official installation instructions.
1. Deploy BTCPay Server (optional)
This step is optional, if you already have a BTCPay Server instance setup you can skip to section 2. below. To launch your BTCPay server, you can self-host it, or use a third party host.
1.1 Self-hosted BTCPay
For the self-hosted solutions, you will have to wait for your node to sync fully before proceeding to step 3.
1.2 Third-party host
Those who want to test BTCPay out, or are okay with the limitations of a third-party hosting (dependency and privacy, as well as lack of some features) can use a one of many third-party hosts.
The video below shows you how to connect your store to such a host.
2. Install BTCPay WooCommerce Plugin
BTCPay WooCommerce plugin is a bridge between your BTCPay Server (payment processor) and your e-commerce store. No matter if you are using a self-hosted or third-party solution from step 1., the connection process is identical.
You can find detailed installation instructions on our WooCommerce documentation.
Here is a quick walk through if you prefer a video:
3. Connecting your wallet
No matter if you’re using self-hosted or server hosted by a third-party, the process of configuring your wallet is the same.
4. Testing the checkout
Making a small test-purchase from your own store, will give you a piece of mind. Always make sure that everything is set up correctly before going live. The final video, guides you through the steps of setting a gap limit in your Electrum wallet and testing the checkout process.
Depending on your business model and store settings, you may want to fine tune your order statuses.
Contributors & Developers
“BTCPay for WooCommerce V2” is open source software. The following people have contributed to this plugin.Contributors
Interested in development?
2.3.0 :: 2023-09-06
- Support for high performance order storage (HPOS)
Note: This is opt-in but brings performance improvements. Follow instructions here if you want to use it.
2.2.3 :: 2023-08-22
- Automatically create webhook after redirect.
2.2.2 :: 2023-08-22
- Fix edgecase JS error on payment method selection.
2.2.1 :: 2023-08-17
- Add tooltip with webhook callback information
2.2.0 :: 2023-08-17
- Refactor settings UI and allow manual webhook secret entry. This allows 3rd party integrators limit their API keys scope and not include the webhook permission.
2.1.0 :: 2023-04-03
- New feature: Modal / Overlay checkout mode (no redirect to BTCPay Server)
2.0.0 :: 2023-03-20
- New feature: Add support for refunds.
Note: If you are upgrading from a version < 2.0 and you want to use refunds (via pull payments) you need to create a new API key with the “Create non-approved pull payments” which is available from BTCPay Server version 1.7.6.
See this link for more information: https://docs.btcpayserver.org/WooCommerce/#create-a-new-api-key
If you do NOT use refunds. You do NOT need to do anything, your existing API key and setup will continue to work as before.
Changelog of older releases can be found here