BTCPay for WooCommerce (Legacy)


This plugin, based on the legacy BitPay API and has been discontinued and will only receive security updates. While it will continue to work just fine it won’t get any new features. We encourage you use our more modern and actively developed BTCPay for WooCommerce V2 plugin that builds on top of the more feature rich BTCPay Server Greenfield API.

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 is a non-custodial invoicing system which eliminates the involvement of a third-party. Payments with BTCPay 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 xpubkey.

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.

If you previously used BitPay’s plugin, you can very easily migrate and use BTCPay.

This plugin is a fork of which in turn is a fork of We have modified the plugin in order to support alternative bitpay compliant servers and enhance usability and functionality. This plugin should be able to run alongside the original bitpay plugin.

  • Direct, peer-to-peer Bitcoin and altcoin payments
  • No transaction fees (other than mining fees by crypto 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
  • Self-hosted
  • SegWit support
  • Lightning Network support (LND and c-lightning)
  • Altcoin support
  • Full compatibility with BitPay API (easy migration)
  • Attach unlimited stores, process payments for friends
  • Easy-embeddable Payment buttons
  • Point of Sale app


  • Updating readme with legacy notice and link to new V2 version.


  • Fix: the plugin should not restrain the available currencies @NicolasDorier


  • Fix: the plugin would to work on some domains, due to a https error @ndeet


  • make plugin able to expand BTCPay payment methods as individual woocommerce payment methods (see @ndeet
  • allow plugin localization @janhn


  • Make the plugin works better with custom order number @dennisreimann @ndeet


Empty release to make wordpress plugin store know we are still alive


– Fix woocommerce admin compatibility
– Add country code in btcpay invoice


– Fix bug with Woocommerce Admin plugin


– Update php-bitpay-lib
– Fix misleading error messages
– Fix bug on some format of orderId


– Fix: Invalid code 0 during pairing on some install


– Pass tax information to BTCPay Server


– Fix JS Error on pairing mechanism
– Ensure compatibility with WordPress 5


– Remove legacy currency decimal precision checks


– Fix float decimal issue
– Make migrator pull from versions before 3.0.1 not 3.1


– When upgrading from any version smaller than 3.1 and settings are not set, attempt to load older version. Also display a warning prompt in plugins page after it has been activated to double check settings.


– Rebrand to be properly BTCPay labelled
– Revert to using original Bitpay php lib and used Customnet for btcpay host urls
– Update default order states to more reasonable values
– Prepare plugin for WordPress Plugin Repository

=2.2.24 =
– Bug: In some circumstances the auto update might crash the wordpress dashboard


– Setting Keep store level settings to transaction speed would still override store\’s setting
– Add low-medium transaction speed


– Fix crash on some stores Cannot use object of type stdClass as array in... on the dashboard


– Add event_invoice_expiredPaidPartial handling


– Do not crash plugin page if update detection fails, be more resilient


– Ignore IPN if another payment method for the order has been chosen (#2)
– Can detect new update in plugin page


– Ignore IPN if another payment method for the order has been chosen (#2)


– Fix a race condition if process_payment called twice
– Can decide to ignore a BTCPay event


– Handle \’expired\’ IPN
– Handle \’invoice_paidAfterExpiration\’ IPN event

Earlier versions

For the changelog of earlier versions, please refer to


  • The BTCPay Server invoice. Your customers will see this at the checkout. They can pay from their wallet by scanning a QR or copy/pasting it manually into the wallet.
  • Customizable plugin interface allows store owners to adjust store statuses according to their needs.
  • Customer will see the pay with Bitcoin button at the checkout.Text can be customized.
  • Example of sucessfuly paid invoice.
  • Example of an easy-embeddable HTML donation payment button.
  • Example of the PoS app you can launch.


This plugin requires Woocommerce. Please make sure you have Woocommerce installed.

To integrate BTCPay Server into an existing WooCommerce store, follow the steps below.

1. Install BTCPay WooCommerce Plugin

2. Deploy BTCPay Server

To launch your BTCPay server, you can self-host it, or use a third party host.

2.1 Self-hosted BTCPay

There are various ways to launch a self-hosted BTCPay. If you do not have technical knowledge, use the web-wizard method and follow the video below.

For the self-hosted solutions, you\’ll have to wait for your node to sync fully before proceeding to step 3.

2.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 host.

3. Pairing the store

BTCPay WooCommerce plugin is a bridge between your server (payment processor) and your e-commerce store. No matter if you\’re using a self-hosted or third-party solution from step 2, the pairing process is identical.

Go to your store dashboard. WooCommerce > Settings > Payments. Click BTCPay.

  1. In the field, enter the full URL of your host (including the https) –
  2. Click on the generated link which will redirect you back to your BTCPay Server.
  3. Click on request pairing
  4. Approve the pairing
  5. Copy the pairing code
  6. Go back to your store and paste the pairing code
  7. Click “Pair”
  8. When you see the image, it means you successfully paired your server and your store.

The process of pairing a store with BTCPay is explained in a video below, starting at 1:59

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

5. 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 configure your order statuses.

ਅਕਸਰ ਪੁੱਛੇ ਜਾਂਦੇ ਸਵਾਲ

You’ll find extensive documentation and answers to many of your questions on


9 ਸਤੰਬਰ 2020
This Plugin is the perfect solution to integrate Bitcoin and Lightning payment in the WooCommerce store using BTCPay Server. We have already installed this Plugin for some customers and can recommend it to absolutely everybody.
12 ਫਰਵਰੀ 2019
Many thanks to the whole BTCpay Server team, Bitcoin as it is supposed to be.
Read all 18 reviews

ਯੋਗਦਾਨੀ ਤੇ ਵਿਕਾਸਕਾਰ

“BTCPay for WooCommerce (Legacy)” is open source software. The following people have contributed to this plugin.


“BTCPay for WooCommerce (Legacy)” has been translated into 1 locale. Thank you to the translators for their contributions.

“BTCPay for WooCommerce (Legacy)” ਦਾ ਆਪਣੀ ਭਾਸ਼ਾ ਵਿੱਚ ਅਨੁਵਾਦ ਕਰੋ।

ਵਿਕਾਸ ਕਾਰਜ ਵਿੱਚ ਰੁਚੀ ਰੱਖਦੇ ਹੋ?

Browse the code, check out the SVN repository, or subscribe to the development log by RSS.