Brislet
Brislet for WHMCS · Setup guide

From download
to your first test invoice.

Set up your receiving wallet, connect WHMCS and verify a testnet payment before using live Bitcoin.

Current release: 0.2.0 testnet preview. Mainnet payment acceptance and real BTC credit top-ups remain disabled. Screenshots use disposable demonstration data; no live customer account is shown.
A short preparation list

Before you begin

Compatibility is limited to the environments actually tested. Read the compatibility matrix included in the module ZIP before choosing a WHMCS version; WHMCS 9.x remains unverified.

  • An HTTPS WHMCS installation with USD invoices and a running WHMCS cron.
  • PHP 8.1+ with cURL, JSON, OpenSSL and BCMath, plus transactional InnoDB tables. Use versions supported by your WHMCS release. WHMCS 9 compatibility has not yet been verified.
  • A Brislet merchant login. During this preview, registration stays off until the platform owner verifies email delivery. Use your supplied invitation/account.
  • A dedicated Bitcoin receiving account with an account-level public key. Testnet and mainnet must use separate accounts and credit.
  • A backup of WHMCS files/database and its configuration encryption key before installing or upgrading.
Never enter a seed phrase, private key or wallet password into Brislet or WHMCS. Brislet needs only the receiving account’s public key.
Step 01

Sign in and protect your account

  1. Open Merchant sign in. Activate your invitation, or register and verify your email when registration is enabled.
  2. Choose a password of at least 14 characters.
  3. Open Account security, confirm your password and start authenticator setup.
  4. Scan the private setup QR with your authenticator, enter its code, and save the one-use recovery codes somewhere safe outside the server.

MFA is required for live wallet/API-key setup and connection detachment. Platform-admin MFA follows the configured policy and is currently optional. Password confirmation still protects sensitive changes. Password recovery keeps MFA in place.

Example Brislet sign-in screen; current login requests the password before a separate authenticator step
Sign-in screen. Use your own account credentials; the guide does not supply a shared customer password.
Account security screen showing the authenticator enrollment start form
Start authenticator enrollment here. Setup secrets and recovery codes are intentionally not pictured.
Step 02

Connect a dedicated receiving wallet

  1. Select the correct network in the dashboard. For testing, use Testnet and test coins only.
  2. Open Receiving wallet. Export the public key of the exact receiving account from your wallet. Supported account-key formats include xpub/zpub for mainnet and tpub/vpub for testnet, with the corresponding supported address type.
  3. Select Native SegWit or Legacy Bitcoin to match that account.
  4. Paste one Receive address from the same account. Enter its correct receiving index and the account’s last-used discovery anchor. A fresh account commonly starts with receive index 0 and anchor −1; check your wallet rather than guessing.
  5. Confirm your password and choose Verify and encrypt wallet.

Brislet checks the key, network, derivation/address and history before locking the wallet. A unique invoice address is allocated on the authenticated Pay click, not when WHMCS creates an invoice. Reloads reuse the mapping.

Do not use an account being allocated by another gateway or another independent Brislet install. Abandoned addresses remain mapped; expiry does not release or recycle them. Discovery capacity depends on wallet behavior and the configured safeguards.
Receiving wallet setup form with public account key, address type, receive address, receiving index and discovery anchor
Actual wallet setup form with empty fields. No public account key or spending secret is included in this screenshot.
Step 03

Create a WHMCS connector API key

  1. Open API keys in the same network as your wallet.
  2. Select WHMCS connector as the purpose, confirm your password and create the key.
  3. Copy the key immediately. The full key is shown only once.

The connector requires merchant:read, payments:read, payments:write, webhooks:read and webhooks:write. A reporting-only key cannot connect. A testnet key begins np_test_; a live key begins np_live_.

Keep the key on your server. Do not place it in browser JavaScript, URLs, tickets or screenshots. WHMCS stores it encrypted using its own encryption configuration.
API key management screen showing masked keys and the connector key creation form
Only a masked demo-key prefix appears. Create a connector-purpose key for your own account.
Step 04

Upload the native WHMCS module

  1. Download the module ZIP and verify its SHA-256 digest against the manifest.
  2. Extract it locally. Upload the contents of modules/ and includes/ into your WHMCS root, preserving their paths.
  3. Do not upload development files or documentation into the WHMCS web root.
  4. In WHMCS admin open System Settings → Addon Modules, activate Brislet SaaS Setup and grant access only to appropriate admin roles.
  5. Open Addons → Brislet SaaS Setup.
