How to Accept Bitcoin on WooCommerce in Under 15 Minutes

Install the official Cryptomo plugin, connect your API keys, register the webhook and take your first Bitcoin payment on WooCommerce, step by step.

How to Accept Bitcoin on WooCommerce in Under 15 Minutes

If you run a WooCommerce store and want to accept Bitcoin (and other crypto) without rebuilding checkout, you do not need a custom integration. With a ready plugin, hosted checkout and signed webhooks, you can go from upload to a live test payment in about a quarter of an hour.

This guide walks through the official Cryptomo WooCommerce setup: install the zip, add your API credentials, register the webhook, send a test event, then place a real order. Along the way you will see how order statuses map when a buyer underpays, overpays or lets an invoice expire.

Why Bitcoin (and crypto) on WooCommerce still makes sense

Card rails work well for many buyers, but they come with chargebacks, regional declines and fees that climb with volume. Crypto payments settle on-chain: once an invoice is marked paid, you are not waiting on a 30-day dispute window the way you often are with cards.

For merchants selling digital goods, SaaS, domains or cross-border physical products, Bitcoin and stablecoins also reach customers whose cards are declined abroad. Cryptomo's hosted checkout shows a QR code, an exact amount and a countdown with a locked rate, so the buyer knows precisely what to send before the timer ends.

You can price the cart in USD, EUR, INR or any other supported fiat currency; the customer pays in BTC, USDT, ETH or another coin your store enables.

What you need before you start

  • WordPress 6.0+, WooCommerce 7.0+, PHP 7.4+
  • A Cryptomo account with at least one approved store and an API key
  • Admin access to your WordPress dashboard
  • About 15 minutes of uninterrupted time

Optional but useful: a small amount of crypto (or a low-value live invoice) so you can watch a real status change from waiting to paid.

Step 1: Download and upload the plugin (about 3 minutes)

  1. Download the official zip: cryptomo-for-woocommerce.zip
  2. In WordPress go to Plugins → Add New → Upload Plugin
  3. Choose the zip, click Install Now, then Activate

The plugin supports both the classic checkout and the block checkout, and it is compatible with WooCommerce High-Performance Order Storage (HPOS). You do not need a separate "blocks-only" build.

Full product details live on the WooCommerce plugin page.

Step 2: Open the Cryptomo payment settings (about 1 minute)

Go to WooCommerce → Settings → Payments → Cryptomo. Enable the gateway and give it a title buyers understand, for example "Pay with crypto" or "Bitcoin & USDT".

You will see fields for:

  • Cryptomo URL
  • Public key
  • Secret key
  • Webhook secret

Keep this tab open; you will paste values from the Cryptomo dashboard next.

Step 3: Copy credentials from your Cryptomo store (about 3 minutes)

In the Cryptomo dashboard, open Stores → your store:

  1. Create an API key and copy the public key and the secret key. The secret is shown only once, so store it in a password manager.
  2. Copy the store's webhook secret.
  3. Paste the URL, public key, secret key and webhook secret into the WooCommerce Cryptomo settings, then save.

Treat the secret key and webhook secret like database passwords: never commit them to git, never put them in front-end JavaScript, and rotate them if a team member leaves.

Step 4: Point the Cryptomo webhook at the plugin (about 2 minutes)

In the WooCommerce Cryptomo settings, copy the webhook URL shown on the page. Paste it into your Cryptomo store's Webhook URL field and save.

This is the bridge that marks WooCommerce orders as paid automatically. Cryptomo sends signed events such as invoice.paid to that URL; the plugin verifies the signature, then updates the order.

Without this step, invoices can be paid on Cryptomo while WooCommerce still shows them unpaid, so double-check the URL before you take live traffic.

Step 5: Send a test webhook (about 2 minutes)

In the Cryptomo dashboard, click Send test webhook and confirm WordPress received it. If the test fails:

  • Re-check the webhook URL (https, no typos)
  • Confirm the webhook secret matches exactly
  • Check that a security plugin or firewall is not blocking POST requests to /wp-json/ or the plugin's endpoint

Once the test passes, you are ready for a real checkout.

Place a test order and watch the statuses

Add a low-priced product to the cart and choose Cryptomo at checkout. You are redirected to the hosted checkout, where the buyer:

  1. Picks a coin (Bitcoin, USDT, Ethereum and more)
  2. Sees the exact amount and a countdown with the rate locked
  3. Scans the QR code or copies the address into a wallet

After confirmation, Cryptomo notifies the plugin:

Cryptomo outcomeWooCommerce order
Paid in fullMarked paid / processing
Partial paymentPut on hold
Invoice expired unpaidCancelled

On the API side, invoice statuses include new, waiting, partially_paid, paid, paid_over, paid_late, expired and cancelled. For fulfilment, treat paid, paid_over and paid_late as paid. Details are in the API documentation.

Practical tips for your first live Bitcoin sale

  • Start with a few coins. Bitcoin is fine for launch; add a low-fee stablecoin network such as USDT on Solana or BNB Chain for smaller carts.
  • Explain the countdown. Buyers sometimes open a slow wallet. A short note ("send the exact amount before the timer ends") cuts support tickets.
  • Price in your operating currency. If you think in INR or EUR, set store prices that way; Cryptomo converts at checkout.
  • Watch underpayments. Partial payments put the order on hold; ask for the remaining amount rather than shipping early.
  • Security hygiene. Turn on 2FA in Cryptomo, keep WordPress and WooCommerce updated and limit who can see API secrets.

Beyond the plugin: when to use the API

The WooCommerce plugin covers most stores. If you later need custom order flows, recurring billing or a headless front end, the same account offers a signed REST API, a PHP SDK and a JavaScript pay button. Plugins also exist for Easy Digital Downloads, WHMCS, PrestaShop, OpenCart, Magento 2, Blesta and ClientExec, so you are never locked into one cart.

Next step

Install the official plugin, connect your store keys and send that test webhook today. Registration is free on the Starter plan, so you can validate the flow before you scale. Prefer not to do it yourself? Our integration service sets it up for you.

Keep reading

Start accepting crypto today

Free to start. 1% per payment. Upgrade any time.

Create your free account