Wibizpro

Integrate Wibizpro with Your Network

Connect your access point to Wibizpro and start selling WiFi access in minutes.

1 Get Your Wibizpro Parameters

  1. Create a site in your Wibizpro dashboard.
  2. Open the site page — the two values you need are shown there:
  • Portal URL : https://wibizpro.online/portal/?token=dt_your-site-token
    That is a placeholder — the URL is not real until you have created a site. Yours will carry its own token.
    See what the portal looks like →
  • RADIUS secret : your site's rad_xxx
Every site has its own secret. That secret is what tells Wibizpro which site a client is standing in — and therefore which passes are valid there.

2 Configure Your MikroTik Router

In RouterOS, open New Terminal. Do the blocks below in order — each one depends on the previous.

2.1 — Unlock device-mode (physical, once per router)

Recent MikroTik routers ship with the hotspot disabled at a level below user permissions. No password and no API can unlock it.

/system/device-mode/update mode=advanced

Then, within 5 minutes: unplug the power, wait 30 seconds, plug it back in.

Do not hold the reset button. A long press during boot restores factory settings and erases everything. And never run the update command twice — each retry increments a counter that eventually blocks the change.

Verify:

/system/device-mode/print # expected: mode=advanced hotspot=true fetch=true

2.2 — Separate the interfaces (hotspot on ethernet only)

The hotspot applies to the interface you give it. On a factory router, the bridge also carries the built-in WiFi — so the hotspot would cover it too. Move the Ethernet ports to their own bridge:

/interface bridge add name=bridge-clients /interface bridge port set [find interface=ether2] bridge=bridge-clients /interface bridge port set [find interface=ether3] bridge=bridge-clients /interface bridge port set [find interface=ether4] bridge=bridge-clients /interface bridge port set [find interface=ether5] bridge=bridge-clients /ip address add address=192.168.90.1/24 interface=bridge-clients /ip pool add name=clients-pool ranges=192.168.90.10-192.168.90.254 /ip dhcp-server add name=dhcp-clients interface=bridge-clients \ address-pool=clients-pool disabled=no /ip dhcp-server network add address=192.168.90.0/24 \ gateway=192.168.90.1 dns-server=192.168.90.1 /ip dns set allow-remote-requests=yes # Stable name printed on ticket QR codes (resolves to this hotspot) :if ([:len [/ip dns static find where name="wifi.wibizpro"]] > 0) do={ \ /ip dns static remove [find where name="wifi.wibizpro"] } /ip dns static add name=wifi.wibizpro address=192.168.90.1
The router's own WiFi stays outside the hotspot, so it gives free internet to anyone who joins it. Secure it with WPA2 or disable it. If you want the hotspot on the built-in WiFi too, put wifi1/wifi2 in bridge-clients instead.
wifi.wibizpro is only the local DNS name for the tickets. It resolves to 192.168.90.1 on this router. It is NOT the hotspot profile's DNS Name field — that one must stay empty (see 2.4). If you change the client subnet, change the address in this record too.

2.3 — RADIUS

/radius add address=144.202.47.181 secret=rad_xxx service=hotspot \ authentication-port=1812 accounting-port=1813 timeout=2s # Keep the default — never set this to "no" /radius set [find address=144.202.47.181] require-message-auth=yes-for-request-resp # so the server can disconnect a client immediately /radius incoming set accept=yes port=3799
Never set require-message-auth=no. That value disables protection against Blast-RADIUS (CVE-2024-3596): an attacker placed on the network path could turn a Reject into an Accept and give free internet without knowing the shared secret. Wibizpro sends the Message-Authenticator, so the default value works — leave it as is.

Replace rad_xxx with your site's secret. The hotspot lives on the router — never on the access points.

2.4 — Hotspot profile and hotspot

/ip hotspot profile add name=wibizpro hotspot-address=192.168.90.1 \ use-radius=yes radius-accounting=yes \ radius-interim-update=1m login-by=mac,http-pap /ip hotspot add name=wibizpro interface=bridge-clients \ address-pool=clients-pool profile=wibizpro disabled=no
Leave DNS Name empty. A DNS name such as wifi.local ends up in the login URL, and modern browsers upgrade it to https://wifi.local/login — which lands on the router's own web interface, not the portal. The result is a blank page.
Set the interim interval to 1m explicitly. RouterOS defaults to waiting for the server to dictate it, and Wibizpro does not send it. Without this line you lose live data usage, the online badge, and the one-live-device protection — with no error message anywhere.

2.5 — The captive login pages

Run these after the hotspot exists — it is what creates the files. Both are required: login.html is the page the client opens, redirect.html is the one the operating system shows automatically when it detects a captive portal.

