WooCommerce Crypto Payments: Plugins, Orders and Refunds

To accept crypto on WooCommerce, pick a payment service that will take your business, then have your developer check its plugin against your store. BitPay and CoinGate run the payments for you, each for different kinds of eligible merchant, while BTCPay is Bitcoin payment software your own team runs. The big decisions come after the pay button: when to ship, when to release a download, who deals with an odd payment and how a customer gets a refund. A plugin listing doesn't answer any of those for your shop.

Which WooCommerce crypto plugin should you consider?

If you want a service to run the payment flow, start with a managed provider. If your team can run its own Bitcoin checkout, look at BTCPay. Either way, someone on your side still owns the shop. The processor selection guide helps you decide what customers will pay with and what you need to receive, especially if your suppliers want a different currency from the one your customers spend.

Product and pluginWho it fitsWhat your account needsCosts and limits
BitPay Acceptance with BitPay Checkout for WooCommerceAn eligible US or Canadian business selling its own goods that wants a managed serviceBitPay has to approve your company, state, owners, activity and receiving accountCheck the payment fee, the application fee and the receiving costs one by one. Wallet and Send are different products
CoinGate Standard with CoinGate for WooCommerceAn approved business in a listed country that wants managed checkoutCoinGate checks your company, operating address, owners and customer markets, and your proceeds sit in your CoinGate accountA quote margin, withdrawal and refund costs and account terms still apply, and the plugin's metadata is unclear
Self-run BTCPay with the current V2 bridgeA Bitcoin-focused shop with someone who can run a serverYou need your own server, store and wallet, and who can spend the funds depends on how the wallet is set upHosting, maintenance, support and any conversion or bank service are yours to arrange

BitPay takes US and Canadian applications and has paused new EEA, UK and Australian onboarding, with further state and product limits. CoinGate's list includes Germany, Canada and the UK, but not the US or UAE. Being left off its list isn't a verdict on whether crypto payments are legal in a country. The BitPay review and CoinGate review cover their account rules in more detail.

CoinGate asks for company documents, ID for directors and significant owners, proof of your operating address and a questionnaire about your business. Be ready to say who owns and controls the company, where they live and which citizenship they hold, which countries and states your customers are in, and what lawful goods you sell. Selling your own stock is different from collecting payments for other sellers.

Self-run BTCPay has no central merchant application, but the software doesn't get your business approved by your host, your conversion partner or your bank. This is general information, not legal advice.

What must match your existing store?

Your developer needs to check the exact plugin against your store's software and checkout setup, because versions matter. A perfectly good payment service can still leave you with a pay button that doesn't appear or orders you have to fix by hand. The BTCPay review covers the wider choice of running it yourself.

What to checkWhat's publishedWhat's left for your developer
PlatformWoo's current recommendations cover WooCommerce 10.8 and later; each plugin lists its own minimum versionsWhether your mix of WordPress, WooCommerce, PHP, database, hosting, theme and extensions works together
PluginBitPay's plugin, CoinGate's plugin or the BTCPay bridge published by ndeetThe exact release you'll install, who handles updates, and any mismatch between documentation and plugin
CheckoutAll three changelogs we looked at claim Checkout Blocks supportHow the payment method is built into your Blocks or classic checkout
Order storageHPOS keeps orders in a storage system of their own, instead of the older posts-based oneWhether your plugin supports it, and how your store's storage is set up
AccountAn approved merchant account with a managed provider, or a BTCPay server, store and connected walletApproval for your activity, the permissions involved, and who runs it
Coins and payoutThe coin and network customers pay with, and how you receive the moneyWhich coin-and-network pair your account has enabled, the conversion terms and any business bank account you'd use
Confirmation and stockHow payment statuses map to order statuses, and how Woo handles stockWhen to reserve or release stock, ship a parcel and release a download
RefundsThe product's own refund process and whether there are funds to sendWho approves, funds and sends a refund, and who matches it to the order
Data and upkeepThe plugin's settings and the service's requirementsWhat customer data it needs, what permissions it holds, and who covers backups, updates and support

Woo recommends WordPress 6.9 or later and PHP 8.3 or later, but that isn't a promise that every plugin works on that stack. The plugin listings give their own minimum WordPress and PHP versions: BitPay 6.6 and 8.1, CoinGate 5.3 and 7.3, BTCPay 6.2 and 8.0. Their WordPress 'tested' labels aren't WooCommerce versions.

CoinGate's metadata says 2.3.0, while its changelog includes 2.3.1 dated 22 July 2025, and the listing still shows its three-major-WordPress-release warning. That needs clarifying, though it doesn't mean the plugin is abandoned. BitPay's 7.1.2 changelog names WooCommerce 10.6.1, which is a different thing from the listing's tested WordPress tag.

Woo's Blocks FAQ says declaring compatibility with Blocks is one thing and building the payment method into it is another. is a further question, because an existing store has to synchronise its old and new order storage when it switches. We haven't confirmed HPOS support for these exact plugins or tested your checkout.

How should you organise the setup work?

