Skip to main content
Version: Next

Payment gateways

Payment gateways allow parents and guardians to pay school fees online — via card, mobile money, or bank transfer — without coming to the school office. When a gateway payment is confirmed, a payment record and receipt are automatically created in the system.

Navigation: Finance → Bank Settings (gateway hub)


Gateway overview

Payment Gateways overview showing available gateway options with connected status indicators

The system supports the following gateways:

GatewayTypeCommon use
StripeCard paymentsInternational cards, Visa, Mastercard, online checkout
PayNowZimbabwe payment platformWeb, USSD, and mobile money (EcoCash via PayNow)
InnBucksZimbabwe walletInnBucks wallet, QR code scan, USSD
EcoCashMobile moneyDirect EcoCash push payments
OneMoneyMobile moneyNetOne OneMoney
TelecashMobile moneyTelecel Telecash
Bank transferManual / automatedZIPIT, RTGS, EFT, and manual bank deposits

Bank settings

Navigation: Finance → Bank Settings

Bank Settings is the central configuration hub for all payment providers.

Bank Settings page showing linked bank accounts and payment provider configuration

Linking a bank account

Before enabling bank-transfer payments, add the school's bank account details:

  1. Click + Add bank account
  2. Enter:
    • Bank name (e.g., CBZ, Stanbic, FBC, Ecobank)
    • Account name
    • Account number
    • Branch / sort code
    • Currency (USD or ZWL)
    • Account type (Current, Savings)
  3. Click Save

These details appear on invoices and receipts so parents know where to deposit money.


Stripe

Navigation: Finance → Stripe

Stripe enables card payments from Visa and Mastercard. Parents can pay via a payment link or an embedded checkout on the parent portal.

Stripe gateway configuration page

Connecting Stripe

  1. Create a Stripe account at stripe.com if you don't have one
  2. In Stripe Dashboard, go to Developers → API keys
  3. Copy your Publishable key and Secret key
  4. Paste them into the Stripe configuration page in Makronexus
  5. Click Save & test connection
  6. Copy the Webhook endpoint URL shown in Makronexus
  7. Paste it into Stripe Dashboard under Developers → Webhooks
  8. Select the events: payment_intent.succeeded, payment_intent.payment_failed
  9. Click Activate
Test mode

Toggle Test mode on while setting up to use Stripe's test card numbers without processing real payments. Switch to Live mode when ready to accept real payments.


PayNow

Navigation: Finance → PayNow

PayNow is Zimbabwe's most widely used payment platform. It supports web checkout, EcoCash (via PayNow), and USSD payments.

PayNow gateway configuration page

Connecting PayNow

  1. Register at paynow.co.zw
  2. In your PayNow merchant dashboard, create an integration to get your Integration ID and Integration Key
  3. In Makronexus, open Finance → PayNow
  4. Enter your Integration ID and Integration Key
  5. Set the Result URL to the webhook URL shown on the page (this is how PayNow notifies Makronexus of payment confirmations)
  6. Click Save & test

InnBucks

Navigation: Finance → InnBucks

InnBucks supports wallet payments, QR code scans, and USSD-based payments.

InnBucks gateway configuration page

Connecting InnBucks

  1. Contact InnBucks to register as a merchant
  2. Obtain your Merchant ID and API Key from the InnBucks merchant portal
  3. Enter these in Finance → InnBucks
  4. Paste the webhook URL into the InnBucks merchant portal
  5. Click Save & test

Mobile Money (EcoCash, OneMoney, Telecash)

Navigation: Finance → Mobile Money

The Mobile Money page aggregates direct integrations with Zimbabwe's mobile money networks.

Mobile Money gateway page showing EcoCash, OneMoney, and Telecash configuration cards

EcoCash

  1. Register as an EcoCash merchant (contact Econet Wireless)
  2. Obtain your Merchant number and API credentials
  3. Enter them in the EcoCash section
  4. Enable the toggle

OneMoney

  1. Register as a NetOne OneMoney merchant
  2. Enter Merchant ID and PIN in the OneMoney section
  3. Enable the toggle

Telecash

  1. Register as a Telecash merchant with Telecel Zimbabwe
  2. Enter credentials in the Telecash section
  3. Enable the toggle
Push vs pull payments

Mobile money payments in Zimbabwe are push payments — the parent initiates the payment from their phone by entering the merchant number. The gateway then sends a confirmation to Makronexus via webhook, which automatically records the payment.


Bank Transfer

Navigation: Finance → Bank Transfer

The Bank Transfer module covers manual bank deposits, ZIPIT (interbank transfer), RTGS, and EFT payments.

Bank Transfer page for importing bank statements and matching transfers

How bank transfers work

Because bank transfers do not have an instant webhook, the workflow is semi-manual:

  1. A parent deposits money to the school's bank account (using the student's name or invoice number as reference)
  2. The bank statement is imported into Makronexus (see Accounting → Bank Statements)
  3. The system attempts to auto-match the deposit to an invoice using the reference field
  4. Unmatched transfers appear in the Bank Transfer page for manual matching
  5. The finance officer confirms the match → payment is recorded automatically

Bank webhooks

Navigation: Finance → Bank Webhooks (Settings)

Bank webhooks are used by some local banks to push real-time payment notifications directly to Makronexus. Configure the webhook endpoint provided by Makronexus in your bank's online banking portal.

Bank Settings — webhook endpoint and event log


Testing payment gateways

Before going live, always test:

  1. Enable test / sandbox mode on the gateway
  2. Use the gateway's test credentials and test payment numbers
  3. Complete a test payment end-to-end
  4. Verify the payment appears in Finance → Payments with the correct amount and student reference
  5. Switch to live mode only after a successful test

Troubleshooting gateway payments

ProblemLikely causeAction
Payment confirmed by gateway but not in MakronexusWebhook not configuredCheck webhook URL in gateway dashboard
Duplicate payment recordedWebhook fired twiceCheck Payment Attempts for duplicates
Wrong student linkedParent used wrong referenceManually re-link the payment to the correct invoice
Payment showing as failedInsufficient funds / declinedParent must retry; check Payment Attempts for error code