Skip to content

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

  1. 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.

  2. Open Settings → Payments

    Select the intended method and read its guide before filling the form.

  3. 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.

  4. 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.

  5. 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

  1. Resolve or record pending transactions on the old gateway.
  2. Confirm the new credentials and callback configuration.
  3. Check captive walled-garden reachability for the new provider.
  4. Update payment instructions and subscriber communications.
  5. Switch during a monitored window.
  6. Run a controlled payment from both the captive portal and the customer portal.
  7. 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.