

WHMCS
Cryptonly lets your WHMCS store accept Bitcoin, stablecoins and other cryptocurrencies through Cryptonly's secure hosted checkout. Customers pay on the Cryptonly payment page; WHMCS invoices are marked paid automatically.
Requirements
WHMCS
8.0 or higher (tested up to 9.0.5)
PHP
7.4 or higher (tested up to 8.2)
Cryptonly account
cryptonly.net merchant account
Credentials
API key, Account ID, and Webhook Signing Key from Cryptonly admin
Public HTTPS System URL
Required so Cryptonly can deliver webhooks
Before you install — Cryptonly account
Sign up at cryptonly.net (or sandbox-merchant.cryptonly.net for testing).
Create an API key: Settings → Security → API keys.
Copy your Account ID: Accounts → select account → copy icon.
Copy your Webhook Signing Key: Settings → Security.
Install the module
Download the Cryptonly WHMCS gateway zip (WHMCS Marketplace or release package).
Extract the archive on your computer.
Upload the
modules/folder into your WHMCS root so it merges with the existingmodules/directory (FTP, SFTP, or your hosting file manager).After upload, these paths should exist:
In WHMCS admin, activate Cryptonly:
Setup → Payments → Payment Gateways, or
System Settings → Apps & Integrations (search "Cryptonly").
Configure the gateway

Open Setup → Payments → Payment Gateways → Cryptonly → Manage Existing Gateway and fill in the fields:
Display Name
Name shown to customers (e.g. Pay with Crypto)
API Key
Cryptonly tenant API key
Account ID
Cryptonly account UUID
Webhook Signing Key
Required — payments are confirmed only via webhooks
Sandbox Mode
Enable to use the Cryptonly sandbox API for testing
Order ID Prefix
Optional; default WHMCS → WHMCS-123, WHMCS-123-2 on retry
Debug Log
Optional; writes entries to Utilities → Logs → Gateway Log
Webhook Signing Key is mandatory. Saving an API key and Account ID without a signing key is blocked. Sandbox mode must match your API key environment (sandbox vs production).
Click Save Changes. The module validates your API key and Account ID against Cryptonly GET /accounts.
Test in sandbox
Enable Sandbox Mode and enter credentials from sandbox-merchant.cryptonly.net.
Confirm Setup → General Settings → System URL is a public HTTPS address.
Create a test WHMCS invoice and select Cryptonly as the payment method.
Complete payment on the Cryptonly hosted page (testnet only in sandbox), or use Simulate payment on the invoice in Cryptonly Accounts → History to settle it without sending testnet funds — see Testing your integration.
Verify the WHMCS invoice is marked Paid and entries appear under Utilities → Logs → Gateway Log.
Optional: in Cryptonly admin, use Settings → Integration → Test webhooks against your callback URL — see Testing your integration.
See the Sandbox environment guide for supported test networks and safety notes.
How WHMCS invoice statuses are updated
The module listens for invoice.statusChanged webhooks and applies payments only on settled amounts. Other statuses are logged to Utilities → Logs → Gateway Log without changing the WHMCS invoice:
created
Invoice stays Unpaid (customer may still pay on the hosted page)
processing, suspended
Invoice stays Unpaid; status logged only
paid, overpaid
Payment applied; invoice marked Paid when balance is cleared
partially_paid
Partial payment applied to the WHMCS invoice
expired, failed, cancelled
Logged only; no automatic payment
The WHMCS invoice stays Unpaid from checkout until Cryptonly reports a settled payment (paid, overpaid, or partially_paid). There is no separate webhook when the customer only selects a currency on the hosted page.
Sandbox uses testnets only. Do not send mainnet funds to sandbox payment addresses.
Go live checklist
Before accepting real payments:
Related documentation
Support
For help with your Cryptonly merchant account, credentials, or payment questions, visit Cryptonly or write to support@cryptonly.net.
Last updated