Shahid Malla

WHMCS for IPTV Billing: Complete Setup Guide

IPTV doesn't fit the standard hosting mold. Lines provision against Xtream Codes, payments need flexibility (crypto), fraud is constant, trial-to-paid conversion is everything. The practical playbook.

S Shahid Malla
· Dec 22, 2025 · 5 min read · 75 views
shahidmalla.com/blog/whmcs-for-iptv-billing-complete-setup-guide
WHMCS for IPTV Billing: Complete Setup Guide
On this page (12 sections)

IPTV is one of the more interesting WHMCS use cases because it doesn't fit the standard hosting mold. Lines (subscriptions) provision against a panel like Xtream Codes; payments need to be flexible (lots of customers use crypto); fraud is constant; trial-to-paid conversion is where the business lives or dies.

I've built WHMCS billing for several IPTV operations. This is the field guide.

The IPTV billing stack

ComponentRole
WHMCSBilling, customer management, support tickets, automation.
IPTV Panel (Xtream Codes / IPTV-Smarters Pro / custom)The actual line provisioning + streaming.
Provisioning ModuleWHMCS ↔ Panel bridge. Usually custom-built; few off-the-shelf options work well.
Payment GatewaysStripe (cards) + Crypto (NowPayments, Cryptomus) + sometimes regional.
Fraud screenIP / email / payment-method checks before provisioning.

Step 1 — Product structure

An IPTV "line" is your product. Variations:

  • Single device line: one stream at a time, cheapest tier.
  • Multi-device: 2-5 simultaneous streams.
  • Premium / 4K: full HD + 4K channels included.
  • Trial: 24-72 hours, limited channels.

Create one WHMCS product per tier. Billing cycles: monthly, quarterly, semi-annual, annual. Bigger commitments get steeper discounts.

Step 2 — Provisioning module

Whether you're on Xtream Codes, IPTV-Smarters Pro, or a custom panel, the WHMCS provisioning module needs to:

  1. CreateAccount: call the panel API to create a line with the right MAC/IP restrictions, bouquet, expiration.
  2. SuspendAccount: disable the line immediately on non-payment.
  3. UnsuspendAccount: re-enable.
  4. TerminateAccount: delete the line.
  5. ChangePackage: switch tiers / channel packages.

If you're on Xtream Codes specifically, there are open-source modules. Vet for security (some have hardcoded backdoors). I recommend writing your own — see my provisioning module guide.

Step 3 — Trial-to-paid conversion

The economics of IPTV depend on conversion rates. Configure trials carefully:

  • Trial length: 24-48 hours is industry standard. Longer = more abuse.
  • Trial restrictions: lower bitrate, fewer channels, single device. Differentiate from paid clearly.
  • Trial throttling: 1 trial per IP / per email domain / per payment-method fingerprint.
  • Trial → paid CTA: aggressive email sequence. Customer used the trial; remind them to buy before it expires.

Configure as a "Trial" WHMCS product, no recurring price, manual termination after N hours via cron task.

Step 4 — Payment gateways that work for IPTV

Many traditional gateways either ban IPTV outright or impose high-risk fees. Realistic options:

  • Stripe — accepts IPTV if you describe the business correctly. Account risk if disputes mount.
  • NowPayments / Cryptomus — crypto. Accepts everything. Customers pay BTC / USDT / etc. Lower chargebacks.
  • Regional gateways — depends on country; some accept IPTV more readily.
  • PayPal — historically restrictive; many IPTV merchants get banned.

Many IPTV operators run crypto-only or crypto-primary. Higher friction at signup but more sustainable long-term.

Step 5 — Fraud prevention — the make-or-break

IPTV is the most fraud-targeted product I've worked with. Carders test stolen cards on IPTV signups because the merchant typically doesn't ship physical goods (no shipping address to verify against).

Mitigations:

  • 3D Secure mandatory: requires bank-verified payment. Most fraudulent cards fail 3DS.
  • Email reputation check: block disposable / known-fraud-pattern emails (see Emailrep API).
  • IP velocity: more than X signups from one IP in 24 hours → block.
  • Geo mismatch: cardholder country vs. customer IP country. Flag mismatches for manual review.
  • MaxMind minFraud: integrated with WHMCS, scored signups, block above threshold.
  • Manual review for first-time customers: hold provisioning for high-risk signals. Annoys legit customers but blocks fraud.

Step 6 — IPTV-specific customer portal

Customize the WHMCS client area to surface IPTV-specific data:

  • Their line credentials (M3U URL, Xtream Codes username/password).
  • Connected device count, stream stats if your panel exposes them.
  • Expiration date with prominent renewal CTA.
  • App download links (IPTV-Smarters, TiviMate, etc.) per device platform.
  • Self-service support: change MAC, regenerate credentials, channel list.

Step 7 — Renewal automation

IPTV customers don't always remember to renew. Aggressive (but kind) reminders:

  • 7 days before expiry: friendly email.
  • 3 days before: reminder with one-click renew link.
  • 1 day before: final reminder.
  • Day of expiry: SMS if you've collected phone numbers.
  • 2 days after expiry: "We've put your line on hold for 5 more days — renew to restore."
  • 7 days after expiry: line terminated, data archived for 30 days.

WHMCS's automation engine handles all of this — see Setup → Automation Settings.

How to verify the IPTV billing setup

  1. Place a test order. Pay (or use crypto sandbox).
  2. Confirm WHMCS provisions the line on your IPTV panel.
  3. Customer receives credentials in welcome email.
  4. Customer can connect using IPTV-Smarters (or whatever app).
  5. Suspend the service in WHMCS → line disconnects immediately on the panel.
  6. Unsuspend → line works again.
  7. Wait for renewal cycle → invoice generates, charges (auto-renew customers), or reminders fire.

Common pitfalls

"Provisioning succeeds but customer can't log in." Panel API returned success on a malformed request — line exists but credentials don't match. Cross-check the API response with the panel's UI.

"Customer claims they renewed but line is suspended." Renewal payment processed but module's UnsuspendAccount didn't fire. Common cause: payment timing — invoice marked paid right after the cron's suspension check.

"Fraud rate is killing the business." Tighten 3DS + manual review for first-time customers from high-risk regions. Accept that you'll lose some legit customers; the alternative is chargebacks closing your Stripe account.

"Crypto payments take too long; customer churns waiting." Use stablecoins (USDT) with low-fee networks (Tron, BSC). Bitcoin confirmation times are too slow for impulse buys.

My take — IPTV is high-margin but high-effort

IPTV billing succeeds when:

  1. Trial conversion is >15% (industry average is 8-12%).
  2. Chargeback rate is <1% (gateway threshold is usually 1%).
  3. Renewal rate is >80%.

The work to get there is heavy on fraud prevention and customer onboarding automation. Done right, IPTV businesses are some of the most profitable WHMCS use cases I see.

Going further


I build IPTV billing platforms on WHMCS — custom provisioning modules, fraud screening, crypto gateways, customer portals. Tell me about your IPTV business and I'll send a quote in 24 hours.

Share this article

S

Written by

Shahid Malla

WHMCS expert, full-stack developer, technical lead at Fada.cloud. 10+ years building hosting platforms, custom modules, and automation that ships.

Trusted platforms

Prefer to hire through a platform?

Not sure about working directly? Hire me through Fiverr or Upwork instead - same me, same work, with the platform's buyer protection and escrow.

Got a project like this?

Tell me what you need - I'll send a real quote within 24 hours.