WHMCS
Before you can use the Coinify Payment Gateway for WooCommerce, you will need to register a Merchant account with Coinify and get approved.
See more info on how to register a Merchant account here.
Overview
The Coinify Payment Gateway for WHMCS allows WHMCS-powered web hosting or digital service companies to accept cryptocurrency payments (e.g. Bitcoin, Ethereum) via Coinify. With this integration, invoices in WHMCS are automatically marked as paid when Coinify confirms on-chain payments, and status updates are handled via webhooks.
Key Features:
- Automatic invoice synchronization: WHMCS invoices are marked paid when payment is confirmed.
- Webhook support for real-time transaction updates.
- Sandbox (test) and Production modes.
- HMAC validation to ensure secure webhook communication.
- Support for multiple cryptocurrency payment methods supported by Coinify.
Requirements & Compatibility
- WHMCS version: compatible up to v8.13 (per WHMCS Marketplace listing). marketplace.whmcs.com
- PHP: 7.2.0 or later
- An approved Coinify merchant account with API credentials (API Key + Secret)
Plugin Installation
- Log in to your WHMCS admin panel and go to Addons -> Apps & Integrations
- Search for "Coinify" and click on "Activate" to install the plugin
- Next, click on Manage button to configure the plugin. Alternatively, go to 🔧 System Settings -> Payment Gateways and select Coinify plugin
Plugin Configuration:
- Display Name: This is how the Coinify payment option will be displayed to the end-users. You can set this to whatever suits you best. E.g. you can change it to "Cryptocurrency payment" or similar.
- API Key: Go to your Coinify Dashboard and generate the API key here. Copy this API key and paste it in the WHMCS Coinify plugin API Key parameter.
- Webhook URL/Webhook Secret: Copy the Webhook URL/Secret and configure it in your Coinify Dashboard here by adding a new Webhook entry. The webhok URL/secret must match between the plugin and the webhook setting in your Coinify dashboard. You are free to change the shared secret.
Webhook / Notification Handling
- Coinify sends status updates (e.g. “payment_confirmed”, “payment_failed”) to the webhook URL you configured.
- The module will validate notifications using HMAC signature to ensure authenticity.
- On a successful payment confirmation, the WHMCS invoice linked to the payment intent is automatically marked as Paid.
- If a payment fails or expires, the invoice remains unpaid or can be re-checked by the admin.
Testing / Sandbox Mode
Before going live, enable Sandbox Mode in both WHMCS and Coinify to simulate payments with test credentials.
To test in sandbox, you must create a Sandbox Coinify Merchant account here. Then Configure the Coinify WHMCS plugin as explained above in the Configuration section.
Generate a test invoice in WHMCS, then complete a sandbox payment using one of Coinify’s sandbox testing options to complete a payment.
Confirm that invoice statuses change correctly when webhooks are triggered.
Check WHMCS logs for callback entries and HMAC validation.
Workflow / How It Works (User Flow)
- Your customer in WHMCS places an order or receives an invoice.
- On the payment page, they pick “Pay with Coinify” (or similar).
- They are redirected to Coinify’s hosted payment page to complete payment in crypto.
- After the customer sends the crypto transaction, Coinify monitors the blockchain.
- Once confirmed, Coinify sends a webhook to WHMCS.
- WHMCS receives the webhook, validates it, and marks the invoice as Paid.
- Optionally, you can set up automatic order provisioning or other post-payment logic via WHMCS.
Security Considerations
- Use HTTPS only for your webhook endpoint to ensure secure communication.
- ❗ Do not expose your API Key, Webhook URL or Shared secret publicly ❗
- Limit who can access payment gateway settings in WHMCS (admin-level access only).
Troubleshooting / Common Issues
| Problem | Possible Cause | Solution |
|---|---|---|
| Invoice not marked paid after customer pays | Webhook misconfiguration or failed validation | Check your webhook URL and validate HMAC logic; enable debug logs in WHMCS module. |
| Payment notifications show as invalid | Signature mismatch | Confirm that your API Secret in WHMCS matches Coinify’s, and check for URL-encoding issues. |
| Sandbox payments don’t work | Using wrong API credentials (production vs sandbox) | Double-check you are using sandbox credentials and have configured correctly in sandbox Coinify Dashboard. |
Support
If you run into issues with installation, configuration or functionality of the plugin, please contact Coinify Support.
Updated 1 day ago
