How to Accept Bitcoin Payments on WHMCS
Hosting companies were the first industry to take Bitcoin seriously, and WHMCS is where their billing lives. PayCryptoHost fits WHMCS through a callback-driven gateway module: invoices are priced in your billing currency, each one gets its own address from your xPub, and the paid callback marks the WHMCS invoice settled so provisioning fires automatically.
- Integration method
- REST API
- Time needed
- About 25 minutes
- Skill level
- Intermediate
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.
- •WHMCS 8.x with file access to the modules/gateways directory.
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
Generate an API key
Dashboard → API keys in PayCryptoHost. Restrict the key to invoice creation and status reads.
- 2
Verify your xPub
Profile → Bitcoin settings. WHMCS bills on a recurring cycle, so a rotating xPub matters here: every invoice gets a fresh address instead of reusing one.
- 3
Upload the gateway module
Copy the PayCryptoHost gateway files into modules/gateways/ on your WHMCS server, then activate it under Setup → Payments → Payment Gateways.
- 4
Configure the callback URL
WHMCS exposes modules/gateways/callback/paycryptohost.php. Paste that URL into your PayCryptoHost webhook settings so payment events reach your billing system.
- 5
Enable it per product
Assign PayCryptoHost as an allowed payment method on the hosting products you want payable in crypto, then leave your card gateway in place alongside it.
- 6
Test with a $1 invoice
Create a manual invoice for a test client and pay it. Confirm the WHMCS invoice shows Paid and the transaction ID matches the on-chain txid.
What you get
- •Recurring hosting invoices payable in BTC, ETH or USDT with no chargeback risk.
- •Provisioning fires from the paid callback exactly like a card payment.
- •No merchant KYC on the platform, which matters for hosts serving global customers.
- •Crypto revenue lands in your own wallet, not a processor balance awaiting payout.
Troubleshooting
The invoice paid but WHMCS still shows unpaid
The callback did not reach WHMCS. Check the gateway log under Utilities → Logs → Gateway Log, and confirm the callback URL is reachable from the public internet without HTTP auth.
Duplicate transaction errors in the gateway log
WHMCS rejects a transaction ID it has already recorded. That is expected behaviour on a webhook retry and is safe to ignore.
Frequently asked questions
Is there a WHMCS crypto payment gateway that is not custodial?
Yes — PayCryptoHost derives each invoice address from your extended public key, so hosting payments settle straight to your wallet with no processor balance in between.
Does it work with recurring hosting billing?
Yes. Each recurring invoice generates a new invoice and a new address, so there is no address reuse across billing cycles.
Can clients still pay by card?
Yes. PayCryptoHost sits alongside your existing gateways; clients pick per invoice.
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.