Skip to content

We're upgrading our operations to serve you better. Orders ship as usual from Laval, QC. Questions? Contact us

Bitcoin accepted at checkout  |  Ships from Laval, QC, Canada  |  Expert support since 2016

BTCPay Server + WooCommerce: The Sovereign Merchant’s Guide to Accepting Bitcoin
Bitcoin Education

BTCPay Server + WooCommerce: The Sovereign Merchant’s Guide to Accepting Bitcoin

· D-Central Technologies · ⏱ 12 min read

Last updated:

If you run a business and you are not accepting Bitcoin, you are leaving sovereignty on the table. Every payment that flows through Visa, Mastercard, or PayPal passes through intermediaries who can freeze your funds, reverse transactions, and surveil your customers. BTCPay Server eliminates every single one of those middlemen. Combined with WooCommerce, it gives you a self-custodial, censorship-resistant payment stack that you fully control — no permission required.

At D-Central Technologies, we run our own WooCommerce store on BTCPay Server. We accept Bitcoin for everything from Bitaxe solo miners to Bitcoin Space Heaters to ASIC repair services. This is not theoretical advice — this is battle-tested infrastructure we deploy every day to serve thousands of home miners across Canada and worldwide.

This guide walks you through why BTCPay Server is the only payment processor worth running, how to integrate it with WooCommerce step by step, and how to harden your setup for production use.

Why BTCPay Server? Because Your Keys, Your Commerce

BTCPay Server is an open-source, self-hosted Bitcoin payment processor. No third party touches your funds. No KYC requirements. No transaction fees taken by the payment processor. Payments go directly from your customer’s wallet to yours — peer-to-peer, as Satoshi intended.

Here is why this matters for any business that takes sovereignty seriously:

  • Zero processor fees — BTCPay charges nothing. You only pay the Bitcoin network mining fee, which your customer covers.
  • Self-custodial — Your private keys never leave your server. No custodial risk. No exchange counterparty risk.
  • Censorship-resistant — No payment processor can deplatform you, freeze your account, or reverse a settled transaction.
  • Privacy-preserving — BTCPay generates a new address for every invoice. No address reuse. No data harvesting.
  • Lightning Network support — Accept instant, near-zero-fee payments over Lightning for a seamless checkout experience.
  • Open-source and auditable — The entire codebase is on GitHub. No black boxes. No trust required — verify everything.

Compare this to custodial processors like BitPay, which require KYC, charge processing fees, can freeze your funds, and have historically censored certain merchants. BTCPay Server is the antithesis of that model. It is the cypherpunk answer to payment processing.

BTCPay Server vs. Custodial Payment Processors

Before diving into the integration, let us be absolutely clear about why self-custody matters for your business payments. The following table breaks down the fundamental differences:

Feature BTCPay Server Custodial Processors (BitPay, etc.)
Custody Self-custodial — your keys, your coins Third-party holds your funds
Processing Fees Zero (only network mining fees) 1-3% per transaction
KYC Required No Yes — full identity verification
Censorship Risk None — you control the server Can freeze accounts, block merchants
Lightning Support Full (LND, CLN, Eclair) Limited or none
Privacy New address per invoice, no data collection Transaction surveillance, shared data
Open Source Fully open-source (MIT license) Proprietary / closed-source
Chargeback Risk Zero — Bitcoin transactions are final Processor can reverse settlements

The choice is clear. If you believe in Bitcoin’s core value proposition — censorship resistance, self-sovereignty, peer-to-peer transactions — then a custodial payment processor contradicts everything you stand for. BTCPay Server is the only option that actually respects the protocol.

What You Need Before Starting

Before you begin the integration, make sure you have the following infrastructure ready:

