
VPS, dedicated and shared hosting clients often pay in crypto, and USDT is what most of them hold. SnapEX Pay lets your billing panel accept USDT on TRON, Ethereum or BSC, or 50+ other coins converted to USDT. You run no wallets or nodes: the money lands in your SnapEX Pay merchant balance in USDT, and the invoice in your billing is marked paid automatically.
Pick the module for your billing
| Billing panel | Module | Requirements |
|---|---|---|
| WHMCS | WHMCS | WHMCS 8.x or 9.x, PHP 7.4+ with cURL |
| BILLmanager | BILLmanager | BILLmanager 6 (any edition), python3 3.6+ on the host |
| FOSSBilling | FOSSBilling | FOSSBilling 0.8+, PHP 8.0+ with cURL, HTTPS |
| Paymenter | Paymenter | Paymenter v1.x (PHP 8.3+), HTTPS |
All four modules are free to download. Something else? The REST API creates an invoice in one request and returns a payment link, with signed webhooks.
What happens on an invoice
- The client opens an unpaid invoice and picks SnapEX Pay.
- They pay on the SnapEX Pay page in USDT or another coin.
- The invoice is marked paid in your billing automatically.
In WHMCS and BILLmanager a payment is confirmed three independent ways: by the signed webhook, when the client returns from the payment page, and by a periodic check (the WHMCS cron run, checkpay in BILLmanager). A lost webhook never leaves a paid invoice unpaid, and a payment is never added twice.
When the client sends less
Exchanges often deduct their withdrawal fee from the amount, so an invoice can arrive short. The modules never apply a short payment blindly; you review it and apply it by hand. How underpayments work: The customer sent less than the invoice.
Pricing
1% per payment, no setup fee and no monthly fee. You choose per invoice whether the fees come out of what you receive or are added on top for the client: Who pays the fees on a crypto invoice.
Try it without real money
Each module has a test mode: test invoices confirm by themselves and never touch your balance. See How to test crypto payments without real money.