WordPress does not include a native Bitcoin checkout. For products, shipping, order status, and fulfillment, the practical setup is WordPress plus WooCommerce. For a Bitcoin-first store, the strongest default is the current BTCPay for WooCommerce V2 integration: it is open source, non-custodial, supports on-chain Bitcoin and Lightning, and can send payments to a wallet you control. You still need hosting, wallet administration, backups, and testing.
Choose a hosted processor if you want less infrastructure work or many cryptocurrencies. Use a simple payment link or QR code only when manual payment matching is acceptable.
| Choose this | When it fits |
|---|---|
| BTCPay Server with WooCommerce | Bitcoin, self-custody, privacy, Lightning, and control matter. |
| Hosted processor such as NOWPayments | You want a shorter setup, vendor support, optional conversion, or many assets. |
| Direct wallet address or payment link | Donations, tips, invoices, or occasional payments with manual verification. |
What you need before starting
- A working WordPress site with WooCommerce installed and configured.
- HTTPS, administrator access, working products, currency, tax, shipping, and order emails.
- A BTCPay Server instance (self-hosted, cloud-hosted, or supplied by a third party), or an account with a hosted processor.
- A Bitcoin wallet and an offline backup of its recovery material.
- A plan for confirmations, refunds, volatility, accounting, and who can move funds.
BTCPay’s deployment guidance lists a minimum of 2 GB RAM and 80 GB storage with pruning enabled for some deployments; actual needs depend on whether you run a full Bitcoin and Lightning stack. See BTCPay’s deployment requirements and deployment options. Hosting estimates in that documentation are examples, not guaranteed prices.
Choose an integration model
BTCPay Server
BTCPay describes itself as free, open-source, and non-custodial. In the intended setup, invoices settle to a wallet you control and private keys are not uploaded to the server. There is no BTCPay percentage processing fee, but network fees, hosting, backups, monitoring, maintenance, and possible Lightning liquidity costs remain. Read the BTCPay guide and fee explanation.
#1 Best Overall
- BITCOIN EXCLUSIVE, PHONE VERIFICATION: Bitkey is designed from the ground up exclusively for bitcoin — a dedicated hardware wallet for secure bitcoin storage. Approve transactions with a tap using your phone and NFC. No device screen is required.
- SELF-CUSTODY, NO EXCHANGE OR CUSTODIAN REQUIRED: You hold two of the three keys in the Bitkey system – one on your phone and one on your Bitkey device. The third is stored on Bitkey’s server and cannot move your bitcoin on its own.
- NO SEED PHRASE: Set up and use Bitkey without creating or storing a seed phrase.
- 2-of-3 MULTISIG: Three keys are stored separately across your phone, Bitkey device, and Bitkey’s server. Any two keys are required to move your bitcoin.
- BUILT-IN RECOVERY: Encrypted backup and recovery tools can help you regain access if you lose your phone or Bitkey device. You can also designate a Recovery Contact.
Hosted processor
A service such as NOWPayments manages the infrastructure. Its WooCommerce setup requires an account, a wallet address, and an API key; its vendor page lists Bitcoin and many other assets. Check current supported networks, regions, account requirements, payout rules, refunds, and fees at NOWPayments’ WooCommerce page before committing. A multi-coin list does not guarantee that every asset suits your customers or accounting system.
Direct address or QR code
A static address does not create an order-specific invoice, lock an exchange rate, monitor payment status, reserve inventory, or reconcile payment to an order. It is therefore a poor fit for automated ecommerce.
Set up BTCPay Server with WooCommerce
1. Prepare WooCommerce
Confirm that a normal WooCommerce checkout works first. Add Bitcoin as another gateway rather than trying to debug an unfinished store and a new payment system simultaneously.
2. Create the BTCPay store and wallet
- Log in to your BTCPay instance.
- Create a store and configure Bitcoin.
- Connect a wallet or wallet descriptor through BTCPay’s setup flow.
- Choose on-chain Bitcoin, Lightning, or both.
- Generate a test invoice and confirm that the store can display it.
Lightning is not merely a switch beside Bitcoin. It requires suitable wallet, node, channel, liquidity, monitoring, and recovery arrangements. Review BTCPay’s use-case guidance before relying on it for production.
Rank #2
- Unparalleled Security: Protect your assets NDA-free EAL 6+ Secure Element, offering robust defense and complete transparency
- Simple & Secure Interface: Manage your digital assets easily with a clear OLED screen for secure on-device confirmations
- Supports 1000s of Coins & Tokens: Securely handle thousands of assets, including Bitcoin, Ethereum, and more, all in one wallet
- Effortless Asset Management: Monitor and transact seamlessly with Trezor Suite, our intuitive desktop and mobile app
- Enhanced Backup Solution: Rest assured with Multi-share Backup, eliminating single points of failure for secure cold wallet recovery
3. Install the current BTCPay V2 plugin
- In WordPress, open Plugins → Add New.
- Search for BTCPay V2.
- Install and activate the current BTCPay for WooCommerce V2 plugin.
Use the current Greenfield-API integration, not the old BitPay-based plugin. BTCPay identifies the legacy plugin as unmaintained; see the current WooCommerce documentation and the legacy plugin repository. The WordPress plugin listing is another way to verify the package.
4. Connect WordPress with the API-key wizard
- Open the BTCPay plugin settings in WordPress.
- Enter your BTCPay Server URL and start the connection wizard.
- Authorize the store in BTCPay.
- Return to WordPress and verify that the API key and Store ID are populated.
- Save and confirm that webhook setup reports success.
BTCPay says the wizard can prefill the credentials and create the webhook automatically.
5. Use manual API settings only if necessary
- In BTCPay, open Account → Manage Account → API Keys.
- Generate a key restricted to the required store.
- Grant the documented permissions to view, create, and modify invoices; modify store webhooks; view stores; and, when refunds require it, create non-approved pull payments.
- In WordPress, enable Advanced settings, enter the BTCPay URL, API key, and Store ID, and save.
- Verify that the webhook is registered and setup indicators are green.
Never publish or email an API key, seed phrase, extended private key, or wallet backup.
6. Enable the gateway
- Go to WooCommerce → Settings → Payments.
- Find BTCPay or BTCPay (default) and enable it.
- Open its settings, select the payment methods and checkout behavior, and save.
Menu labels can vary by WooCommerce and plugin version, so compare them with the current BTCPay instructions.
Rank #3
- Secure element (EAL6+ certified) and passphrase protection for bullet-proof physical security
- Two-button pad device interface, designed for user-friendly operation
- Bright OLED display for easy & secure hands-on verification
- PIN & passphrase enabled for on-device protection
- Fully open-source design for transparent security
7. Set fulfillment and confirmation rules
An invoice being detected is not the same as a confirmed or settled payment. Decide when digital downloads are released and when physical goods ship. Low-value digital goods may use Lightning or a faster policy; higher-value shipments may require one or more on-chain confirmations. Do not ship solely because an unconfirmed transaction appears in the mempool.
Test the complete payment flow
- Create a low-value test product or coupon.
- Place an order and select BTCPay.
- Check the fiat total, BTC amount, QR code, address or Lightning option, expiry timer, and order number.
- Pay from a test wallet.
- Confirm that BTCPay detects the payment and that the webhook reaches WordPress.
- Verify the intended WooCommerce order status, customer email, merchant email, and wallet detection.
- Allow an invoice to expire and confirm that the order is not fulfilled.
- In a controlled test environment, check how an incomplete or underpaid invoice is handled.
- Run a refund test and reconcile it with the order.
A green connection indicator proves only that the connection works. The end-to-end test must show that a unique invoice is created, payment is detected, WooCommerce updates correctly, and fulfillment does not occur prematurely.
Troubleshoot common failures
Gateway missing or invoice will not load
- Confirm the plugin is active and the gateway is enabled.
- Check the BTCPay URL, Store ID, and API permissions.
- Verify that the BTCPay instance is online and its wallet or node is usable.
- Clear checkout-page caching and ensure staging credentials are not being used on production.
Payment detected but the order does not change
- Check webhook status in BTCPay.
- Inspect WordPress and web-server logs.
- Confirm that the endpoint is reachable over valid HTTPS.
- Resave the integration settings to recreate the webhook, then place a new test order.
403 or 503 webhook errors
WordPress security plugins, firewalls, Cloudflare rules, basic authentication, invalid TLS certificates, incorrect DNS, or a blocked POST request can prevent callbacks. BTCPay specifically discusses firewall, hosting, and Wordfence-related blocking in its WooCommerce troubleshooting guidance. Narrow the blocking rule in staging, confirm the endpoint, and retest.
Underpayment, expiration, or Lightning failure
Do not manually mark an order paid without a documented policy. Review the invoice status and amount, decide whether to request the difference or cancel, and keep the order on hold until the required settlement condition is met. Lightning failures can reflect route, channel, liquidity, wallet, or node problems; offer on-chain payment when appropriate.
The Tool Desk
Outbyte PC Repair FREERepair Windows errors before they cause bigger problemsFix Now →Outbyte Driver Updater FREEScan for outdated or missing drivers - takes under a minuteDriver Scan →Rank #4
- Dual-chip architecture for maximum protection: The next-gen, fully auditable TROPIC01 chip works alongside a certified EAL6+ Secure Element—completely NDA-free—to deliver radically transparent, industry-leading defense against physical attacks.
- Quantum-ready security: Get protection against future threats with the first-ever hardware wallet designed with quantum-ready architecture.
- See every detail with confidence: Our largest high-resolution color touchscreen makes it easy to navigate your assets, review transactions and manage your coins with clarity.
- Wireless freedom with encrypted Bluetooth control: Manage, buy, swap and stake securely using Trezor Suite on desktop or mobile. Qi2-compatible wireless charging keeps your Trezor powered up. No cables required—security meets convenience.
- Works seamlessly with Android, iOS and desktop: Connect wirelessly or via USB-C to your phone or computer. Manage your crypto anywhere with our companion Trezor Suite app.
Fees, pricing, volatility, and refunds
What you will pay
| Cost | How it arises |
|---|---|
| BTCPay software | Free and open source. |
| Bitcoin network | Applicable on-chain transaction fees; Lightning can involve routing or liquidity costs. |
| Infrastructure | Hosting, domain, backups, monitoring, support, and maintenance. |
| WooCommerce | Core has no monthly subscription or revenue share, but hosting, extensions, and provider charges are separate; see WooCommerce pricing. |
| Hosted processor | Provider, conversion, withdrawal, and network charges vary; check current official terms rather than relying on an old percentage. |
Choose a pricing and settlement policy
You can keep Bitcoin, convert some or all proceeds through a separate service, price products in fiat and let the gateway calculate BTC, or price directly in BTC. BTCPay supports exchange-rate handling for payment requests, but a live quote does not remove volatility between sale, settlement, conversion, and accounting.
Handle refunds deliberately
Bitcoin has no card-style chargeback. A refund normally means sending a new payment to a customer-supplied address or Lightning invoice. Record the refund, verify the destination, and state whether you refund the original BTC amount or a fiat-equivalent value. Exchange-rate movement can make those amounts differ. Refund automation depends on wallet setup, API permissions, and the chosen payment method; see the BTCPay WooCommerce documentation.
Independent reader supportYour contribution helps us test, update, and keep practical guides available for everyone.Wallet custody and security
- Keep recovery information offline and test restoration.
- Separate day-to-day operating funds from long-term reserves.
- Use a hardware wallet, watch-only arrangement, hot wallet, or Lightning wallet according to transaction volume and operational ability.
- Do not use an exchange account as the only treasury wallet.
- Restrict WordPress and BTCPay administrator access, enable 2FA, and update core, plugins, and the server.
- Define who may approve refunds and transfers.
- Never store seed phrases in WordPress settings, email, cloud notes, or an unreviewed backup system.
Non-custodial software does not remove responsibility for keys, backups, transfers, or refunds.
Accounting, tax, and compliance
Rules depend on your country, state, business type, and accounting method. Keep the WooCommerce invoice, transaction ID, fiat value at sale, exchange-rate source, network or processor fees, refund record, and settlement date. Reconcile orders with wallet or processor records. Ask a qualified accountant about sales tax or VAT, income, inventory, gains and losses, and reporting. Also check sanctions, money-transmission, consumer-protection, and other obligations that may apply; using BTCPay does not eliminate them.
Outdated Drivers Are Slowing You Down
One free scan finds every outdated or missing driver and matches the right update for your exact hardware.Free scan · exact hardware matchWindows Errors? Fix Them Before They Spread
Repair common Windows errors and clear accumulated junk for a smoother, more stable PC - no reinstall needed.Free scan · no reinstallBest Value
- Effortlessly build your crypto portfolio via the all in one Ledger Wallet app: buy, sell, send, receive, swap, stake and more across popular blockchains. 15,000+ coins & tokens in a single dashboard. Keep a close eye on the market. Compare service providers. Track performance. Get timely alerts. Build your portfolio with confidence.
- Effortlessly build your crypto portfolio via the all in one Ledger Wallet app: buy, sell, send, receive, swap, stake and more across popular blockchains. 15,000+ coins & tokens in a single dashboard. Keep a close eye on the market. Compare service providers. Track performance. Get timely alerts. Build your portfolio with confidence.
- Enjoy Bluetooth connectivity, iOS access, and hours of battery use with this mobile-first, secure backup signer. Freedom you can depend on.
- Genuine Check: confirm your signer is authentic during setup with the Ledger Wallet app.
- Protect your signer: keep it in mint condition at all times with a bespoke Pod or Case to avoid scratches and everyday wear and tear.
Hosted alternative: NOWPayments
- Create an account at NOWPayments.
- Prepare a wallet address and API key.
- Install the provider’s WooCommerce plugin from its integration page or the WordPress listing.
- Enter the API credentials and configure the gateway in WooCommerce.
- Run the same invoice, webhook, order-status, email, expiration, and refund tests.
This route reduces infrastructure work and can support many assets, but it adds provider dependency and policy, availability, settlement, custody, and compatibility questions. The vendor page currently lists plugin version 2.0.0 and compatibility up to WooCommerce 10.7; verify those volatile details when you install.
When WooCommerce is not necessary
A donation button, invoice link, or one-off contribution can use a BTCPay payment link without a product catalog. Subscriptions and memberships need special handling because Bitcoin does not silently debit a wallet like a card; BTCPay documents subscription flows at its subscriptions guide. For digital downloads, configure the store so files are not released before your chosen payment status. For physical products, tie fulfillment to the confirmation policy you actually tested.
Final recommendation
Use BTCPay Server with the current WooCommerce V2 plugin when Bitcoin, self-custody, Lightning, and control are priorities and you can manage hosting and wallet security. Choose a hosted processor when speed, support, fiat conversion, or many assets matter more than infrastructure independence. Use a direct address or payment link only for simple payments where manual verification is acceptable.
Quick Recap
Product prices and availability are accurate as of the date/time indicated and are subject to change. Any price and availability information displayed on Amazon at the time of purchase will apply.
Recommended Free Tools