/file set [find name~"login.html"] contents="<html><head></head><body><script>(function(){var portal='https://wibizpro.online/portal/?token=dt_your-site-token&clientMac=\$(mac-esc)&ap=wibizpro';var code='';try{var m=(window.location.href+'&').match(/[?&]code=([^&]+)/);if(m)code=decodeURIComponent(m[1]);}catch(e){}if(!code){try{var orig='\$(link-orig)';var m2=(orig+'&').match(/[?&]code=([^&]+)/);if(m2)code=decodeURIComponent(m2[1]);}catch(e){}}if(code)portal+='&code='+encodeURIComponent(code);window.location.replace(portal);})();</script><noscript><a href='https://wibizpro.online/portal/?token=dt_your-site-token&clientMac=\$(mac-esc)&ap=wibizpro'>Ouvrir le portail</a></noscript></body></html>" /file set [find name~"redirect.html"] contents="<html><head></head><body><script>(function(){var portal='https://wibizpro.online/portal/?token=dt_your-site-token&clientMac=\$(mac-esc)&ap=wibizpro';var code='';try{var m=(window.location.href+'&').match(/[?&]code=([^&]+)/);if(m)code=decodeURIComponent(m[1]);}catch(e){}if(!code){try{var orig='\$(link-orig)';var m2=(orig+'&').match(/[?&]code=([^&]+)/);if(m2)code=decodeURIComponent(m2[1]);}catch(e){}}if(code)portal+='&code='+encodeURIComponent(code);window.location.replace(portal);})();</script><noscript><a href='https://wibizpro.online/portal/?token=dt_your-site-token&clientMac=\$(mac-esc)&ap=wibizpro'>Ouvrir le portail</a></noscript></body></html>"
The URL needs three parameters. token identifies your site. clientMac is filled in by the router. ap identifies the access point — without it the portal opens in Preview Mode and never creates a session, even for a real customer.

If the command refuses to run — some firmware versions object to the nested quotes — edit both files by hand: Winbox → Files → hotspot folder → open the file → replace its whole contents.

2.6 — Verify

/system/device-mode/print # mode=advanced hotspot=true /radius/print # require-message-auth=yes-for-request-resp /ip/hotspot/print # invalid=false disabled=false /log/print where topics~"hotspot"

The expected log line for a client without a pass is: login failed: No active pass — buy one at wibizpro.online. If you see RADIUS server is not responding instead, the server is not returning the Message-Authenticator — contact us rather than changing any router setting.

Done. Unpaid clients are rejected and shown the Wibizpro portal; paid clients are accepted with their remaining time.

The WireGuard tunnel and the CoA operations are covered in the full runbook: docs/mikrotik-site-setup.md

3 Let Clients Reach the Portal

Unpaid clients are blocked until they authenticate — including the Wibizpro page itself. Allow it in the walled garden:

/ip hotspot walled-garden add dst-host=wibizpro.online action=allow add dst-host=*.wibizpro.online action=allow /ip hotspot walled-garden ip add action=accept dst-address=144.202.47.181

Do not allow *captive.apple.com or 17.0.0.0/8: macOS and iOS then believe the network already has Internet and never open the captive assistant. The portal and server rules above are enough. Add only your payment providers' domains if needed.

This is what lets unauthenticated clients see the Wibizpro page and pay before getting internet. Without it, the payment page won't load.

4 Connect Your WiFi Access Points

Any brand works — the access points are transparent bridges. On each one:

  1. Set it to Access Point / bridge mode, and turn OFF its DHCP, its NAT and its own captive portal.
  2. Give it a static management IP in the router's LAN.
  3. Set the access point's own DNS to the MikroTik's LAN IP — not a public resolver.
  4. Use the same SSID and the same security type on every access point.
If the portal never appears, it is almost always point 3. The hotspot works by intercepting DNS. An access point that hands out a public DNS makes the client bypass the router, and the login page never shows — most often on iPhone and Android 13+.

5 What Happens Next

Once configured, here is what your customers experience:

  1. User connects to your guest SSID.
  2. Browser automatically opens to the Wibizpro plan-selection page with your pricing.
  3. They pick a plan and tap Pay & Connect.
  4. They pay in cash or with MonCash/NatCash — you approve each payment from your dashboard.
  5. Wibizpro grants access through RADIUS for the purchased duration.
  6. They see a confirmation page and can browse the internet.

Expired clients are automatically disconnected at the exact end of their pass.

MikroTik support is in progress. The portal, the RADIUS authentication, the payments and the accounting all work. The last step — the client becoming connected right after paying — is still being finished for RouterOS, so a new MikroTik site may leave the client at the confirmation page until they reconnect. Ask us before going live on a new router.

? Several SSIDs, Several Pricings

