ISPBills connects to a wide range of external services and network equipment to provide a unified ISP management experience. From collecting payments and sending notifications to monitoring routers and provisioning VPN tunnels, each integration is designed to reduce manual work and keep your operation running smoothly. This page covers every supported integration, how to set it up, and what it enables for your business.


Payment Gateways

ISPBills supports multiple online and offline payment methods so your customers can pay their bills conveniently. You can enable one or more gateways at the same time.

Supported Gateways

Gateway Type Description
bKash Checkout Online (MFS) Redirect customers to the bKash payment page. Supports one-time payments.
bKash Tokenized Online (MFS) Save customer bKash agreements for recurring payments without repeated redirects. Supports refunds.
Nagad Online (MFS) Redirect customers to Nagad's secure checkout with RSA-encrypted transactions.
SSLCommerz Online (Aggregator) Accept payments via cards, mobile banking, and internet banking through SSLCommerz.
Stripe Online (International) Global payment processing for international subscribers. Credit/debit card payments with PCI compliance, recurring billing and webhook-based confirmation.
ShurjoPay Online (Aggregator) Multi-method payment gateway supporting cards, MFS, and internet banking.
AamarPay Online (Aggregator) Payment aggregator supporting cards and mobile wallets in Bangladesh.
EasyPayWay Online (Aggregator) Payment aggregator with card and mobile banking support.
WalletMix Online (Aggregator) Accept payments through the WalletMix platform.
BdSmartPay Online (Aggregator) Encrypted redirect-based payment gateway.
Razorpay Online (India) India's leading payment gateway. Accept credit/debit cards, UPI, wallets and net banking payments from Indian subscribers.
M-Pesa (Safaricom) Online (Africa) Mobile money via Daraja STK Push — customer is prompted on their phone; no browser redirect needed.
PayPal Online (International) Global online payment platform with buyer protection and multi-currency support.
Khalti Online (Nepal) Nepal's digital wallet and payment gateway. Accept payments via Khalti wallet, mobile banking, connect IPS and SCT cards.
eSewa Online (Nepal) Nepal's largest digital wallet. Seamless subscriber payments with real-time confirmation.
IME Pay Online (Nepal) IME Pay digital wallet integration for Nepal. Subscriber bill payments with instant verification.
JazzCash Online (Pakistan) Pakistan's leading mobile wallet by Jazz. Accept subscriber payments via JazzCash wallet and mobile accounts.
Easypaisa Online (Pakistan) Telenor Microfinance Bank's mobile wallet for Pakistan. Subscriber payments via Easypaisa accounts and OTC collection.
HBL Konnect Online (Pakistan) HBL's digital payment solution for Pakistan. Accept payments via HBL mobile app and internet banking.
Paytm Online (India) India's popular digital payment platform. Accept payments via Paytm wallet, UPI and net banking.
Instamojo Online (India) Indian payment gateway for small businesses. Simple integration for subscriber bill payments via cards, UPI and wallets.
Authorize.Net Online (International) Visa's payment gateway for international card processing with PCI compliance and fraud detection.
SendMoney (Manual) Offline (MFS) Customers send money via mobile banking; operator verifies manually from SMS notification.
bKash QR / Manual Offline (MFS) Display a QR code for customers to send bKash payments; operator confirms manually.
Cash Payment Offline Operator records cash collection directly in the system.

Setting Up a Payment Gateway

  1. Go to Settings → Payment Gateways.

  2. Click Add Gateway and select your provider.

  3. Enter the credentials provided by your payment service:

    Provider Credentials needed
    bKash (Checkout / Tokenized) Username, Password, App Key, App Secret
    Nagad Merchant ID, Merchant Private Key, Nagad Public Key
    SSLCommerz Store ID, Store Password
    ShurjoPay Username, Password
    AamarPay Store ID, Signature Key
    EasyPayWay Store ID, Signature Key
    WalletMix Username, Password, WMX ID, App Key
    BdSmartPay Merchant ID, Password
  4. Choose Sandbox mode for testing or Production mode for live payments.

  5. Click Test Connection to verify your credentials.

  6. Click Save and optionally mark the gateway as Default.

Tip: You can enable multiple gateways and let customers choose their preferred payment method at checkout.

Payment Flow

  1. A customer opens their invoice and clicks Pay Now.
  2. They select a payment method and are redirected to the gateway's secure page.
  3. After completing the payment, they are redirected back to ISPBills.
  4. ISPBills automatically verifies the payment with the gateway and marks the invoice as Paid.
  5. A receipt is generated and an optional notification (SMS, Email, or WhatsApp) is sent.

