PaySpot Docs
Client setup playbookBack to PaySpot

MikroTik Direct Setup

RouterOS REST onboarding

Minimal path: connect one router once, keep plan limits inside PaySpot, and let payment success create the hotspot voucher automatically.

Download PaySpot Setup APK
3 required fieldsWinBox/WebFig steps includedTest before go-livePlan limits map automatically
In PaySpot: /t/<slug>/admin -> Configure architecture -> Voucher source = MikroTik direct (REST).

Before You Start

  • RouterOS REST is enabled on `www-ssl` and reachable from the PaySpot server.
  • The API user can create entries in `/ip/hotspot/user`.
  • HotSpot is already working on the router before you connect PaySpot.
  • The HotSpot walled garden allows the PaySpot portal and Paystack checkout while the user is unauthenticated.
  • At least one PaySpot plan has duration, data limit, or both.
  • You can pass the PaySpot `Test MikroTik connection` button before go-live.

Required Fields

Base URL

https://router.example.com

Router or controller URL. PaySpot adds /rest automatically.

REST username

payspot-api

RouterOS local user with REST/API access.

REST password

********

Stored encrypted in PaySpot.

Step-By-Step Value Collection

1

Find the router URL

Open the router in WinBox or WebFig. Use the same IP or DNS name you use to manage the router.

Paste into PaySpot: Paste it into PaySpot as Base URL, for example `https://192.168.88.1` or `https://router.example.com`.

  • - If you only have HTTP enabled today, PaySpot can still work during testing, but HTTPS is strongly preferred.
  • - Do not add `/rest` yourself. PaySpot appends it automatically.
RouterOS CLI
/ip service print
2

Enable REST access on RouterOS

Go to IP > Services and make sure `www-ssl` is enabled. REST uses the RouterOS web service.

Paste into PaySpot: No PaySpot field here. This is a router prerequisite.

  • - If only `www` is enabled, REST may still work over HTTP, but production should use `www-ssl`.
  • - Restrict the allowed source addresses to the PaySpot server IP if possible.
RouterOS CLI
/ip service enable www-ssl
3

Create a dedicated PaySpot user

Go to System > Users and add a separate user for PaySpot instead of using the main admin account.

Paste into PaySpot: Paste the username into PaySpot as REST username and the password as REST password.

  • - Use a strong password.
  • - Give the user enough rights to read system info and create HotSpot users.
RouterOS CLI
/user add name=payspot-api password=ChangeMe123 group=full
4

Identify the HotSpot server name

Go to IP > HotSpot > Servers. Copy the server `Name` if you want PaySpot to always target one specific HotSpot server.

Paste into PaySpot: Paste that name into PaySpot as Hotspot server. If there is only one HotSpot server, you can usually leave this blank.

  • - Examples: `hotspot1`, `main-hotspot`.
RouterOS CLI
/ip hotspot print
5

Identify the default user profile

Go to IP > HotSpot > User Profiles. Copy the profile `Name` if you want every PaySpot voucher to inherit the same base RouterOS profile.

Paste into PaySpot: Paste that name into PaySpot as Default profile. If you do not need a fixed profile, leave it blank.

  • - Examples: `default`, `voucher-base`, `1mbps-profile`.
  • - PaySpot already sets duration and data limits from the plan, so use the profile mainly for shared HotSpot defaults.
RouterOS CLI
/ip hotspot user profile print
6

Allow PaySpot and Paystack before login

Go to IP > HotSpot > Walled Garden and add allow entries for the PaySpot portal and Paystack checkout hosts.

Paste into PaySpot: No PaySpot field here. These router rules let expired or unauthenticated users buy a new voucher from the captive portal.

  • - This is required when a plan reaches `limit-bytes-total`: MikroTik returns the user to the login page, but they are unauthenticated again.
  • - If your PaySpot portal uses a different hostname, add that hostname instead of or in addition to `payspot.abdxl.cloud`.
RouterOS CLI
/ip hotspot walled-garden add dst-host=payspot.abdxl.cloud action=allow comment="PaySpot portal" add dst-host=checkout.paystack.com action=allow comment="Paystack checkout" add dst-host=paystack.com action=allow comment="Paystack" add dst-host=*.paystack.com action=allow comment="Paystack assets"

Optional Fields

  • - Hotspot server: set only if this router has multiple hotspot servers and you want one fixed target.
  • - Default profile: set only if every plan should inherit the same RouterOS hotspot profile.
  • - Verify TLS certificate: keep enabled in production; disable only for temporary self-signed testing.

PaySpot Field Mapping

PaySpot FieldWhere To Get ItExample
Base URLThe router IP or DNS name you use for WebFig/HTTPS management.https://192.168.88.1
REST usernameSystem > Users > Namepayspot-api
REST passwordThe password assigned to that dedicated RouterOS user.StrongPasswordHere
Hotspot serverIP > HotSpot > Servers > Namehotspot1
Default profileIP > HotSpot > User Profiles > Namedefault
Verify TLS certificateTurn on if your router has a valid certificate; turn off only for temporary self-signed testing.Enabled

Plan Mapping

  • Plan duration -> MikroTik `limit-uptime`
  • Plan data limit -> MikroTik `limit-bytes-total`
  • Voucher code -> generated after payment
  • Voucher password -> same as voucher code

Captive Purchase Access

When a MikroTik data limit is reached, the customer is no longer authenticated. The login page can appear automatically, but PaySpot and Paystack still need explicit HotSpot walled-garden access.

payspot.abdxl.cloudcheckout.paystack.compaystack.com*.paystack.com
RouterOS CLI
/ip hotspot walled-garden
add dst-host=payspot.abdxl.cloud action=allow comment="PaySpot portal"
add dst-host=checkout.paystack.com action=allow comment="Paystack checkout"
add dst-host=paystack.com action=allow comment="Paystack"
add dst-host=*.paystack.com action=allow comment="Paystack assets"