WHMCS root/
├── modules/gateways/brisletsaas.php
├── modules/gateways/brisletsaas/
├── modules/gateways/callback/brisletsaas.php
├── modules/addons/brisletsaasops/
└── includes/hooks/brisletsaas.php

These are native WHMCS modules/hooks. No WHMCS core file needs editing. The SaaS connector is separate from the earlier standalone brislet gateway.

Step 05

Connect your merchant account

  1. Create a dedicated unpaid $1 USD WHMCS test invoice, with no linked service, domain or order.
  2. In the setup addon choose Connect or retry saved profile and Testnet.
  3. Paste the matching connector API key and the dedicated invoice ID. Multiple IDs may be comma-separated; each new test invoice must be unpaid, USD and at most $10 without linked services.
  4. Choose Connect securely. The service checks the key’s account, network and required permissions, then registers the signed callback.
  5. Activate Brislet Payments SaaS under WHMCS Payment Gateways. Keep it hidden from normal ordering while testing.

The callback URL is derived from your WHMCS HTTPS System URL: https://your-whmcs-domain/modules/gateways/callback/brisletsaas.php. It must be publicly reachable on HTTPS port 443. Permit signed server POSTs if a firewall protects WHMCS.

Actual WHMCS addon form with connect, key replacement and test invoice addition actions
Actual addon content shown in a labeled documentation wrapper. Your WHMCS admin theme may look different.
Brislet WHMCS connection screen with callback status, module download and guarded detachment form
The merchant workspace shows whether a callback is connected and how many notifications are pending.
Step 06

Add processing credit

Open Processing credit and choose an available top-up amount. The top-up page supplies the correct collection address and exact BTC amount. Your wallet’s network fee is additional. Full quoted USD credit is added after three confirmations, once only.

  • $20 credit supplies $2,000 processing capacity at 1%, before reservations.
  • A $1 confirmed invoice uses $0.01 of processing credit.
  • Pending quotes reserve their processing fee; confirmed payments capture it once.
  • Unused credit never expires or resets monthly.
  • Top-ups do not incur the 1% merchant-processing fee. Testnet credit has no cash value and cannot fund mainnet invoices.
Demo dashboard showing available test credit, processing capacity and reserved credit
Illustration: $20 of test credit gives $2,000 capacity before reservations. These are demo values.

If top-ups are unavailable, the platform collection wallet is not configured or new funding is paused. Do not send to an old or guessed address.

Step 07

Run a dedicated testnet payment

  1. Open the allowlisted invoice as its WHMCS customer and select the SaaS gateway.
  2. Click the Bitcoin payment button. The service creates or reuses that invoice’s receiving address.
  3. Check that the checkout says Testnet. Scan the QR, or copy the address and exact BTC amount.
  4. If your wallet reads only the address, enter the shown amount manually. Ensure the recipient receives that amount; the network fee is additional.
  5. Send once. The page should move from awaiting payment to confirming, show progress toward three confirmations, then return to the paid invoice.
Closing the checkout does not stop payment monitoring. Confirmation speed depends on the network and providers. Do not pay a second time simply because the countdown expired or verification is delayed.

Check the result in both systems

  • WHMCS invoice shows Paid with exactly one native transaction receipt.
  • Brislet payment shows Paid and the 1% fee captured once.
  • Reloading the checkout or repeating a callback does not add another receipt or charge.
  • A confirmed credit top-up adds credit once, with no processing fee.
Keep recovery controlled

Upgrades, fresh installs and key changes

Upgrade files

Back up first, then upload the new module/hook files over the existing SaaS paths. Keep the module’s configuration/payment tables and WHMCS encryption key. Deactivation does not delete historical mappings.

Replace an API key

Create a new connector-purpose key for the same merchant/network. In the WHMCS addon choose Replace API key. The module checks permissions, identity and the existing callback before replacing only the encrypted key. Check payment status access before revoking the old key. The installation ID, callback signing secret and mapped invoices remain unchanged.

Add another test invoice

Choose Add dedicated test invoices. New IDs are validated and appended. Existing IDs and paid mappings remain; repeating an addition does not duplicate them.

