InfinityPay Setup
Connect your InfinityPay business account to send automated Tanzanian mobile money payment prompts to subscribers on M-Pesa, Mixx by Yas, Airtel Money, HaloPesa and TTCL Pesa.
Generate a Secret Key
In the InfinityPay portal open API Credentials and generate a key. The environment is decided purely by which key you use:
sk_test_…— sandbox. Payments run against a mock network, resolve instantly, and no real money moves. Ideal for checking the setup.sk_live_…— real prompts, real money.
The secret key is shown only once, so copy it straight away; if it is lost, rotate it. The pk_… public key is not needed and will not work in its place.
Configure Settings in VillageHub
Go to your Admin Panel → Settings → Payments. Select InfinityPay (Tanzania) as the payment gateway and paste your Secret Key.
Running multiple sites? You can also point an individual router at InfinityPay (or its own key) from the router's payment override on the router detail page.
Set the Webhook URL
InfinityPay does not accept a callback address per payment, and with no webhook URL set it sends no confirmations at all. Copy the webhook URL shown on the VillageHub payment settings page into the InfinityPay portal under Webhooks.
https://isp.village-hub.net/api/payments/infinitypay/callback/{tenant-subdomain}Optional: generate a signing secret on the same page and paste it into the Webhook Secret field in VillageHub. Either way, VillageHub checks every confirmation with InfinityPay before connecting the customer, and also polls the payment status, so a missed webhook still ends with the customer connected. Use Send Test Webhook to check the URL is reachable. Test deliveries are acknowledged but never activate a package.
Know the Network Minimums
The mobile networks set their own minimum payment: TZS 1,000 on Mixx by Yas / Tigo (065, 067, 071, 077) and TZS 100 on M-Pesa, Airtel Money, HaloPesa and TTCL Pesa. A customer on Yas buying a cheaper package is asked to choose a bigger package or pay from another network before any prompt is sent.
Good to know: InfinityPay collects in TZS only and detects the network from the phone number. An unapproved prompt expires after about 30 minutes. The IP allowlist on your key is off by default; if you turn it on, add the VillageHub server's public IP (contact support for the current address).
You are ready!
Subscribers now get a payment prompt on their phone at checkout, and their hotspot or broadband service activates as soon as they approve it. When you are ready to take real money, replace the sk_test_ key with your sk_live_ key.