Paystack
Configure Paystack as a payment gateway for subscribers in Kenya, Ghana, South Africa, Nigeria, and more. Supports card, bank transfer, mobile money, and USSD payments.
Paystack is available when your country is one of: Kenya (KE), Ghana (GH), South Africa (ZA), Nigeria (NG), Rwanda (RW), Côte d'Ivoire (CI), or Egypt (EG).
How It Works
Paystack uses a redirect-based checkout, which differs from M-Pesa's STK push:
Supported Payment Channels
Card
Visa, Mastercard, Verve
Bank Transfer
Direct bank debit
Mobile Money
M-Pesa, Airtel Money, MTN
USSD
Dial-based payments
Setup Guide
Get Your API Keys
Log in to Paystack Dashboard → Settings → API Keys & Webhooks. Copy both keys:
Public KeyStarts with pk_live_...Secret KeyStarts with sk_live_...Enter Keys in VillageHub
Admin Panel → Settings → Payment Integration. Select Paystack and paste your Public Key and Secret Key.
Set Your Webhook URL
In the Paystack dashboard under API Keys & Webhooks, set your webhook URL:
https://isp.village-hub.net/api/payments/paystack/callback/{subdomain}Replace {subdomain} with your VillageHub subdomain (e.g. myisp).
Test the Integration
Use Paystack's test mode first. Create a test transaction from the captive portal and verify it appears in both your Paystack dashboard and VillageHub payment logs.
4084 0840 8408 4081 (success) or 4084 0840 8408 4042 (failure).Paystack is live!
Subscribers can now pay via card, bank transfer, mobile money, and USSD through Paystack.
Troubleshooting
Payment redirects but doesn't activate package
Check that your webhook URL is correctly set in the Paystack dashboard and that your server is accessible from the internet. Verify webhook signature validation isn't failing (check server logs for [PAYSTACK] entries).
Checkout page not loading on captive portal
Ensure *.paystack.com and *.paystack.co are in your MikroTik walled garden. VillageHub's auto-provisioning includes these by default.
"Paystack is not enabled" error
Go to Admin Panel → Settings → Payment Integration and ensure the gateway is set to Paystack (not another provider).