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 plugin | Who it fits | What your account needs | Costs and limits |
|---|---|---|---|
| BitPay Acceptance with BitPay Checkout for WooCommerce | An eligible US or Canadian business selling its own goods that wants a managed service | BitPay has to approve your company, state, owners, activity and receiving account | Check the payment fee, the application fee and the receiving costs one by one. Wallet and Send are different products |
| CoinGate Standard with CoinGate for WooCommerce | An approved business in a listed country that wants managed checkout | CoinGate checks your company, operating address, owners and customer markets, and your proceeds sit in your CoinGate account | A 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 bridge | A Bitcoin-focused shop with someone who can run a server | You need your own server, store and wallet, and who can spend the funds depends on how the wallet is set up | Hosting, 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.[13] 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.[15] 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.[16] 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.[21] 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 check | What's published | What's left for your developer |
|---|---|---|
| Platform | Woo's current recommendations cover WooCommerce 10.8 and later; each plugin lists its own minimum versions | Whether your mix of WordPress, WooCommerce, PHP, database, hosting, theme and extensions works together |
| Plugin | BitPay's plugin, CoinGate's plugin or the BTCPay bridge published by ndeet | The exact release you'll install, who handles updates, and any mismatch between documentation and plugin |
| Checkout | All three changelogs we looked at claim Checkout Blocks support | How the payment method is built into your Blocks or classic checkout |
| Order storage | HPOS keeps orders in a storage system of their own, instead of the older posts-based one | Whether your plugin supports it, and how your store's storage is set up |
| Account | An approved merchant account with a managed provider, or a BTCPay server, store and connected wallet | Approval for your activity, the permissions involved, and who runs it |
| Coins and payout | The coin and network customers pay with, and how you receive the money | Which coin-and-network pair your account has enabled, the conversion terms and any business bank account you'd use |
| Confirmation and stock | How payment statuses map to order statuses, and how Woo handles stock | When to reserve or release stock, ship a parcel and release a download |
| Refunds | The product's own refund process and whether there are funds to send | Who approves, funds and sends a refund, and who matches it to the order |
| Data and upkeep | The plugin's settings and the service's requirements | What 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.[4] 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.[1][2][3]
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.[2] BitPay's 7.1.2 changelog names WooCommerce 10.6.1, which is a different thing from the listing's tested WordPress tag.[1]
Woo's Blocks FAQ says declaring compatibility with Blocks is one thing and building the payment method into it is another.[8] HPOS is a further question, because an existing store has to synchronise its old and new order storage when it switches.[7] 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.[9]
- 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.
- 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.
- 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.
- 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.[14] CoinGate treats confirming and paid as different states, and paid means confirmed and credited.[17] BTCPay's wallet settings set the confirmation requirement before a payment counts as settled.[10]
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.[5] 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.[17] BTCPay bridge 2.8.5's twenty-four-hour change concerns the order-return link, not invoice expiry.[3] 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.[9] 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.[6]
BitPay's listing sends merchants to its dashboard for refunds.[1] 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.[18]
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.[11] 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.[9]
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.[20]
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.[12] On a shared host, Lightning receipts can land in the host's wallet before being passed on, and capacity and service costs apply.[19] 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.[2] 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.[3]
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?
Is a downloadable crypto plugin the complete cost?
Does a Checkout Blocks claim mean HPOS support?
Does installing a plugin approve my business?
When should I release a parcel or download?
What should happen to a late or duplicate payment?
Does Refunded mean the customer has received money?
Who should maintain the plugin and resolve missing updates?
Sources
21
Numbers in square brackets in the text link to these sources.
- BitPay Checkout for WooCommerce: publisher, requirements and changelog · Checked 2026-10-18
- CoinGate for WooCommerce: warning, metadata and changelog · Checked 2026-10-18
- BTCPay WooCommerce bridge: publisher and version changes · Checked 2026-10-18
- WooCommerce server recommendations for version 10.8 and later · Checked 2026-10-18
- WooCommerce order statuses and stock reservations · Checked 2026-10-18
- WooCommerce automatic and manual refunds · Checked 2026-10-18
- WooCommerce HPOS: separate order storage · Checked 2026-10-18
- WooCommerce Blocks FAQ, published November 2023 · Checked 2026-10-18
- BTCPay WooCommerce V2: prerequisites, order mapping and permissions · Checked 2026-10-18
- BTCPay wallet: spending authority and settlement policy · Checked 2026-10-18
- BTCPay refunds: claim, approval and completed payment · Checked 2026-10-18
- BTCPay hosting: control of funds and future payment instructions · Checked 2026-10-18
- BitPay merchant onboarding countries · Checked 2026-10-18
- BitPay invoice states and configured fulfilment policy · Checked 2026-10-18
- CoinGate supported merchant countries · Checked 2026-10-18
- CoinGate business and operating-address verification · Checked 2026-10-18
- CoinGate order states and payment windows · Checked 2026-10-18
- CoinGate merchant refunds: funding, confirmation and valuation · Checked 2026-10-18
- BTCPay Lightning: shared-host balances and receiving capacity · Checked 2026-10-18
- CoinGate Commercial Policy: unpriced payment quote margin · Checked 2026-10-18
- BTCPay General FAQ: software and separate financial services · Checked 2026-10-18