Viewing Payment History

Go to Billing → Payments to view all completed and pending transactions, including the gateway used, transaction ID, amount, and status.


SMS Gateways

ISPBills can send automated SMS messages to customers for billing reminders, payment confirmations, service notifications, and one-time passwords. Messages are sent through a third-party SMS provider that you configure.

Supported SMS Providers

Provider Notes
Robi SMS (Mobireach) Robi operator SMS API
Elitbuzz Popular BD bulk SMS provider
BangladeshSMS Elitbuzz-family provider
M2M BD Elitbuzz-family provider
Maestro SMS Elitbuzz-family provider
BTS SMS Elitbuzz-family provider
880SMS Elitbuzz-family provider
BrandSMS Elitbuzz-family provider
MetroTel Elitbuzz-family provider
DianaHost Elitbuzz-family provider
DhakaSoft BD Elitbuzz-family provider
BulkSMS BD Standalone bulk SMS provider
SSL Wireless Enterprise SMS provider from SSLCommerz group
ADN SMS BD SMS provider with delivery status tracking
24 SMS BD Bulk SMS provider
SMSNET Bulk SMS provider
SMS in BD Bulk SMS provider with SMS count tracking
BD Smart Pay SMS SMS service from BdSmartPay
TextSMS Kenya bulk SMS via textsms.co.ke — Partner ID + API Key + Shortcode
Twilio SMS Global cloud SMS platform by Twilio with delivery receipts and analytics
Plivo SMS Cloud communication platform for high-volume transactional and bulk SMS across 190+ countries
Vonage SMS Vonage (Nexmo) SMS API for global messaging with delivery tracking
MSG91 Indian enterprise SMS gateway with high-throughput delivery and OTP verification
TextLocal SMS TextLocal SMS platform for India and international bulk messaging
Karix SMS Enterprise SMS API by Karix (India) for A2P messaging
Sparrow SMS Nepal's leading bulk SMS provider for transactional and promotional messaging
Aakash SMS Aakash SMS gateway for Nepal with API integration
Jazz SMS Jazz (Mobilink) operator SMS API for Pakistan
Telenor SMS Telenor Pakistan SMS API for direct delivery to Telenor subscribers
Zong SMS Zong (CMPak) operator SMS gateway for Pakistan
seven.io SMS German cloud SMS platform (formerly sms77) for global messaging with Flash SMS and Unicode support
SMS Astral Global SMS API with customizable endpoint for bulk and transactional messaging

Setting Up an SMS Gateway

  1. Go to Settings → SMS Gateways.
  2. Click Add Gateway and select your provider from the dropdown.
  3. Enter the credentials from your SMS provider account:
    • Most providers require an API Key or Username + Password.
    • Some providers also require a Sender ID (the name that appears as the message sender).
  4. Click Test Send to send a test message to your own phone number.
  5. Click Save.

SMS Billing

SMS usage is tracked and billed within ISPBills. Each message is counted (including multi-part messages for long texts) and deducted from your SMS balance. You can top up your SMS balance from SMS → Balance.

Sending Messages

  • Automatic: Configure event triggers (bill due, payment received, account suspended, etc.) under Settings → Notification Events to send SMS automatically.
  • Manual: Go to SMS → Send SMS to compose and send a message to one or more customers.
  • Broadcast: Go to SMS → Broadcast to send a message to a filtered group of customers by zone, package, or status.

View SMS History

Go to SMS → History to see every message sent, including delivery status, recipient, message text, and cost.


WhatsApp: Send Notifications to Customers

What is This Feature?

When a customer's bill is due, a payment is received, or an account is suspended, ISPBills can automatically send a WhatsApp message to the customer's phone number.

Supported Providers

You need an account with one of the following services:

Provider Where to sign up
Meta Cloud API developers.facebook.com
Twilio twilio.com
360dialog 360dialog.com

Step 1 – Set Up Your Provider Account

Meta Cloud API (recommended for most operators)

  1. Log in to Meta for Developers with your Facebook Business account.

  2. Create an app of type Business and add the WhatsApp product.

  3. Under WhatsApp → API Setup, find and copy:

    • Phone Number ID
    • WhatsApp Business Account ID
    • Access Token
  4. Go to WhatsApp Manager → Message Templates and submit a template for approval. Example:

    "Dear {{1}}, your bill of {{2}} is due on {{3}}. Please pay on time. – {{4}}"

    Wait for Meta to approve the template, which usually takes up to 24 hours.

Twilio

  1. Log in to Twilio Console.
  2. Copy your Account SID and Auth Token from the main dashboard.
  3. Note your WhatsApp-enabled sender number under Messaging → Senders.