Fresh reinstall or callback/signing-secret change

  1. Resolve active/review payments and pending callbacks. Empty expired invoices with released reservations can remain; their addresses stay monitored. Save a full backup.
  2. In Brislet open WHMCS connection. With MFA enabled, confirm your password and detach the completed connection.
  3. For a genuinely fresh install, have the old module settings/tables archived safely. Keep paid accounting receipts and wallet allocation history.
  4. Install and connect the module again. A fresh profile can register a new signing secret. For a WHMCS callback-domain move, reconnect the preserved profile after the owner updates WHMCS’s HTTPS System URL.

Detachment preserves wallet addresses/counters, paid payments, credit, API keys and delivery history. It refuses unpaid/review payments or pending callbacks. It does not silently discard a pending integration.

Do not reset receiving counters, recycle addresses, delete paid receipts, or independently allocate an existing wallet account after reinstalling. A service-domain migration also needs an approved connector hostname update; changing an arbitrary API URL is not supported.
Understand the result

Payment states and troubleshooting

What you seeMeaning / next step
Awaiting paymentNo qualifying payment yet. Check the network, address, quote amount and expiry before sending.
PartialThe invoice is not fully funded. The checkout shows the remaining BTC amount. Do not resend the original full amount.
ConfirmingA payment was detected but has not reached the required confirmation depth. Wait; do not send again.
ExpiredThe quote expired. An empty unsettled quote may be refreshed through the invoice button with the same address. A payment already detected remains monitored.
Paid / fee capturedThe service has accounted for payment. WHMCS must independently verify and record one native receipt before showing the invoice as paid.
Review / delayedPossible late payment, changed invoice, provider delay or ambiguous chain observation. Preserve the invoice ID, payment ID and transaction ID; contact support.
OverpaymentThe quoted invoice/top-up amount is accounted for under the payment rules; excess is recorded for review. It does not automatically buy more services or add unlimited credit.
Setup unavailableCheck key purpose/network, merchant identity, HTTPS callback access and test-invoice eligibility. Retry the same saved profile instead of deleting tables.

Refunds are manual through support and the merchant’s wallet. The module does not hold a spending key or automatically broadcast refunds.

For the Brislet platform owner

Set up platform email and operations

  1. Use the separate platform-admin account; do not promote a shared merchant demo login.
  2. For stronger admin protection, enable two-factor authentication and save recovery codes. It is optional under the current administrator policy.
  3. Open Email settings. Enter SMTP hostname, port 465 or 587, username, password and the sender address.
  4. Enable email delivery, request a test to your own verified admin mailbox and confirm its link while signed in as the same admin.
  5. Enable customer registration only after delivery works. Test real signup, email verification and password recovery with an account you control.
Platform admin email settings form with SMTP host, TLS port, username, sender and delivery verification controls
Actual administrator SMTP form with empty demo settings. Passwords are encrypted and never redisplayed.

The admin workspace also provides merchant/payment/top-up oversight, audited credit corrections, new-quote pause controls, safe verification/callback retries, worker/provider health and audit records. Operational email alerts require verified SMTP and a verified admin mailbox eligible under the configured MFA policy. Offsite backups are owner-managed.

A separate live acceptance step

Before accepting real BTC

  • Complete MFA, real email signup/recovery and backup recovery validation.
  • Configure a dedicated or safely coordinated mainnet receiving/collection account. Never duplicate the standalone wallet’s allocator.
  • Run a small controlled mainnet invoice and credit top-up with the platform operator, verifying one receipt, one invoice fee and one top-up credit.
  • Validate duplicate notifications, recovery and your WHMCS/runtime compatibility.
  • Coordinate the permanent service endpoint and approved hostname update when a domain is secured.

Checking a preview box or uploading the ZIP does not enable live acceptance. The platform’s mainnet gates stay enforced until launch configuration and validation are completed.

Installable files and final check

Download Brislet

Brislet Payments SaaS · 0.2.0 testnet preview

Native gateway, setup addon, signed callback and reconciliation hook, with installation and recovery instructions.

Download module ZIP ↓ SHA-256 manifest
  • Correct network and dedicated receiving account verified.
  • Connector-purpose key saved securely; no keys in browser code or tickets.
  • Callback reachable and WHMCS cron running.
  • Dedicated USD test invoice has no live services.
  • One successful payment / one receipt / one fee deduction verified.
Back to setup steps ↑