Requirement Details
WordPress + WooCommerce WordPress 6.x with WooCommerce 8.x or later installed and configured
BTCPay Server Instance Self-hosted (VPS, dedicated server, or Raspberry Pi) or third-party hosted (Voltage, LunaNode)
Bitcoin Wallet xpub from a hardware wallet (Coldcard, Trezor, Ledger) configured in BTCPay
SSL Certificate HTTPS required for both your WooCommerce store and BTCPay Server
Domain Name Dedicated subdomain for BTCPay (e.g., btcpay.yourdomain.com)

Pro tip from our workshop: We strongly recommend using a hardware wallet (Coldcard is the gold standard) and importing only the xpub key into BTCPay. Your private keys never touch the server. This is non-negotiable for production use.

Step-by-Step: Integrating BTCPay Server with WooCommerce

Step 1 — Deploy Your BTCPay Server

You have several deployment options. Choose based on your technical comfort level:

  • LunaNode (one-click deploy) — Fastest option. LunaNode offers a one-click BTCPay Server deployment. You get a VPS with BTCPay pre-configured in under 10 minutes.
  • Voltage — Managed Lightning + BTCPay hosting. Good if you want Lightning without managing the node yourself.
  • Self-hosted VPS — Full control. Spin up a VPS (minimum 2GB RAM, 80GB+ SSD for pruned node), install Docker, and run the BTCPay deployment script.
  • Raspberry Pi / Home server — Maximum sovereignty. Run everything on hardware you physically control. Projects like Umbrel and Start9 make this straightforward.

For the self-hosted route, the deployment is a single Docker command:

# Clone and launch BTCPay Server
git clone https://github.com/btcpayserver/btcpayserver-docker
cd btcpayserver-docker
export BTCPAY_HOST="btcpay.yourdomain.com"
export NBITCOIN_NETWORK="mainnet"
export BTCPAYGEN_CRYPTO1="btc"
export BTCPAYGEN_LIGHTNING="clightning"
export BTCPAYGEN_REVERSEPROXY="nginx"
. ./btcpay-setup.sh -i

Once deployed, access your BTCPay Server dashboard, create a store, and connect your wallet by importing your hardware wallet’s xpub key.

Step 2 — Install the BTCPay for WooCommerce V2 Plugin

  1. In your WordPress admin dashboard, navigate to Plugins > Add New.
  2. Search for “BTCPay for WooCommerce V2” — this is the official, actively maintained plugin.
  3. Click Install Now, then Activate.
  4. Navigate to WooCommerce > Settings > Payments and enable BTCPay Server.