Work through four jobs, and take the technical detail from each publisher's instructions. The BTCPay Woo guide describes the current V2 bridge, calls the old BitPay-API bridge unmaintained, and requires a BTCPay server account, store and connected wallet.

  1. 01

    Check the sale and prerequisites

    Make sure your company, owners, customers, goods, account type and payment coin all fit what the provider accepts. Have your developer check your platform, the plugin, your checkout and your order storage.

  2. 02

    Assign the connection

    Your developer follows the publisher's setup guide. Write down who does what at the payment provider or your BTCPay server, the host and the shop, including the permissions and customer data involved.

  3. 03

    Agree when to deliver

    Write down which payment status you'll act on, how payments get matched to orders, when stock is reserved, when a parcel ships and when a download is released. Decide who deals with delayed, partial, excess, invalid and duplicate payments.

  4. 04

    Plan the ongoing work

    Decide who handles refunds, reconciliation, customer help, updates, backups and cover when staff are away. Before you promise anyone a repayment, make sure the money is there and you can show the refund went out.

Whether your money can reach the account you pay bills from depends on your bank or conversion partner's own account and transfer terms. Published setup guidance isn't a trial run on a live shop, and it says nothing about how fast support will reply.

When can you ship or release a download?

Ship, or release a download, once a matching payment has the confirmations your rules require, plus any other conditions you set for the order. The order reference, amount, coin and network all have to match. A redirect back from checkout, a screenshot, an email, a detected transfer or a label someone edited by hand isn't enough on its own.

At BitPay, 'paid' means a transaction was broadcast, your configured confirmation policy governs fulfilment, and 'complete' means the merchant account is credited. CoinGate treats confirming and paid as different states, and paid means confirmed and credited. BTCPay's wallet settings set the confirmation requirement before a payment counts as settled.

In WooCommerce, Processing means paid and awaiting fulfilment, Completed means fulfilled and On hold is still waiting for confirmation. The plugin's status mapping has to line up with those meanings. The ecommerce payment guide covers the wider stock and delivery decisions.

Who resolves late, short or duplicate payments?

One person at the shop should own the problem and work with your developer or the payment service. Keep the order, the requested and received amounts, the coin, network, transaction reference and the provider's latest status together, so the next person can see what arrived without asking the customer to explain the transfer again. A second notification isn't a second sale, and a second transfer isn't automatically a second order.

The timers run on different clocks. CoinGate's docs give two hours to select a payment method and twenty minutes to pay after that. BTCPay bridge 2.8.5's twenty-four-hour change concerns the order-return link, not invoice expiry. Neither controls Woo's stock reservation, a refund deadline or when money reaches the bank.

Woo's Hold Stock setting controls stock reservations and cancellation, and a cancelled order can still leave money to return. BTCPay's Woo guide also warns that hosts or security tools can block order notifications. Your developer should find out how the plugin handles missing and repeated notifications; we haven't measured how reliably they're delivered or retried.

How does a customer get a refund?

A refund means taking the payment product's own refund process through to the end, not just updating WooCommerce's books. Automatic Woo refunds need a compatible gateway. A manual refund only records the return, and you still have to send the money some other way. A partial return doesn't have to flip the whole order to Refunded.

BitPay's listing sends merchants to its dashboard for refunds. CoinGate needs enough balance and the customer's email confirmation, and it values the merchandise at the current crypto rate, so the amount of coin sent back can differ. Its 'free otherwise' summary conflicts with flat-fee wording on the same page, so ask CoinGate which charge applies.

In BTCPay's example on-chain refund flow, the customer makes a claim and gives a destination first, then come approval, signing, broadcast and confirmation. Older V2 connection permissions may lack refund actions even while order notifications work, so your developer should look at what permissions the connection really has rather than assume a working connection covers refunds.

Restocking, a refund email or an approved claim doesn't mean the money has arrived, the original fee has come back or a card-style bank reversal has happened. What the customer is owed can also differ from what the provider's exception windows allow.

What costs and bank questions remain?

A downloadable plugin isn't the payment bill, so budget for the whole setup. The quote you get should be for your company, your customers' countries, what you sell and the coin and network you'll use.

Custom or higher-risk pricing, application and setup fees, monthly charges, minimums and fee floors all belong in the budget. Add network fees on both sides, what Lightning capacity costs if you use it, and what you lose to conversion. CoinGate describes a payment quote margin without publishing its size.

Hosting, backups, maintenance and support need a budget too, along with bank and intermediary deductions, refunds, recoveries, holds and the cost of closing the account. Unknown amounts aren't free, and a balance credit or a transfer request isn't money received at the bank. The BitPay fee guide, CoinGate fee guide and calculator explanation break those costs down.

If you run BTCPay yourself, an external signer keeps the power to spend away from the checkout server, while a server hot wallet gives that up. A third-party host can also change where future payments go. On a shared host, Lightning receipts can land in the host's wallet before being passed on, and capacity and service costs apply. The BTCPay versus BitPay comparison explains who controls the money in each case. BTCPay software on its own has no native bank service.

