Payment gateways
Choose a payment gateway
Open Settings → Payments. Which gateways you are offered depends on three things: your country, account enablement, and commercial onboarding with the provider. The catalog contains 30 gateway codes across 72 countries. Each one has a credential form in the current interface.
Every gateway below has a setup guide of its own. It covers what to collect before you start, the exact fields, and the callback URLs. It also explains how a payment completes and what each error means.
Current gateway catalog
| Code | Method | Integration style |
|---|---|---|
SAFARICOM |
Safaricom M-Pesa | STK push with your own Daraja API keys, paybill or till |
PAYBILL |
Paybill without API keys | STK push to your paybill using the platform’s Daraja keys; supports a SACCO or shared paybill via an account number |
TILL_NUMBER |
Till without API keys | Buy Goods STK push to your till using the platform’s Daraja keys |
BANK |
Bank account | STK push against your bank’s M-Pesa paybill, to your account number |
KOPOKOPO |
Kopo Kopo | STK collection through the Kopo Kopo API |
CENTIPID |
Centipid Collections | Managed collection with withdrawals |
IOTEC |
Iotec | Ugandan mobile money, status read back from Iotec |
RELWORX |
Relworx | Mobile money aggregator with a signed webhook |
AIRTEL_MONEY |
Airtel Money | Airtel Africa API — not offered by the country catalog |
PAWAPAY |
PawaPay | Pan-African mobile money on one API token, polled to completion |
PALMPESA |
PalmPesa | Tanzanian wallet push, polled to completion |
CLICKPESA |
ClickPesa | Hosted checkout, webhook confirmation |
AZAMPAY |
AzamPay | Wallet push, callback authenticated by a callback password |
ZENOPAY |
ZenoPay | Wallet push, polled to completion |
HUBTEL |
Hubtel | Ghanaian mobile money, network detected from the payer’s number |
PAYSTACK |
Paystack | Hosted checkout, verified against Paystack |
OPAY |
OPay | Hosted cashier, signed callback |
MONNIFY |
Monnify | Hosted checkout, signed webhook re-verified against Monnify |
PESAPAL |
PesaPal | Hosted checkout, IPN URL registered on save |
PAYPAL |
PayPal | Approve-then-capture; sets your dashboard’s billing currency |
DPO |
DPO Pay | Hosted checkout, token verified against DPO |
PAYFAST |
PayFast | Signed redirect and signed ITN confirmation |
ORANGE_MONEY |
Orange Money | Web Payment hosted checkout |
MTN_MOMO |
MTN Mobile Money (MoMo) | Handset RequestToPay, callback hint plus verified polling |
VODACOM_MPESA |
Vodacom M-Pesa (DRC, Tanzania) | Open API C2B prompt on the handset, confirmed by callback |
RAZORPAY |
Razorpay | Hosted payment link for Indian UPI, cards, netbanking and wallets, signed webhook re-verified against Razorpay |
SELCOM |
Selcom | Tanzanian wallet push |
DALIPAY |
DaliPay | Tanzanian wallet push |
PAYNOW |
Paynow | Zimbabwean EcoCash and OneMoney push, hash-verified result plus polling |
STRIPE |
Stripe | Hosted Checkout on your own Stripe account in Stripe’s 44 self-serve countries, signed webhook re-verified against Stripe |
XENDIT |
Xendit | Hosted payment page on your own Xendit account for GCash, Maya, QRIS, PromptPay and FPX in five South-East Asian countries, webhook re-verified against Xendit |
Know before you choose
Four things decide whether a gateway will work for you. None of them is visible from the marketplace card.
Where the payer authorizes
On their handset — Safaricom, Paybill, Till, Bank, Kopo Kopo, Centipid, Iotec, Relworx, Airtel Money, PawaPay, PalmPesa, ZenoPay, AzamPay, Hubtel, MTN MoMo, Vodacom M-Pesa, Selcom, DaliPay, Paynow. Nothing extra is needed in the captive walled garden.
In a hosted checkout page — ClickPesa, Paystack, OPay, Monnify, PesaPal, PayPal, DPO, PayFast, Orange Money, Razorpay, Stripe, Xendit. The payer’s own browser must reach the provider. So a Hotspot subscriber who is not yet online cannot pay unless that provider is reachable pre-authentication. Allow it in the walled garden. Then test from a device that is genuinely not logged in.
Whether you need provider API keys
Paybill, Till, and Bank collect M-Pesa without any Daraja keys of your own. The prompt is raised with the platform’s Daraja credentials. They are real STK pushes, not printed instructions. Centipid Collections goes further: it needs no provider account at all. The balance is paid out through Withdrawals.
Every other gateway needs credentials from an account the ISP owns.
What completes a payment
A payment is only complete when the money is confirmed back to Centipid Billing. Gateways differ in how that happens: a signed webhook, a status poll, or a capture call. The failure mode is the same in every case: the payer is charged and never provisioned. Each guide names what to check first for that gateway.
Configure a gateway
Complete provider onboarding
Obtain credentials from an account owned by the ISP. Confirm four things with the provider: live versus sandbox status, settlement currency, supported country, and callback requirements.
Open Settings → Payments
Select the intended method and read its guide before filling the form.
Enter credentials safely
Paste each value into its matching field. Never reuse credentials from another ISP’s account, and never mix test and live values.
Save and complete verification
Switching may require an OTP or a confirmation dialog. Saving validates the form. It does not prove the provider accepts your credentials.
Test end to end
Use a controlled amount. Verify initiation, provider authorization and confirmation. Then check the payment ledger, the subscriber’s package and the receipt. Finally, confirm settlement into your own account.
Switch an existing account
- Resolve or record pending transactions on the old gateway.
- Confirm the new credentials and callback configuration.
- Check captive walled-garden reachability for the new provider.
- Update payment instructions and subscriber communications.
- Switch during a monitored window.
- Run a controlled payment from both the captive portal and the customer portal.
- Retain the old reconciliation data according to policy.
See the credential reference for every gateway’s fields in one place. See Payment troubleshooting for symptoms that are not specific to one gateway.
