How to Accept Crypto Payments on WooCommerce (Without a Second Plugin)

Published on August 10, 2026 · Woo-Whop Team

If you want to take crypto on WooCommerce, the usual advice is to bolt a second payment system onto your checkout. A card processor for most people, a crypto plugin for everyone else. Two dashboards, two sets of keys, two things to reconcile at month end, two things that break when WooCommerce updates. There is another way to do it: run cards and crypto through one gateway, on your own checkout page, with no redirect. Here is how that works and how to set it up.

Why the two-plugin approach causes problems

Stripe or PayPal for cards, plus a dedicated crypto plugin. It works. It also creates four problems you will feel within a month:

  • Two payment rows at checkout. Your customer now has to understand your payment plumbing before they can buy anything.
  • Two reconciliation trails. Crypto orders settle differently and report differently from card orders, so your month-end never quite lines up.
  • Two things to fix. Each plugin has its own webhook handler and its own signature scheme, and each one can break independently.
  • The crypto one almost certainly redirects. Most send the buyer off to a hosted invoice page with a QR code on somebody else's domain.

One gateway that handles both makes all four go away. Whop supports cards and the major cryptocurrencies natively, so a single integration covers the lot.

What you need before you start

  1. A WooCommerce store on WordPress 6.0+, WooCommerce 7.0+ and PHP 7.4+.
  2. HTTPS on your domain. Live payments need it.
  3. A Whop seller account, which is where your API key and Company ID come from.
  4. The Whop Payment Gateway for WooCommerce plugin, installed and activated.

Step 1: Connect the gateway

Go to WooCommerce → Settings → Payments → Whop and paste in your API key and Company ID. That is the whole connection step. You will not find any product mappings to set up or plans to create, because the plugin builds each checkout from whatever is in the cart at that moment. There is more on why that matters in our piece on why manual Whop plan IDs are obsolete.

Step 2: Register the webhook (do not skip this)

The webhook is how WooCommerce finds out the payment worked. Copy the callback URL the plugin shows you, add it as a webhook endpoint in your Whop dashboard, and subscribe to payment.succeeded.

Skip this and you get the worst possible failure: customers pay, money arrives, and your orders sit there unpaid while you wonder what is wrong. It happens more often than you would think.

A confirmed payload looks roughly like this:

{
  "event": "payment.succeeded",
  "data": {
    "id": "pay_9f2c41",
    "final_amount": 49.00,
    "currency": "usd",
    "status": "succeeded",
    "metadata": {
      "woocommerce_order_id": "9942"
    }
  }
}
            

The plugin checks the signature on that payload, then goes back to Whop and re-checks the payment directly before marking anything paid. Our write-up on secure double-confirm webhooks explains why one check without the other is not enough.

Step 3: Decide how crypto looks to the customer

This is where one gateway earns its keep. Leave the checkout mode on Embed on Checkout and the payment form renders inside your own checkout page. Your customer picks card or crypto in that one form and presses the ordinary Place Order button. No separate crypto step, no invoice page, no second domain.

If your theme does something unusual to the checkout, there is a popup mode and a redirect mode as well. We compared all three in choosing between embedded, popup and redirect.

Step 4: Test it properly in sandbox

Turn on sandbox mode and place a real order start to finish. Four things to watch:

  • The payment form appears inside checkout instead of throwing you to another site.
  • The amount charged is exactly the cart total, coupons and shipping included.
  • The webhook lands and the order goes paid on its own, without you touching it.
  • Stock comes down and downloadable products actually unlock.

Which currencies settle, and what happens to the rest

47 currencies are charged natively, exactly as your store prices them. Anything else converts to USD at a live rate, so you never end up maintaining a price table per currency. The full list, and which regions it covers well, is in our 47-currency breakdown.

Mistakes people make accepting crypto on WooCommerce

Mistake What goes wrong Fix
No webhook subscribed Paid orders stay pending forever Subscribe to payment.succeeded
Permalinks set to plain Webhook endpoint returns 404 Set permalinks to Post Name
Sandbox keys left in place Live payments quietly fail Swap keys, then turn sandbox off
No HTTPS Live mode refuses to run Install a certificate first

Is accepting crypto actually worth it?

Depends entirely on who buys from you, and you probably already have a hunch. Sell digital products, memberships, software or community access, especially internationally, and a real slice of your buyers prefer crypto. Some of them cannot use a card in your currency at all. Sell physical goods to a domestic market and it will be a rounding error.

The argument for a combined gateway is that having it available costs you nothing. You are not maintaining a second integration for the 4% of orders that use it.

If Bitcoin specifically is what you are after, see how to accept Bitcoin on WooCommerce. If you are weighing this against a crypto-only processor, our Coinbase Commerce comparison is the more direct read.

Cards and crypto, one gateway

Every licence ships all three checkout modes, 47 currencies and 28 payment-form languages. No add-ons, no feature gates.

Get the plugin →
← Back to Articles Get the plugin from $5/mo →