Step 3 — Connect WooCommerce to Your BTCPay Server

  1. In the BTCPay payment gateway settings within WooCommerce, enter your BTCPay Server URL (e.g., https://btcpay.yourdomain.com).
  2. Click “Generate API Key” — this redirects you to your BTCPay Server to authorize the connection.
  3. On BTCPay Server, approve the requested permissions (create invoices, view invoices, manage store).
  4. The API key auto-populates back in WooCommerce. Click Save Changes.

Step 4 — Configure Payment Settings

Once connected, configure these critical settings in WooCommerce > Settings > Payments > BTCPay Server:

  • Order states mapping — Map BTCPay invoice states (New, Paid, Confirmed, Complete) to WooCommerce order statuses (Pending, Processing, Completed).
  • Payment speed — Set confirmation requirements. “High speed” (0-conf) for small orders, “Medium” (1 confirmation) for standard, “Low” (6 confirmations) for high-value orders.
  • Invoice expiration — Default is 15 minutes. We recommend keeping this or extending to 30 minutes for larger orders.
  • Lightning Network — If your BTCPay instance has Lightning configured, it is automatically offered at checkout alongside on-chain payments.

Step 5 — Test the Integration

Before going live, run test transactions:

  1. Place a test order on your WooCommerce store and select Bitcoin as the payment method.
  2. Verify the BTCPay invoice page loads correctly with both on-chain and Lightning payment options.
  3. Complete a small real payment to confirm the full flow: invoice creation, payment detection, order status update.
  4. Check that the payment arrives in your connected wallet.

Lightning Network: The Game Changer for E-Commerce

On-chain Bitcoin transactions are settled and final, but they take time — typically 10-60 minutes for confirmations. For e-commerce, especially for smaller purchases like mining accessories and parts, this can create friction.

The Lightning Network solves this completely. Lightning payments settle in seconds, cost fractions of a cent in fees, and are natively supported by BTCPay Server. When a customer checks out, the BTCPay invoice page shows both an on-chain Bitcoin address and a Lightning invoice — the customer chooses their preferred method.

For a mining hardware store like D-Central, Lightning is particularly powerful. A customer buying a Bitaxe heatsink for $15 CAD can pay over Lightning and have the transaction confirmed before they close the browser tab. No chargebacks. No processing fees. No intermediaries. Just peer-to-peer value transfer at the speed of light.

Security Hardening for Production

Running a payment server is serious business. Here is our recommended security checklist — the same practices we follow at D-Central:

  • Hardware wallet only — Never generate a hot wallet on BTCPay for production use. Import your Coldcard or Trezor xpub. Your private keys stay on the hardware device.
  • SSH key authentication — Disable password authentication on your BTCPay VPS. Use SSH keys only.
  • Firewall configuration — Only expose ports 80, 443, and 9735 (Lightning). Block everything else.
  • Automatic updates — BTCPay’s Docker deployment includes an auto-update mechanism. Enable it.
  • Regular backups — Back up your BTCPay data directory, especially the Lightning channel database. A lost channel database means lost funds.
  • Tor hidden service — BTCPay supports Tor out of the box. Enable it for an additional privacy layer.
  • Two-factor authentication — Enable 2FA on your BTCPay admin account. Non-negotiable.

Operational Best Practices

Wallet Management

BTCPay derives a new Bitcoin address for every invoice from your xpub key. This means you never reuse addresses — which is critical for privacy. However, it also means you need to monitor your wallet gap limit. If you generate many invoices that go unpaid, your wallet software might not scan far enough ahead to find your actual balance. Most modern wallets handle this well, but keep it in mind.

Accounting and Tax Compliance

BTCPay Server provides detailed export functionality. You can export all invoices as CSV with timestamps, amounts in both BTC and fiat, payment method (on-chain vs. Lightning), and order references. For Canadian businesses, this data feeds directly into your CRA reporting obligations. We recommend exporting monthly and reconciling with your WooCommerce orders.

Handling Refunds

Bitcoin transactions are irreversible — that is a feature, not a bug. For refunds, BTCPay Server has a built-in refund mechanism where you can issue a refund to a customer-provided address. The key difference from fiat: you initiate the refund manually and choose the exchange rate (original rate or current rate). Build clear refund policies into your store terms.

Monitoring and Uptime

Your BTCPay Server must be online for invoices to be created and payments to be detected. Set up uptime monitoring (UptimeRobot, Hetrix, or similar) and configure email alerts for downtime. If your BTCPay instance goes down during a customer checkout, the payment will fail — and you lose the sale.

Why D-Central Runs BTCPay Server

We are Bitcoin Mining Hackers. We take institutional-grade mining technology and hack it into accessible solutions for home miners across Canada and worldwide. That same hacker ethos applies to our payment infrastructure.

We do not ask permission from payment processors to sell mining hardware. We do not hand over 3% of every transaction to Stripe. We do not risk having our merchant account frozen because some compliance officer does not understand Bitcoin mining equipment.

We run our own BTCPay Server because it aligns with everything we believe: self-sovereignty, decentralization, censorship resistance, and the conviction that Bitcoin is not just money — it is a tool for freedom.

Every purchase made on our store with Bitcoin flows directly to our wallet. No middlemen. No permission. No surveillance. That is the standard every Bitcoin business should hold itself to.

If you are building a mining operation and need hardware — from Bitaxe solo miners to full ASIC rigs — or if your miners need professional repair, we are here to help. And yes, we accept Bitcoin.

Frequently Asked Questions

Do I need to run a full Bitcoin node for BTCPay Server?

BTCPay Server deploys with a built-in pruned Bitcoin node by default, which requires around 10-20 GB of disk space instead of the 600+ GB for a full archival node. A pruned node is perfectly functional for payment processing. If you want maximum sovereignty and the ability to verify the entire blockchain history, you can configure a full node — but it is not required for a WooCommerce integration.

Can I accept both on-chain Bitcoin and Lightning payments?

Yes. BTCPay Server natively supports both on-chain and Lightning Network payments. When a customer reaches the payment page, they see both options and can choose whichever they prefer. Lightning is ideal for smaller transactions (accessories, parts, smaller items) while on-chain is better suited for large hardware purchases. You configure this once during BTCPay setup and it works automatically for every invoice.

What happens if a customer underpays or overpays an invoice?

BTCPay Server handles both scenarios. For underpayments, the invoice shows the remaining amount due and the customer can send a second transaction to cover the difference. For overpayments, the excess amount is credited and you can process a partial refund to the customer. All of this is tracked in the BTCPay invoice dashboard.

Is BTCPay Server compliant with Canadian tax regulations?

BTCPay Server is a payment tool — tax compliance is your responsibility as the merchant. That said, BTCPay provides all the data you need: transaction timestamps, amounts in BTC and fiat equivalent at time of payment, customer order references, and full export capabilities. Canadian businesses accepting Bitcoin must report income in CAD at fair market value at the time of receipt. BTCPay’s export tools make this straightforward. Consult with an accountant familiar with cryptocurrency for your specific situation.

How does BTCPay handle fiat conversion?

BTCPay Server itself does not convert Bitcoin to fiat — and that is by design. It is a self-custodial tool. You receive Bitcoin directly into your wallet. If you need to convert some BTC to CAD for operational expenses, you do that separately through an exchange like Bull Bitcoin (a Canadian, Bitcoin-only exchange). Many Bitcoin-native businesses, including D-Central, prefer to hold Bitcoin and only convert what is necessary.

Can I use BTCPay Server alongside traditional payment methods like credit cards?

Absolutely. BTCPay Server integrates as one of multiple payment gateways in WooCommerce. You can run BTCPay for Bitcoin payments alongside Stripe for credit cards, PayPal, Interac e-Transfer, or any other WooCommerce-compatible gateway. Customers choose their preferred payment method at checkout. Over time, you may find that more customers opt for Bitcoin — especially in the mining hardware space where buyers tend to be Bitcoiners.

What is the minimum server specification for running BTCPay Server?

For a production BTCPay Server with a pruned Bitcoin node and Lightning (CLN or LND), you need a minimum of 2 CPU cores, 4 GB RAM, and 80 GB SSD storage. We recommend 4 GB+ RAM and NVMe SSD for better performance, especially during initial blockchain sync. A $20-40/month VPS from providers like Hetzner, OVH, or LunaNode handles this comfortably.

Does D-Central accept Bitcoin payments?

Yes. D-Central Technologies accepts Bitcoin on-chain and over the Lightning Network for all products and services, including Bitaxe solo miners, Bitcoin Space Heaters, ASIC miners, replacement parts, and ASIC repair services. We practice what we preach — self-custodial, peer-to-peer, no intermediaries.

Solo Mining Probability Calculator What are your odds of solo mining a Bitcoin block? Find out with live network data.
Try the Calculator
The Bitaxe
The Bitaxe Price range: $189.99 through $269.99
Shop The Bitaxe

D-Central Technologies

Bitcoin Mining Experts Since 2016

ASIC Repair Bitaxe Pioneer Open-Source Mining Space Heaters Home Mining

D-Central Technologies is a Canadian Bitcoin mining company making institutional-grade mining technology accessible to home miners. 2,500+ miners repaired, 400+ products shipped from Canada.

About D-Central →

Related Posts