Skip to content
>
Mode: standard

WHMCS

WHMCS logo
Billing & HostingOfficial plugin

Take crypto for hosting, domains, and recurring invoices in WHMCS.

The SDK-based CoinPayments gateway for WHMCS. Your clients pay invoices — hosting plans, domains, and add-ons — in the cryptocurrency of their choice, and confirmed payments are reconciled back to the invoice automatically.
WHMCS 9.0+ · PHP 8.1+

What you get

6 capabilities

Crypto on every invoice

CoinPayments becomes a payment gateway your clients can pick on any WHMCS invoice — hosting, domains, add-ons, and more.

Accept Cryptocurrency

Let customers pay in cryptocurrency. Funds land in your CoinPayments merchant wallets.

Automatic payment updates

Confirmations are delivered by webhook, so orders and invoices reconcile themselves the moment a payment settles.

Settle the way you want

Hold incoming crypto or use auto-conversion and auto-sweep to consolidate into the coins you prefer.

Secure by design

Connect with a scoped Client ID / Client Secret pair, granular permissions, and IP allow-listing.

Built for recurring billing

Works alongside WHMCS's billing engine so clients can pay renewals and recurring invoices in cryptocurrency.

Before you start

Installation & setup

8 steps
Step 1Create your CoinPayments account
Register at coinpayments.net/register, then confirm your email, enable two-factor authentication, and sign in. Full walkthrough in the account setup guide.
Step 2Complete compliance verification
Verification is required before commercial tools — invoicing, API integrations, eCommerce plugins, and payment collection — become available. Complete the personal or business steps in the account setup guide. The LTCT test currency is available for testing before verification.
Step 3Find your CoinPayments instance
Accounts are routed to instance A, B, or C based on your business registration country — find yours here. The WHMCS setting maps each instance to its API host automatically:A → a-api.coinpayments.netB → b-api.coinpayments.netC → c-api.coinpayments.net
Step 4Create your API keys
In the dashboard, open Integrations → Add Integration → API Integrations, enter your store name and store URL, then copy the Client ID and Client Secret. Save the secret immediately — it is only shown once. See creating an integration.
Step 5Install the WHMCS plugin
Upload the modules/ and vendor/ folders to the root of your WHMCS installation. After uploading, confirm these files exist:modules/gateways/coinpayments.phpmodules/gateways/callback/coinpayments.phpmodules/gateways/coinpayments/lib/api.phpmodules/gateways/coinpayments/test_connection.phpvendor/coinpayments
Step 6Configure WHMCS
In WHMCS Admin, activate and configure the CoinPayments integration using either of the following paths.
Option 1 · Apps & Integrations
  1. Open Apps & Integrations (Marketplace).
  2. Search for CoinPayments.
  3. Click Activate on the CoinPayments integration.
  4. After activation, click Manage from the same screen.
  5. Enter your Client ID.
  6. Enter your Client Secret.
  7. Choose your CoinPayments Instance: A, B, or C.
  8. Click Save Changes.
  9. Click Test Connection.
Option 2 · Payment Gateways
  1. Open Apps & Integrations (Marketplace).
  2. Search for CoinPayments.
  3. Click Activate on the CoinPayments integration.
  4. Go to System Settings → Payment Gateways.
  5. Under active gateways, open CoinPayments.
  6. Enter your Client ID.
  7. Enter your Client Secret.
  8. Choose your CoinPayments Instance: A, B, or C.
  9. Click Save Changes.
  10. Click Test Connection.

The Test Connection button calls getMerchantWalletsV2(0, 1) using the saved instance and credentials. A successful result confirms that API credentials and entity routing are valid.

Step 7Enable webhooks
In the CoinPayments gateway settings, check Enable Webhooks and Auto-register Webhook, then click Save changes. The module registers this callback URL:https://your-whmcs-host/modules/gateways/callback/coinpayments.phpSee the webhook guide.
Step 8Test payment reconciliation
Before going live, run a payment end-to-end:
  1. Create a small WHMCS test invoice and open it as a client.
  2. Click Pay with CoinPayments and complete the hosted checkout.
  3. Confirm WHMCS marks the invoice as paid and that the transaction ID matches the CoinPayments invoice / payment event.
  4. Review the WHMCS gateway logs for webhook delivery or signature errors.
  5. Confirm duplicate webhook deliveries do not create duplicate WHMCS payments.
References: invoice status route, webhooks, integration options.
CoinPayments dashboard plugin installation wizard for WHMCS
The CoinPayments dashboard includes a guided wizard to download the WHMCS plugin and walk through the upload and activation steps.

Keep your Client Secret safe

Your Client Secret is displayed only once when you create the integration. Store it securely — if it is lost you can regenerate it from the dashboard.

How it works

7 points
  • Invoices are created with the SDK postMerchantInvoicesV2 route.
  • Checkout uses the checkoutLink returned by that route.
  • The checkout opens in a new tab with target="_blank" and rel="noopener noreferrer".
  • Webhooks are verified with the SDK WebhookVerifier — see authenticating requests.
  • Paid / completed webhook events call WHMCS addInvoicePayment.
  • Duplicate transaction IDs are rejected through WHMCS checkCbTransID.
  • A created invoice is cached in the customer session to avoid duplicate invoices during invoice-page refreshes.

Troubleshooting

3 scenarios

If Test Connection fails

  • Confirm the gateway settings were saved before testing.
  • Confirm the selected instance matches your account.
  • Confirm the Client ID and Client Secret belong to the same instance.
  • Confirm the API integration credentials were copied correctly.
  • Check whether IP restrictions were added to the CoinPayments integration.

If invoice creation fails

  • Check the WHMCS gateway logs for the CoinPayments API response payload.
  • Confirm the WHMCS invoice currency is supported by CoinPayments.
  • Confirm the API integration has invoice permissions.

If payment reconciliation fails

  • Confirm webhooks are enabled in WHMCS.
  • Confirm the callback URL is publicly reachable over HTTPS.
  • Confirm Auto-register Webhook completed without errors.
  • Confirm the WHMCS server time is accurate; webhook signatures use timestamp freshness checks.

Tested environment

WHMCS v9.0.5PHP 8.2Debian 13

CoinPayments tested this gateway module in the environment above. Validate the module in your own WHMCS environment before accepting live payments.

Disclaimer

This module has been tested by CoinPayments for standard installation, configuration, invoice creation, checkout, webhook handling, and payment reconciliation. It is provided on an as-is and as-available basis, with no guarantee that it is error-free, uninterrupted, or compatible with every WHMCS environment.

Merchants are responsible for validating the module in their own environment before accepting live payments — create and reconcile several low-value test invoices, confirm webhook delivery, and review the gateway logs. Use of this module is subject to CoinPayments’ User Agreement and Privacy Policy.

Report any unexpected behaviour, payment mismatch, duplicate credit, webhook failure, or reconciliation issue to CoinPayments Integrations support.