360dialog

  1. Log in to 360dialog Hub.
  2. Copy the API Key for your channel and note your WhatsApp Business Number.

Step 2 – Add a Gateway in ISPBills

  1. Click New Integration → WhatsApp Gateways.
  2. Click Add Gateway.
  3. Select your provider and fill in the credentials from Step 1.
  4. Click Test Send, enter your own phone number, and confirm you receive a test message.
  5. Click Save and tick Set as Default if this is your primary gateway.

Step 3 – Configure Event Notifications

  1. Click New Integration → WhatsApp Gateways and open the Events tab (or go to notification settings).
  2. For each billing event (Bill Due, Payment Received, etc.), select the template you want to use and toggle it On.
  3. When the event occurs, ISPBills will automatically send the message to the customer's phone number on file.

Step 4 – Send a Broadcast

To send a message to multiple customers at once:

  1. Click New Integration → WhatsApp Broadcast.
  2. Write your message or select a template.
  3. Choose a customer group or filter by zone, package, or status.
  4. Click Send.

View Message History

Click New Integration → WhatsApp History to see every message sent, including delivery status (Sent, Delivered, Read, Failed).

Webhook for Delivery Updates

ISPBills can receive real-time delivery status updates from your WhatsApp provider via webhook. When you configure your provider's webhook to point to ISPBills, message statuses (Sent, Delivered, Read, Failed) are updated automatically in the WhatsApp History.

To set up the webhook, copy the webhook URL shown on the WhatsApp Gateway settings page and paste it into your provider's webhook configuration.


Email: Configure Email Notifications

What is This Feature?

ISPBills can send professional emails to customers from your own email address (for example, billing@yourisp.com) using your own email server or a service such as Gmail or SendGrid.

Before You Start

You need SMTP credentials from your email provider. If you are unsure what SMTP means, ask your IT team or email service provider for:

  • SMTP host name (e.g. smtp.gmail.com)
  • SMTP port (usually 587)
  • Your email username and password

Gmail users: Use an App Password instead of your regular password. Go to your Google Account → Security → 2-Step Verification → App Passwords to generate one.

Supported Mail Services

Service Setup method
Any SMTP server Enter host, port, username, password directly
Gmail SMTP with App Password
SendGrid SMTP or API
Mailgun API integration (domain + API key)
Amazon SES API integration (AWS access key + secret)
Postmark API integration (server token)

Step 1 – Configure SMTP

  1. Click New Integration → Email Settings.

  2. Click Configure SMTP.

  3. Fill in the form:

    Field Example
    SMTP Host smtp.gmail.com
    SMTP Port 587
    Encryption TLS
    Username billing@yourisp.com
    Password (your SMTP password or App Password)
    From Address billing@yourisp.com
    From Name YourISP Billing
  4. Click Test Connection. You will receive a test email at your operator account email address if everything is correct.

  5. Click Save.

Step 2 – Customise Email Templates

ISPBills includes default templates for common billing events. You can customise the subject line and body:

  1. Click New Integration → Email Templates.

  2. Click Edit next to the template you want to change (e.g. "Bill Due Notice").

  3. Edit the subject and body. Use {{variable_name}} placeholders to insert customer-specific data.

    Available placeholders (examples):

    • {{customer_name}} – the customer's full name
    • {{invoice_number}} – the invoice reference
    • {{amount}} – the invoice amount
    • {{due_date}} – the payment due date
    • {{company_name}} – your ISP's name
  4. Click Save Template.

Step 3 – Enable Event Emails

  1. In the Email Templates list, toggle Active for each event you want to send emails for.
  2. ISPBills will automatically email customers when those events occur.

View Email History

Click New Integration → Email History to see every email sent, including whether it was delivered or failed, and the error message if it failed.

Emails landing in spam? Ask your IT team to add SPF and DKIM DNS records for your sending domain. This tells email providers that your ISP is authorised to send email from that address.


Telegram Integration

What is This Feature?

ISPBills can send alerts and notifications to Telegram groups or channels using a Telegram Bot. This is especially useful for emergency network alerts, internal team notifications, and customer support escalations.

Chat Types

You can configure different Telegram chats for different purposes:

Chat type Use case
Emergency Notification Critical network alerts (e.g. router down, major outage) sent to your NOC team
Software Support ISPBills system alerts and support messages
Customer Support Customer-facing support messages