You can monetize several networks differently — all from a single Wibizpro dashboard:

  1. In Wibizpro, create a site for each SSID you want to charge for. Each gets its own token, secret and pricing.
  2. In RouterOS, create a hotspot and a RADIUS entry for each — each with its site's secret.
  3. On your access points, broadcast the SSIDs you need.

Example:

SSIDPortal URLPricing
GuestWiFi /portal/?token=dt_guest $1–$25 USD
Premium /portal/?token=dt_prem $5–$100 USD
Staff No portal Free

The SSIDs can share the same hardware — no extra equipment needed. Revenue from each is tracked separately in your Wibizpro dashboard.

? Using a TP-Link Omada EAP Instead?

TP-Link Omada only. Do not follow this section for a MikroTik router. The 8.8.8.8 entry at the end of it is exactly what stops the captive portal from ever appearing on RouterOS.

Standalone TP-Link Omada access points are still supported. If you already have one running, this is its configuration — it does not change.

A. Open the Portal Tab

  1. Log into your EAP's web page (or your Omada Controller).
  2. Go to the Wireless section.
  3. Select the Portal tab.

B. Fill In the Wibizpro Parameters

On the Wireless → Portal tab of your EAP (e.g. EAP110), fill in exactly these values:

  • SSID : your guest SSID (e.g. Wibizpro)
  • Authentication Type : External RADIUS Server
  • RADIUS Server IP : 144.202.47.181
  • RADIUS Port : 1812
  • RADIUS Password : your site's rad_xxx secret (Wibizpro dashboard → site page)
  • NAS ID : (empty)
  • RADIUS Accounting : Enable ✓
  • Accounting Server IP : 144.202.47.181
  • Accounting Server Port : 1813
  • Accounting Server Password : same as RADIUS Password
  • Interim Update : Enable ✓ — Interim Interval : 60 s (live usage stats in your Wibizpro dashboard)
  • Authentication Timeout : Custom → 0 D / 0 H / 5 M (the EAP re-checks every client every 5 minutes — expired passes are cut quickly)
  • Redirect : Enable ✓
  • Redirect URL : https://wibizpro.online/success/ (the page shown after successful authentication)
  • Portal Customization : External Web Portal
  • External Web Portal URL : https://wibizpro.online/portal/?token=dt_your-site-token (the plan picker shown before payment)
Per-plan speed limits (optional): set a Speed (Mbps) per plan in Wibizpro → Plans & Pricing — the EAP enforces it from the RADIUS reply (raw bps). If you also set a Rate Limit on the SSID, the EAP applies the LOWEST of the two — remove it or raise it above the Wibizpro speeds. Several EAPs on the same SSID all receive the same attributes — configure every EAP identically.

C. Allow Wibizpro in the Free Authentication Policy

In the Wireless → Portal tab, open the Free Authentication Policy and add:

  • 144.202.47.181 (port 80) — required
  • 144.202.47.181 (port 443) — required
  • 8.8.8.8 (DNS, port 53) — required

Each entry needs a name — e.g. Wibizpro-80, Wibizpro-443, DNS.

Enter each address in the Destination field, and its port in Destination Port — never in Source. The policy is a list of places clients are ALLOWED to reach before paying, so the address belongs on the destination side.

This is what lets unauthenticated clients see the Wibizpro page and pay before getting internet. Without this entry, the payment page won't load.

Better still: keep the access point and put a MikroTik router in front of it as the gateway. Your EAP110 keeps working — set it to bridge mode, turn off its captive portal and its RADIUS, and follow the five steps above instead.


? How It Works

Wibizpro hosts the captive portal for you. We handle:

  • The plan-selection page with your pricing and durations
  • Payment approval — cash, MonCash and NatCash with transaction ID
  • Client authorization — once payment clears, we grant internet access through RADIUS
  • Session expiry — expired clients are automatically disconnected

? Prerequisites

  • A MikroTik router running RouterOS 7 — it becomes the gateway
  • One or more WiFi access points, any brand, in bridge mode
  • A guest SSID you want to monetize
  • Your router must reach Wibizpro over HTTPS (port 443 outbound) and RADIUS (UDP 1812/1813)
  • A Wibizpro account — sign up here

? Set Up Your Site on Wibizpro

  1. Create an account and log into your dashboard.
  2. Go to Sites → + New Site and give it a name.
  3. Copy the portal URL and the RADIUS secret shown on the site page.
  4. Use both in your router's configuration (steps 1 and 2 above).
  5. Set your plans and pricing from the dashboard — pick durations, prices, and currency.

? Monitor & Manage

Your Wibizpro dashboard gives you full visibility:

  • Active sessions — see who's online right now
  • Revenue tracking — daily, weekly, monthly breakdowns per site
  • Block/unblock devices — manually kick off problematic clients
  • Plan management — change pricing or add/remove durations anytime
  • Session history — every connection, payment, and block event is logged
Get Started →