Multi-Tenancy
FyberPay is a multi-tenant platform. Each ISP organization gets:- A unique subdomain (e.g.,
acme.fyberpay.com) - Isolated data (subscribers, invoices, payments)
- Independent configuration (plans, gateways, branding)
- Separate subscriber portal (
acme.fyberpay.com/portal)
Roles
Subscription Lifecycle
A subscriber moves through these states:- Active: Full internet access, RADIUS authorized
- Grace: Overdue but still connected, reminder SMS sent
- Walled Garden: Redirected to payment portal only (captive portal)
- Suspended: Disconnected, RADIUS rejects authentication
Billing Cycle
FyberPay generates invoices automatically based on each subscriber’s billing cycle:- Invoice created on the billing date
- STK Push sent automatically (if M-Pesa configured)
- Payment reconciled when M-Pesa callback received
- Dunning triggered if payment not received within grace period
Admin UI Structure
FyberPay’s admin UI is organized into hubs, each grouping related operational surfaces under one tab:
Settings are grouped at the bottom of the sidebar (General, Team, Billing & Dunning, Payment Gateways, Messaging, Network).
Network Integration
FyberPay connects to your network infrastructure:- RADIUS (FreeRADIUS): Authentication, authorization, and accounting for PPPoE and Hotspot subscribers. See the FreeRADIUS integration.
- MikroTik RouterOS: API-driven PPPoE / Hotspot / CPE-management services via the NasService model, with reconciler-based drift detection and a reserved-set guard against management-LAN corruption. See the MikroTik integration and the bridge-as-parent guide.
- GenieACS (TR-069): CPE auto-configuration for ONTs and routers (L3 management). See the GenieACS integration.
- SmartOLT: GPON OLT management (L2 / OMCI for ONUs).
Event-Driven Architecture
All operations in FyberPay flow through a transactional outbox:- Business operation executes (e.g., payment recorded)
- Domain event written to outbox in the same transaction
- Background processor dispatches event to listeners
- Listeners handle side effects (RADIUS sync, SMS, ledger entry)