Setting Up Telegram

  1. Create a Telegram Bot:

    • Open Telegram and search for @BotFather.
    • Send /newbot and follow the prompts to name your bot.
    • Copy the Bot Token that BotFather provides.
  2. Create a Telegram Group or Channel:

    • Create a new Telegram group for your NOC team (e.g. "ISP Emergency Alerts").
    • Add the bot you just created to the group.
    • Get the Chat ID by adding the bot @userinfobot to the group or using the Telegram API.
  3. Register the Bot in ISPBills:

    • Ask your system administrator to run the bot registration command with your bot token and operator ID.
  4. Add Chats:

    • Register each Telegram chat (group or channel) in ISPBills, specifying the chat type (Emergency, Support, etc.).
  5. Register the Webhook:

    • Register the webhook so ISPBills can receive incoming messages from Telegram.

How It Works

Once configured, ISPBills will automatically send messages to the appropriate Telegram chat when events occur. For example, when a monitored device goes offline, an emergency notification is sent to your NOC Telegram group instantly.


Network Hardware — Mikrotik RouterOS

What is This Feature?

If your network uses Mikrotik routers, ISPBills can connect directly to them via the RouterOS API. This allows you to manage customer connections, synchronise router data, and monitor router health — all from within ISPBills.

Capabilities

Feature Description
PPPoE / Hotspot management Create, modify, and remove PPP secrets and Hotspot users on the router
Data synchronisation Pull PPP profiles, IP pools, Hotspot users, and queue data from routers into ISPBills
Live monitoring View CPU, memory, storage, interface traffic, PPP sessions, and wireless clients in real time
Configuration export Download the running configuration from any managed router
Audit logging All API interactions with routers are logged for accountability

Adding a Mikrotik Router

  1. Go to Network → Routers (NAS).

  2. Click Add Router.

  3. Fill in the connection details:

    Field What to enter
    Name A label for this router (e.g. "Core Router — Zone A")
    IP Address The router's management IP address
    API Port RouterOS API port (default: 8728, or 8729 for SSL)
    API Username A RouterOS user with API access
    API Password The password for that user
    RADIUS Secret The shared secret used for RADIUS authentication (if applicable)
  4. Click Test Connection to verify API access.

  5. Click Save.

Tip: Create a dedicated API user on your Mikrotik router with limited permissions for ISPBills access.

Synchronising Data

After adding a router, ISPBills can pull the following data automatically:

  • PPP Profiles — bandwidth plans and address assignments
  • IP Pools — available address ranges
  • Hotspot Users — current Hotspot accounts and their usage
  • Simple Queues — bandwidth queue rules

Synchronisation runs on a schedule and can also be triggered manually from the router detail page.

Monitoring Dashboard

Go to Network → Router Monitor and select a router to view:

  • CPU, memory, and storage usage
  • Top interfaces by traffic (RX/TX)
  • Active PPPoE and Hotspot session counts
  • Wireless station signal quality (for wireless routers)

RADIUS / FreeRADIUS

What is This Feature?

ISPBills integrates with FreeRADIUS (backed by PostgreSQL) to handle customer authentication and accounting for PPPoE, Hotspot, and other RADIUS-based connections. When a customer connects to your network, RADIUS verifies their credentials and applies the correct service plan.

How It Works

  1. A customer's device (via PPPoE or Hotspot) sends login credentials to your NAS (router/OLT).
  2. The NAS forwards the request to the FreeRADIUS server.
  3. FreeRADIUS checks the credentials against the ISPBills database.
  4. If valid, it returns an Accept response with attributes (IP address, bandwidth, etc.).
  5. Accounting records (session time, data usage) are written back and synchronised with ISPBills for billing.

Key Data Managed

Data Description
Check attributes Customer credentials (username/password) used for authentication
Reply attributes Attributes sent back to the NAS (e.g. assigned IP address, rate limits)
User groups Group-level policies that apply shared settings to multiple customers
Accounting records Session start/stop times, bytes uploaded/downloaded per session
Post-auth logs Logs of every authentication attempt (accept or reject)

Configuration

Your system administrator sets up the RADIUS connection during installation. ISPBills needs:

  • PostgreSQL host, port, database name, username, and password for the RADIUS database.
  • A cache backend (Memcached recommended) for high-performance lookups.

Accounting Sync

ISPBills periodically pulls accounting data from RADIUS to:

  • Track which customers are currently online.
  • Calculate data usage for usage-based billing.
  • Automatically disconnect customers whose subscription has expired or balance is exhausted.

OLT / ONU Fibre Management

What is This Feature?

If you deliver internet over fibre (GPON or EPON), ISPBills can connect to your OLT (Optical Line Terminal) equipment to discover and manage ONU devices at customer premises. This gives you a unified view of all fibre subscribers, their signal levels, and connection status.

