Documentation

Payments & Gateways

Every sale — Hotspot vouchers, captive portal buys, PPPoE packages, invoices, SMS credits, and cash/offline — lands in Payments. Online collection uses either NettPortal Pay (Ghana, no own API keys) or Direct Payment (your own Paystack, Hubtel, M-Pesa, FedaPay, or ioTec merchant).

In plain language

Payments is your money ledger and charts. Payment Settings chooses how customers pay online. NettPortal Pay is the Ghana option where NettPortal collects and settles 96% to your MoMo next day. Direct means money goes straight into your gateway account.

Full NettPortal Pay fee and MoMo settlement guide: NettPortal Pay. This page covers the Payments hub, Direct gateways, and how guest buy picks a gateway.

Where to find each surface

  1. Money → Payments — transaction list, filters, revenue charts, PPPoE refunds (when allowed).
  2. Settings → Payments — choose NettPortal Pay or Direct, pick a gateway, enter API keys, Live Mode.
  3. NettPortal Pay (sidebar, when enabled) — daily MoMo settlement batches. Details in the NettPortal Pay guide.
  4. View Payments needs viewPayments. Charts may also need viewPaymentStatistics. Change Settings with editSettings.

NettPortal Pay vs Direct Payment

SituationUse
Ghana, no Hubtel/Paystack business keys yetNettPortal Pay
Ghana with your own Hubtel merchantDirect → Hubtel
Ghana / Nigeria / Kenya / SA / CI — own PaystackDirect → Paystack
Kenya STK / tillDirect → M-Pesa
Uganda MoMo (MTN / Airtel)Direct → ioTec
West Africa CFA (BJ, TG, CI, SN, …)Direct → FedaPay
Outside Ghana, want “no API keys”Not available — use Direct for your country

Gateways shown in Settings are filtered by your organization country. If the country is wrong, contact support to change region.

Configure Direct Payment

  1. Open Settings → Payments.
  2. Choose Direct Payment (not NettPortal Pay).
  3. Select one gateway available for your country.
  4. Enter test keys first. Leave Live Mode off until a test purchase works.
  5. Copy any webhook / callback URLs NettPortal shows into the provider dashboard (Paystack, M-Pesa, FedaPay especially).
  6. Save. Turn on Live Mode and paste live keys when you are ready for real money.

Only one Direct gateway is active at a time. Switching mode or gateway keeps previous keys saved so you can switch back later.

Gateways at a glance

Paystack

Cards and local methods where Paystack operates (e.g. NG, GH, KE, ZA, CI). Use test and live public/secret keys. Register the webhook and callback URLs shown in Settings.

Hubtel (MoMo)

Ghana only. Collection account number, API ID, and API Key from your Hubtel merchant. Direct Hubtel may ask guests for SMS OTP before MoMo; NettPortal Pay skips that OTP. Need help getting Hubtel? Ask NettPortal support.

M-Pesa

Kenya (KES). Till channel uses Daraja consumer key/secret, shortcode, and passkey; or Bank STK with bank + account via platform API. Webhook URL is shown in Settings.

FedaPay

West Africa CFA countries (XOF). Test/live secret keys plus webhook secret from the FedaPay dashboard. Create the webhook there, reveal the secret, paste it into NettPortal.

ioTec

Uganda (UGX) — MTN / Airtel MoMo via wallet ID, client ID, and secret (test + live). Status is confirmed by polling (webhook URL may show as deprecated).

Kkiapay

Shown as Coming Soon in Settings — not a live Direct option yet.

What the Payments page shows

  • Stats & charts — revenue and counts by status; last-7-days trend; revenue by payment method; per-router counts.
  • Table — payment number, source, voucher/customer, amount, platform fee, method, status, employee, date, and refund when available.
  • Sources — Online Portal, Captive Portal, Offline Sales, PPPoE Purchase, Invoice, SMS Purchase.
  • Filters — date (this month by default), status, source, method, router, hotspot profile, employee, search. Filters are shareable in the URL.
  • Platform fee column — for NettPortal Pay shows the 4% already withheld; for Direct orgs with subscription commission, shows that rate; otherwise “—”.

Guest buy & captive portal

When a guest buys from the Captive Portal or guest buy page, NettPortal uses whatever you set in Payment Settings:

  • NettPortal Pay → Hubtel with platform keys (recorded as NettPortal Pay).
  • Direct → your selected gateway checkout (Paystack, Hubtel, M-Pesa, FedaPay, or ioTec).
  • Maintenance mode can block guest purchases until you turn it off.

Offline / cash and refunds

  • Offline / cash is recorded when vouchers are redeemed (and similar cash flows). It appears on Payments but is not included in NettPortal Pay MoMo settlements.
  • In-app refund today is for PPPoE online + completed + Paystack only, and needs the processPppoeRefunds permission. It refunds on Paystack and adjusts/revokes the package. There is no general voucher/Hubtel/M-Pesa refund button yet.

Important caveats

  • Two different “fees”. NettPortal Pay withholds 4% at settlement. Direct orgs may still see a subscription platform commission on the Payments fee column — do not mix them up. See NettPortal Pay.
  • Live Mode off uses test keys — no real customer money.
  • Settlement timing for Direct is your provider’s schedule (not NettPortal’s next-day MoMo rule).
  • SMS after purchase uses SMS & Notifications / SMS credits — separate from payment API keys.
  • Guest paid but no voucher → check Payments status, webhooks, Live Mode, maintenance, and gateway dashboard.

Related guides