Who owns customer data and everyday maintenance?

Someone at the shop needs to own data, permissions, reconciliation and updates. CoinGate's changelog describes a shopper-billing transfer option. BTCPay's Woo guide still describes customer-data settings, while bridge 2.8.1 removes the customer-data option and additional order data, so ask which applies to the version you'd install, and don't assume the change is a privacy advantage.

Ask your developer what data each service receives, which permissions it needs and what your backups and retention cover, including who can still reconcile an old order after an update or a change of staff. Someone should also watch for mismatched payments and be able to pause checkout if something goes wrong. Documentation and directory ratings aren't measured support, security or uptime results.

Recurring invoices, reusable links and funded-credit renewals don't mean Woo Subscriptions will work or that you're allowed to debit an outside wallet. The SaaS and membership guide covers renewals in detail. We reviewed public documents, not a working store, and our methodology explains that limit.

WooCommerce crypto payments FAQ

Which crypto plugin is easiest for a small WooCommerce shop?

If nobody on your team can maintain payment software, start with a managed provider that will approve you. BitPay Acceptance and CoinGate Standard suit different approved merchants, and BTCPay fits a Bitcoin-focused shop with someone able to run it.

Is a downloadable crypto plugin the complete cost?

No. The payment service, the way you receive the money and the daily running each cost something: account fees, minimums, network fees, conversion, bank deductions and refunds. If you run the software yourself, add hosting, updates, backups and staff time. An unknown charge is unknown, not zero.

Does a Checkout Blocks claim mean HPOS support?

No. Blocks is the checkout experience and HPOS is order storage. The changelogs we read claim Blocks support, but we couldn't confirm HPOS support for these plugins, and we haven't tested your setup. Your developer should check both, along with your theme, versions and other extensions.

Does installing a plugin approve my business?

No. Installing a plugin doesn't get your company, owners, goods, customers or receiving account approved. Managed providers run their own country and business checks. BTCPay has no central merchant application, but hosts, conversion services and banks can set their own conditions.

When should I release a parcel or download?

When the provider's own status shows a matching payment that has the confirmations you've set and the order's other conditions are met. The order, amount, coin and network have to match. A redirect, email, screenshot or hand-edited label isn't enough on its own. Shipping the parcel and giving digital access are different actions, so decide who does each and who records it.

What should happen to a late or duplicate payment?

Someone at the shop should compare it with the original order and what was received before deciding anything. Keep the transaction references and check stock. Repeated notifications mustn't deliver the same order twice, and a second transfer has to be matched on its own.

Does Refunded mean the customer has received money?

A refund recorded by hand in WooCommerce can change the bookkeeping without returning any funds, so check that the payment product has funded, approved and sent it. CoinGate's customer confirmation and BTCPay's refund claims are steps along the way. Don't promise the original coin quantity or recovery of the fee.

Who should maintain the plugin and resolve missing updates?

Your developer looks after the shop connection and works with the provider or whoever runs your BTCPay server, and with the host. Agree who does update checks, backups, escalation when something breaks and reconciliation, and who covers when staff are away. Public documentation doesn't give you a contracted response time or show that notifications will arrive reliably on your store.
Frequently asked questions

Sources

21

Numbers in square brackets in the text link to these sources.

  1. BitPay Checkout for WooCommerce: publisher, requirements and changelog · Checked 2026-10-18
  2. CoinGate for WooCommerce: warning, metadata and changelog · Checked 2026-10-18
  3. BTCPay WooCommerce bridge: publisher and version changes · Checked 2026-10-18
  4. WooCommerce server recommendations for version 10.8 and later · Checked 2026-10-18
  5. WooCommerce order statuses and stock reservations · Checked 2026-10-18
  6. WooCommerce automatic and manual refunds · Checked 2026-10-18
  7. WooCommerce HPOS: separate order storage · Checked 2026-10-18
  8. WooCommerce Blocks FAQ, published November 2023 · Checked 2026-10-18
  9. BTCPay WooCommerce V2: prerequisites, order mapping and permissions · Checked 2026-10-18
  10. BTCPay wallet: spending authority and settlement policy · Checked 2026-10-18
  11. BTCPay refunds: claim, approval and completed payment · Checked 2026-10-18
  12. BTCPay hosting: control of funds and future payment instructions · Checked 2026-10-18
  13. BitPay merchant onboarding countries · Checked 2026-10-18
  14. BitPay invoice states and configured fulfilment policy · Checked 2026-10-18
  15. CoinGate supported merchant countries · Checked 2026-10-18
  16. CoinGate business and operating-address verification · Checked 2026-10-18
  17. CoinGate order states and payment windows · Checked 2026-10-18
  18. CoinGate merchant refunds: funding, confirmation and valuation · Checked 2026-10-18
  19. BTCPay Lightning: shared-host balances and receiving capacity · Checked 2026-10-18
  20. CoinGate Commercial Policy: unpriced payment quote margin · Checked 2026-10-18
  21. BTCPay General FAQ: software and separate financial services · Checked 2026-10-18