Supported OLT Brands

Brand Discovery method
VSOL Telnet CLI + SNMP
DBC Telnet CLI + SNMP
ZTE SNMP
Huawei SNMP + Telnet
BDCOM SNMP + Telnet
FiberHome SNMP
C-Data SNMP
Nokia SNMP
Raisecom SNMP
HIOSO SNMP (VSOL-compatible)
Syrotech SNMP (VSOL-compatible)

Adding an OLT

  1. Go to Network → OLT Management.

  2. Click Add OLT.

  3. Fill in the connection details:

    Field What to enter
    OLT Name A label (e.g. "Zone B GPON OLT")
    IP Address The OLT management IP
    Brand Select from VSOL, DBC, ZTE, Huawei, BDCOM, FiberHome, C-Data, Nokia, Raisecom, HIOSO, or Syrotech
    Username / Password Telnet or SSH login credentials
    Enable Password Enable/privileged mode password (if required)
    SNMP Community SNMP community string (e.g. public)
  4. Click Test Connection to verify access.

  5. Click Save.

ONU Discovery and Sync

After adding an OLT, ISPBills discovers all connected ONUs and collects:

Data Description
ONU Identifier MAC address or serial number
PON Port The physical port on the OLT
Status Online or Offline
Signal Level Optical RX power in dBm
Distance Estimated distance from OLT
Temperature ONU operating temperature

Customer Auto-Mapping

ISPBills automatically links ONUs to customer accounts by matching the ONU's MAC address to the customer's registered MAC. If no match is found, it checks active RADIUS sessions as a fallback. This means most of your fibre subscribers will appear linked to their ONU without any manual work.


Zabbix: Monitor Your Network

What is Zabbix?

Zabbix is an open-source network monitoring platform. If your team already uses Zabbix to monitor routers, switches, or servers, you can pull that data into ISPBills so your NOC team can review host status and active alerts without leaving the billing panel.

Before You Start

  • You need a Zabbix server (version 5 or 6) that is reachable from the ISPBills server.
  • You need a Zabbix user account with read-only API access. Ask your network administrator to create one if you do not already have one.

Step 1 – Create a Zabbix API User

Ask your network administrator or follow these steps in Zabbix:

  1. Open Zabbix and go to Administration → Users.
  2. Create a new user (e.g. ispbills_api) with the User role.
  3. Set a strong password.
  4. In Zabbix 6.x, edit the user's role and ensure API access is checked.

