Vendor Console
New ISP? Register your realm · an administrator will approve it after payment.
View adapts to screen size automatically — switch from the topbar after sign-in.
Onboarding: pick or create the customer, choose the account, then add the PPPoE line. IDs (customer / account / subscription) are generated automatically.
Payment received? Optionally record a cash / bank / other payment taken for this signup — it lands in Payments. Leave method as “none” to skip.
Or take an M-Pesa payment now — STK push to the customer's phone, or paste their M-Pesa code. A verified payment activates the subscriber immediately; with no payment the user is created inactive/expired until they pay.
When users self-register at the login screen they land here. Confirm their M-Pesa receipt then approve to provision the realm + admin user.
Subscribers auto-blocked after repeated failed logins (expired account, wrong PPPoE password). Blocks lift automatically after the cooldown, or the moment the account is reactivated (expiry extended, realm renewed, FUP reset). Unblock manually below.
One catalog drives BOTH the hotspot portal and the normal-portal Buy Bundle. Price ranges must be contiguous — no gaps or overlaps; each range starts exactly where the previous ends.
Minutes = amount × the rate for that price range. e.g. 1 Mbps: 1–19=6, 20–29=9 ⇒ KSh 10 → 1 hr. Each speed has its own ranges + preset tiles.
During this local-time window a fresh at-purchase M-Pesa STK (matched by its CheckoutRequestID) grants each speed’s Offer bands (set inside each speed above). Outside the window — or for a pasted / old M-Pesa code — the normal bands apply. Set To earlier than From to wrap past midnight (e.g. 22:00–06:00).
MB = amount × the rate for that price range. Speed does not change the price — only validity does. Each validity has its own ranges + preset tiles.
Charge different rates per site. Click a location to expand and edit its Time & Volume rates; only one opens at a time. A location with none of its own uses the Default above.
Same as the Default: a fresh at-purchase STK inside this window grants each speed’s Offer bands; outside it, or for a pasted / old code, normal bands apply.
Every booked value — collected (cash + M-Pesa) plus waived — sectioned by stream (hotspot / PPPoE) × method, with the commission owed. Superadmin sees all realms; a realm sees only its own. Commission accrues on collected revenue only; waived value is shown but earns no commission.
Connected WiFi (MAC) devices for this realm. Use the buttons to pre-authorize a device or export CSV; each row can extend time, add a note, or be revoked.
Every collection for this realm — M-Pesa activations (hotspot & PPPoE) plus cash / bank / cheque / other payments taken during Extend, Buy bundle, Boosters or new-user signup, or recorded ad-hoc below. M-Pesa receipts verify automatically; use “Record payment” for anything off-rail.
Total shown: —
Priced time bundles sold on the WiFi portal's M-Pesa tab. Each maps a speed plan to minutes + price.
With a cap set, the session ends on whichever comes first — data used up OR minutes elapsed. No reset.
Prepaid codes customers redeem at the WiFi portal. Each voucher grants one device (MAC) a plan for the chosen minutes.
Each realm is an isolated tenant. Realm admins log in as user@realm-name and only see their own realm's data.
BNGs that serve this realm's PPPoE users. Disconnect/CoA is sent to whichever BNG is actually carrying the session, signed with that BNG's secret.
The phone and email your hotspot customers see under “Need help? Call us” on the captive-portal sign-in page, and the website the success page sends them to after paying.
Edit the WhatsApp notification templates and set the public payment-link base URL (e.g. https://isp.lexabensa.com) used in the pay/extend links sent to customers. Change the base once if the server IP/domain changes and every link follows.
The M-Pesa stores your payments are collected through. Assign a store to a hotspot location, or leave the location blank for the realm default. Secrets (consumer key / secret / passkey) are write-only — leave them blank when editing to keep the saved value.
Platform-wide tools.
Subscribers auto-blocked after repeated failed logins — review and unblock.
View adapts to your screen automatically — or pick a mode manually.
Boosters grant extra data valid until midnight of the day they are purchased.