PayCryptoHost — non-custodial crypto payment gateway

How to Accept Bitcoin Payments on WooCommerce

WooCommerce has no native crypto support, and most Bitcoin plugins route the payment through a custodial processor that holds your coins until payout. The PayCryptoHost plugin does the opposite: it creates a hosted invoice for each order and derives a fresh receiving address from your own xPub, so the customer pays your wallet directly and WooCommerce just listens for the webhook.

Integration method
Plugin
Time needed
About 15 minutes
Skill level
Beginner

Before you start

  • A free PayCryptoHost account.
  • Your Bitcoin extended public key (xPub / zPub) from a wallet you control — Sparrow, Electrum, BlueWallet, Trezor or Ledger all export one.
  • Admin access to your store or billing panel.
  • WordPress 6.0+ with WooCommerce 8.0+ installed.

An extended public key only lets software watch addresses and derive new ones — it can never move funds. Never paste a private key or seed phrase anywhere, including here.

Step-by-step setup

  1. 1

    Create your API key

    In PayCryptoHost open Dashboard → API keys and generate a key. Copy it once — it is only shown at creation time.

  2. 2

    Add your xPub

    Go to Profile → Bitcoin settings and paste your extended public key. PayCryptoHost verifies it derives valid addresses before saving, and never asks for a private key or seed phrase.

  3. 3

    Install the plugin

    Download the PayCryptoHost plugin from your dashboard, then in WordPress go to Plugins → Add New → Upload Plugin, choose the zip and activate it.

  4. 4

    Connect the plugin

    Open WooCommerce → Settings → Payments → PayCryptoHost, paste the API key, and save. The plugin pings the API and shows a green connected state when the key is valid.

  5. 5

    Set order status mapping

    Choose what happens when a payment is detected and when it confirms. The default maps a detected payment to Processing and a confirmed payment to Completed, which is what most stores want.

  6. 6

    Place a test order

    Run a small real order (a few dollars of BTC) end to end. Watch the order flip to Processing when the transaction hits the mempool, then Completed on confirmation.

What you get

  • Customers pay in BTC, ETH or USDT and you keep custody of every payment.
  • Orders update automatically from webhooks — no manual reconciliation.
  • Prices stay in your store currency; the crypto rate is locked at checkout.
  • No monthly plugin fee and no rolling reserve on your revenue.

Troubleshooting

Orders stay in Pending after the customer pays

Your site is not receiving webhooks. Check that the store URL is publicly reachable over HTTPS and that a security plugin or firewall is not blocking POST requests to the WooCommerce API endpoint.

The gateway does not appear at checkout

WooCommerce hides gateways that fail their availability check. Confirm the API key is saved and that your account has a verified xPub — without one there is no address to derive.

Frequently asked questions

Does the WooCommerce Bitcoin plugin hold my funds?

No. Each order gets a unique address derived from your own xPub, so the payment goes from your customer straight to your wallet. PayCryptoHost never has a balance to withhold.

Can I accept USDT on WooCommerce too?

Yes. Enable the coins you want in your PayCryptoHost settings and the hosted invoice lets the customer choose at checkout.

What happens if a customer underpays?

The invoice records the shortfall and notifies you with both the USD and BTC amounts. You decide whether to release the order or request the difference.

Ready to take your first crypto payment?

Create an account, add your xPub, and send a test invoice — most merchants are live the same day.

Other platform guides

See all platform integrations, browse industry guides, or compare us against other gateways.