Step 2 – Add the Zabbix Server in ISPBills

  1. In ISPBills, click New Integration → Zabbix Servers in the left menu.

  2. Click Add Server.

  3. Fill in the form:

    Field What to enter
    Name A label you will recognise (e.g. "Main NOC")
    URL The web address of your Zabbix panel (e.g. https://zabbix.myisp.com)
    Username The API user you created in Step 1
    Password The password for that user
  4. Click Test Connection. A green message confirms the connection is working.

  5. Click Save.

Step 3 – View the Monitoring Dashboard

  1. Click New Integration → Zabbix Monitor in the left menu.
  2. The dashboard shows:
    • All monitored hosts and their availability status (green = up, red = down).
    • Active problems with their severity level (Information, Warning, Average, High, Disaster).
  3. Data refreshes automatically every 5 minutes in the background.

Tip: You can add more than one Zabbix server if you manage multiple sites.


VPN: Set Up VPN Accounts for Customers

What is This Feature?

ISPBills can provision VPN (Virtual Private Network) tunnels for customers. This is useful for operators who offer remote-access VPN as an add-on service. Multiple VPN types are supported:

Type Best for
WireGuard Modern, fast, mobile-friendly VPN with excellent performance
OpenVPN Wide device compatibility, industry standard, certificate-based
Mikrotik (L2TP/PPTP) Direct integration with Mikrotik routers via PPP secrets
SSTP Secure Socket Tunneling Protocol via Mikrotik routers

Before You Start

  • For WireGuard / OpenVPN: The ISPBills server, or a designated VM, must have WireGuard or OpenVPN installed and running. Ask your system administrator to confirm this is set up.
  • For Mikrotik / SSTP: The target Mikrotik router must be added as a NAS in ISPBills (see the Mikrotik RouterOS section above).

Step 1 – Add a VPN Server

  1. Go to VPN → VPN Servers in the admin menu.

  2. Click Add Server.

  3. Fill in the form:

    Field What to enter
    Name A label for this server (e.g. "WireGuard Main")
    Type WireGuard, OpenVPN, Mikrotik, or SSTP
    Public IP The IP address customers will connect to
    Port The port number (WireGuard default: 51820; OpenVPN default: 1194)
    Server Public Key (WireGuard only) Paste the server's public key — your sysadmin can provide this
    API URL (If using a remote VPN management API) The API endpoint URL
    API Key (If using a remote VPN management API) The API authentication key
  4. Click Test Connection to confirm ISPBills can reach the VPN server.

  5. Click Save.

Step 2 – Create a VPN Account for a Customer

  1. Go to VPN → VPN Accounts.
  2. Click Create Account.
  3. Select the customer and the VPN server.
  4. Click Save. The account is created with status Pending.

Step 3 – Provision the Account

  1. Find the account in the list and click Provision.
  2. ISPBills automatically:
    • Generates a secure key pair for the customer (WireGuard) or a certificate (OpenVPN).
    • Assigns the customer a unique tunnel IP address from the configured pool.
    • Registers the customer's credentials on the VPN server.
    • For Mikrotik servers, creates a PPP secret directly on the router via the RouterOS API.
  3. The account status changes to Active.

Step 4 – Give the Config to the Customer

After provisioning:

  • Click Download Config to download a .conf file (WireGuard) or .ovpn file (OpenVPN) to send to the customer.
  • For WireGuard accounts, click Show QR to display a QR code the customer can scan directly with the WireGuard app on their phone.

WireGuard app: available free on iOS App Store and Google Play.

OpenVPN app: available free on iOS App Store and Google Play.

Step 5 – Revoke a VPN Account

If a customer cancels or you need to disable their VPN access:

  1. Find the account in VPN → VPN Accounts.
  2. Click Revoke.
  3. The tunnel is disabled immediately. The customer can no longer connect.

Certificate Management

For OpenVPN servers, ISPBills securely stores CA certificates and keys using encryption. When a new customer account is provisioned, a unique client certificate is generated and signed by the CA. All certificates and keys are encrypted at rest.


Status Check Service

What is This Feature?

The Status Check service lets you monitor the availability of any host, service, or website from within ISPBills. You can set up checks for your routers, servers, customer-facing portals, or any external dependency.

Supported Check Types

Type What it monitors
HTTP / HTTPS Web server availability, response time, and status codes
Ping (ICMP) Host reachability and round-trip latency
TCP Port availability (e.g. is port 8728 open on a router?)
DNS DNS resolution and response time
SSL Certificate Certificate expiry — alerts when a certificate is expiring within 7 days
SNMP Device uptime via SNMP sysUptime query

Setting Up a Status Check

  1. Go to Monitoring → Status Checks.
  2. Click Add Check.
  3. Select the check type, enter the target host/URL, and set the check interval (e.g. every 5 minutes).
  4. Click Save.

Incidents

When a check fails, ISPBills creates an Incident with a severity level (Critical, Warning, or Info). The incident remains open until the check succeeds again. You can view all incidents under Monitoring → Incidents.

Auto-Monitoring

When you add a new device (Mikrotik router, Cambium radio, Ubiquiti device, or OLT), ISPBills automatically creates Ping and/or SNMP status checks for it. This means your core network equipment is monitored from the moment you add it.

Result Retention

Check results (response times, status codes, errors) are stored for 30 days and can be reviewed on the check detail page.


NetFlow Collection

What is This Feature?

ISPBills can collect and analyse NetFlow/IPFIX traffic data from your Mikrotik routers. This gives you detailed insight into bandwidth usage patterns, top talkers, and per-customer traffic breakdowns.

How It Works

  1. Your Mikrotik router exports NetFlow v9 or IPFIX data to the ISPBills collector.
  2. The collector deduplicates and batches the flow records.
  3. Flow data is stored in the ISPBills database, linked to customers via their router/NAS.

Setting Up NetFlow

  1. Configure your Mikrotik router to export NetFlow:

    • Enable Traffic Flow on the router.
    • Set the target IP to your ISPBills server and the target port (default: 2055).
    • Set the NetFlow version to v9 or IPFIX.
  2. Configure ISPBills:

    • Ask your system administrator to start the NetFlow collector service on the ISPBills server.
    • Set the NetFlow ingest secret in your ISPBills configuration for secure data ingestion.
  3. View traffic data under Monitoring → NetFlow.

Features

Feature Description
Per-customer traffic View upload/download by customer, linked via NAS/router association
Port-based analysis Identify traffic by well-known service ports (HTTP, HTTPS, DNS, etc.)
Geo-IP resolution Optionally resolve destination IPs to countries (requires MaxMind GeoIP database)
Alert thresholds Set bandwidth alerts to detect unusual usage patterns
Retention policies Configure how long flow data is retained to manage storage

Cambium Networks

What is This Feature?

If you use Cambium wireless equipment (ePMP, PMP 450, cnPilot), ISPBills can connect to your devices to collect performance data and monitor link health.

Supported Device Types

Device family Examples
ePMP ePMP Connectorized, ePMP Integrated
PMP 450 PMP 450 series access points and subscriber modules
cnPilot cnPilot enterprise Wi-Fi access points

Adding a Cambium Device

  1. Go to Monitoring → Cambium Devices.
  2. Click Add Device.
  3. Enter the device IP address, port (default: 443), and login credentials.
  4. Click Test Connection to verify access.
  5. Click Save.

Collected Data

ISPBills polls each Cambium device periodically and collects:

  • Device name, product model, and firmware version
  • CPU and memory usage
  • Uptime
  • Radio signal strength (RSSI), noise floor, SNR, and link quality (CCQ)
  • TX/RX data rates and throughput
  • Connected subscriber/station list with per-station metrics

Note: When you add a Cambium device, ISPBills automatically creates status checks (Ping and SNMP) so you are alerted if the device goes offline.


Ubiquiti Networks

What is This Feature?

ISPBills integrates with Ubiquiti airMAX devices running airOS firmware. This lets you monitor your Ubiquiti radios (PowerBeam, NanoStation, Rocket, LiteBeam, etc.) from within ISPBills.

Adding a Ubiquiti Device

  1. Go to Monitoring → Ubiquiti Devices.
  2. Click Add Device.
  3. Enter the device IP address, port (default: 443), and login credentials.
  4. Click Test Connection to verify access.
  5. Click Save.

Collected Data

ISPBills polls each Ubiquiti device and collects:

  • Hostname and wireless mode (AP or Station)
  • Signal strength (dBm) and noise floor
  • CCQ (Client Connection Quality) percentage
  • TX/RX data rates
  • CPU and memory usage
  • Uptime
  • Connected stations list (when the device is in AP mode)

Note: Ubiquiti devices are automatically added to the status check monitoring when registered.


Webhook System

What is This Feature?

ISPBills can send real-time HTTP notifications (webhooks) to external systems whenever important events occur — such as a new payment, a customer suspension, or a network alert. This lets you integrate ISPBills with custom applications, automation platforms, or third-party services.

How Webhooks Work

  1. You register a webhook endpoint (a URL on your server that can receive HTTP POST requests).
  2. You select which events the endpoint should receive.
  3. When an event occurs, ISPBills sends a POST request to your URL with the event data as JSON.
  4. Each request is signed with an HMAC-SHA256 signature so your server can verify it came from ISPBills.

Setting Up a Webhook

  1. Go to Settings → Webhooks (or use the API).
  2. Click Add Endpoint.
  3. Enter your endpoint URL (must be HTTPS).
  4. Select the events you want to receive (or choose All Events).
  5. Click Save. ISPBills will generate a signing secret — copy and store this securely. It is only shown once.

Webhook Request Format

Each webhook request includes:

Header Description
X-Webhook-Event The event name (e.g. payment.received)
X-Webhook-Signature HMAC-SHA256 signature for payload verification

The request body is a JSON object containing the event name, timestamp, and event-specific data.

Retry Policy

If your endpoint is unreachable or returns an error, ISPBills retries up to 3 times with increasing delays (30 seconds, 60 seconds, 120 seconds).

Managing Webhooks via API

You can also manage webhook endpoints programmatically through the ISPBills API:

Action Method Endpoint
List endpoints GET /v2/webhooks
Create endpoint POST /v2/webhooks
Update endpoint PUT /v2/webhooks/{id}
Delete endpoint DELETE /v2/webhooks/{id}

OAuth / Single Sign-On (SSO)

What is This Feature?

ISPBills supports social login and passwordless authentication so operators can sign in using their existing Google or Facebook accounts, or use a hardware security key (WebAuthn/FIDO2).

Supported Providers

Provider Protocol
Google OAuth 2.0
Facebook OAuth 2.0
WebAuthn FIDO2 (hardware key / biometric)

Setting Up Google SSO

  1. Go to Google Cloud Console and create a new OAuth 2.0 client.
  2. Set the Authorized Redirect URI to https://yourdomain.com/auth/social/google/callback.
  3. Copy the Client ID and Client Secret.
  4. In ISPBills, go to Settings → OAuth / SSO.
  5. Enable Google, paste the Client ID and Client Secret, and click Save.

Setting Up Facebook SSO

  1. Go to Meta for Developers and create an app.
  2. Add the Facebook Login product.
  3. Set the Valid OAuth Redirect URI to https://yourdomain.com/auth/social/facebook/callback.
  4. Copy the App ID and App Secret.
  5. In ISPBills, go to Settings → OAuth / SSO.
  6. Enable Facebook, paste the App ID and App Secret, and click Save.

WebAuthn (Hardware Key)

When enabled, operators can register a FIDO2 security key (e.g. YubiKey) or use biometric authentication (fingerprint, face) for passwordless login.

  1. In ISPBills, go to Settings → OAuth / SSO.
  2. Enable WebAuthn.
  3. Operators can then register their security key from their profile settings.

External API

What is This Feature?

ISPBills provides a REST API that lets external applications read and write data programmatically. Use it to build custom dashboards, mobile apps, or integrations with other business tools.

API Versions

Version Authentication Status
V1 Bearer token (user API token) Legacy — functional but not recommended for new integrations
V2 OAuth2 client credentials Current — recommended for all new integrations

Getting Started with API V2

  1. Go to Settings → API Management.
  2. Click Create API Client.
  3. Set a name, select the permission scopes the client needs, and set a rate limit.
  4. Click Save. Copy the Client ID and Client Secret — the secret is only shown once.
  5. To authenticate, POST to /v2/auth/token with your client credentials to receive an access token.
  6. Include the token as a Bearer header on all subsequent API requests.

Key API Endpoints (V2)

Category Endpoints
Customers List, create, update, delete customers; view bills, payments, subscriptions, usage
Billing List bills and payments
Packages List available service packages
Network List routers, OLTs, ONUs, IP pools
Monitoring Zabbix hosts/problems, devices, status checks
SMS Check balance, send single or broadcast messages
VPN List accounts, download configurations
Webhooks CRUD for webhook endpoints

Rate Limiting

API V2 enforces per-client rate limits. If you exceed your limit, the API returns HTTP 429 Too Many Requests. Adjust limits in the API client settings.

For full API reference, see the API Management documentation.


Intercom

What is This Feature?

ISPBills can sync operator contact data to Intercom and create conversations for customer support workflows. When enabled, operator profiles are synced as Intercom contacts, and support interactions can be managed from the Intercom inbox.

Setup

  1. Log in to your Intercom account and generate an Access Token from Settings → Developers → Developer Hub.
  2. In ISPBills, go to Settings → Intercom.
  3. Paste your Access Token and click Save.

ISPBills will sync operator contact details (name, email, phone) to Intercom and can create conversations and add notes on behalf of operators.


Zendesk (Sunshine Conversations)

What is This Feature?

ISPBills integrates with Zendesk Sunshine Conversations to send messages to customers through Zendesk's messaging platform. This is useful if your support team uses Zendesk as their primary helpdesk.

Setup

  1. In your Zendesk account, go to Sunshine Conversations and create an API key.
  2. Note the App ID, Key ID, and Key Secret.
  3. In ISPBills, go to Settings → Zendesk and enter these credentials.
  4. Click Save.

ISPBills can then create conversations and send messages (including OTP templates) to customers through Zendesk.


Slack Integration

What is This Feature?

ISPBills can send notifications to a Slack channel using an incoming webhook. This is useful for alerting your team about critical events in a shared Slack workspace.

Setup

  1. In your Slack workspace, go to Apps → Incoming Webhooks and create a new webhook.
  2. Select the channel where you want notifications to appear.
  3. Copy the Webhook URL.
  4. Ask your system administrator to configure the Slack webhook URL in the ISPBills server settings.

Once configured, ISPBills will post notifications (e.g. critical alerts, system events) to your designated Slack channel.


MaxMind GeoIP

What is This Feature?

ISPBills can use the MaxMind GeoLite2 database to resolve IP addresses to countries. This is used primarily by the NetFlow module to show geographic breakdowns of traffic destinations.

Setup

  1. Create a free account at MaxMind.
  2. Download the GeoLite2-Country.mmdb database file.
  3. Place the file on the ISPBills server (the default location is storage/app/geoip/GeoLite2-Country.mmdb).
  4. Ask your system administrator to set the database path in the ISPBills configuration.

Once configured, NetFlow traffic reports will include country-level geographic data for destination IP addresses.

Tip: MaxMind updates the GeoLite2 database regularly. Set up a scheduled download to keep your data current.


Getting Help

If you encounter issues with any of these integrations:

  1. Check the History or Log pages for error messages — they usually explain what went wrong.
  2. Use the Test Connection or Test Send button to diagnose credential or connectivity problems.
  3. Contact ISPBills support with the error message from the log.