Coverage
Which channels exist, where, and how to know what your own account can charge.
Two different questions hide behind the word coverage. What the platform supports is this page, and the catalogue behind it answers the same for every key.
curl "https://api.wajub.com/channels?country=CM" \
-H "Authorization: pk_test.xxxxxxxxxxxxxxxx…" \
| jq '.items[] | { slug, name, charge, payout, live }'That route is open to every key type, sandbox included, and each entry tells you more than a table can:
payoutsays whether money can go out that way.chargesays whetherPOST /payments/{id}can charge the channel, andcollectwhether it can be collected inline, without leaving your page.livesays whether a provider you can connect carries the channel, which is what makes it exist outside sandbox. A rail no provider carries yet readsfalse.min_amountandmax_amount, when the catalogue sets them, are the smallest and largest payment on that channel, in its major unit like every amount of the API.
currency is not the channel's currency: it reads XAF for every channel. API version
2026-10-12 removes it from the answer. Read the currency from the country, in the tables below.
What your account can charge today is another call, because it depends on which providers are connected to you and which channels your team has switched on.
curl https://api.wajub.com/providers \
-H "Authorization: pk.xxxxxxxxxxxxxxxx…" \
| jq '.items[] | { slug, channels: [.channels[].slug] }'Use a live key. Each active connection comes back with the channels it actually offers, the ones the hosted checkout shows. A test key returns an empty list: provider connections exist in live only, and a sandbox payment never goes through them, see Providers.
Coming soon
The catalogue is wider than what can be charged. A rail marked coming soon on this page is in
it, and GET /channels returns it like any other, but no provider you can connect carries it
yet, so no account can charge it in live. Today that is Egypt, Algeria, Morocco, Tunisia, Sierra
Leone, the OPay and PalmPay wallets in Nigeria, and crypto.
Mobile Money
The channel identifier is always country.operator, lowercase, and it is what you put in the
channel field when you want to skip the payment method chooser.
| Country | Channels | Currency |
|---|---|---|
bj.mtn bj.moov | XOF | |
bf.orange bf.moov | XOF | |
cm.mtn cm.orange cm.eu | XAF | |
cg.mtn cg.airtel | XAF | |
ci.mtn ci.orange ci.moov ci.wave | XOF | |
cd.airtel cd.vodacom cd.orange cd.africell | CDF | |
Coming soon: eg.vodafone | EGP | |
ga.airtel ga.moov | XAF | |
gh.mtn gh.vodafone gh.airteltigo | GHS | |
gn.mtn gn.orange | GNF | |
ke.mpesa ke.airtel | KES | |
lr.mtn | LRD | |
mw.airtel mw.tnm | MWK | |
ml.orange ml.moov | XOF | |
mz.mpesa | MZN | |
rw.mtn rw.airtel | RWF | |
sn.orange sn.wave sn.free | XOF | |
Coming soon: sl.orange | SLL | |
za.capitec | ZAR | |
tz.mpesa tz.tigo tz.airtel tz.halopesa | TZS | |
tg.tmoney tg.moov | XOF | |
ug.mtn ug.airtel | UGX | |
zm.mtn zm.airtel zm.zamtel | ZMW |
Nigeria has no Mobile Money channel
Nigeria is covered by bank transfer, USSD and wallets instead, in the table further down. If you
are looking for ng.mtn, it does not exist, and a payment naming it is refused.
The marks on each row are the operators with a logo on file, not the full list. The channel column is the authoritative one: every operator in a country appears there, logo or not.
Cards
There is one card channel, and you never name a network. Wajub reads the brand from the number and returns it on the payment.
| Network | Channel to send | How it is resolved |
|---|---|---|
card | From the card number | |
card | From the card number |
American Express, Discover, Diners, JCB and Maestro are recognised the same way where the provider
accepts them. They exist in the catalogue as card.amex, card.discover and so on, but they are
never offered as a choice: they are the answer, not the question.
Wallets and Buy Now Pay Later
Global methods carry no country. Whether they appear at checkout depends on the provider behind them and on the payer's own device.
| Method | Channel | Type |
|---|---|---|
apple_pay | Wallet | |
google_pay | Wallet | |
paypal | Wallet | |
klarna | Buy now, pay later | |
afterpay | Buy now, pay later |
Amazon Pay, Revolut Pay, MobilePay and GrabPay are in the catalogue as amazon_pay,
revolut_pay, mobilepay and grabpay.
Other local methods
Bank transfers, USSD and local wallets, in the countries where they matter more than a card.
| Country | Channels | Currency |
|---|---|---|
Coming soon: dz.cib dz.edahabia | DZD | |
ci.djamo | XOF | |
Coming soon: eg.fawry eg.meeza eg.instapay | EGP | |
Coming soon: ma.cmi | MAD | |
ng.bank ng.ussd. Coming soon: ng.opay ng.palmpay | NGN | |
sn.djamo | XOF | |
za.eft za.qr. Payouts only: za.bank | ZAR | |
Coming soon: tn.edinar tn.flouci | TND |
International methods
Outside Africa, the methods below are in the catalogue and can be charged through a provider you connect. They appear at checkout only when one of your connections carries them, in the payer's country and currency.
| Method | Channel | Carried by |
|---|---|---|
| SEPA Direct Debit | sepa_debit | Stripe, Flutterwave |
| iDEAL | ideal | Stripe |
| Bancontact | bancontact | Stripe |
| Przelewy24 | p24 | Stripe |
| EPS (Austria) | at.eps | Stripe |
| TWINT (Switzerland) | ch.twint | Stripe |
| Bacs Direct Debit (UK) | gb.bacs | Stripe, Flutterwave |
| BECS Direct Debit (Australia) | au.becs | Stripe |
| ACSS Debit (Canada) | ca.acss | Stripe |
| US bank account (ACH) | us.bank_account | Stripe, Flutterwave |
| Affirm (US) | us.affirm | Stripe |
| Cash App Pay (US) | us.cashapp | Stripe |
| Boleto (Brazil) | br.boleto | Stripe |
| OXXO (Mexico) | mx.oxxo | Stripe |
| Konbini (Japan) | jp.konbini | Stripe |
| Multibanco (Portugal) | pt.multibanco | Stripe |
| FPX (Malaysia) | my.fpx | Stripe |
| PayNow (Singapore) | sg.paynow | Stripe |
| PromptPay (Thailand) | th.promptpay | Stripe |
| Alipay | alipay | Stripe |
| WeChat Pay | wechat_pay | Stripe |
Coming soon, in the catalogue with no provider that can charge them yet: se.swish in.upi in.rupay in.netbanking in.paytm kr.card kr.kakaopay kr.naverpay kr.samsungpay cash.app.
Crypto
Coming soon. The four assets below are in the catalogue, but no provider that carries them can be connected yet, so none of them can be charged in live today. Once they open, a crypto payment settles to your balance in your own currency, at the rate of the moment it succeeds.
| Asset | Channel |
|---|---|
crypto.usdc | |
crypto.usdt | |
crypto.btc | |
crypto.eth |
Currencies
A currency is not a country, and several of the ones above share one. XOF covers eight West
African markets and XAF covers Central Africa, which is why a payment in Senegal and a payment in
Mali settle into the same balance.
| Currency | Used by |
|---|---|
XAF | Cameroon, Congo, Gabon |
XOF | Benin, Burkina Faso, Côte d'Ivoire, Mali, Senegal, Togo |
NGN | Nigeria |
GHS | Ghana |
KES | Kenya |
TZS | Tanzania |
UGX | Uganda |
RWF | Rwanda |
ZMW | Zambia |
MWK | Malawi |
MZN | Mozambique |
CDF | DR Congo |
GNF | Guinea |
LRD | Liberia |
SLL | Sierra Leone |
EGP | Egypt |
ZAR | South Africa |
MAD | Morocco |
TND | Tunisia |
DZD | Algeria |
XAF and XOF have no subunit
Their precision is zero, so 5000 means five thousand francs and there is nothing to convert.
Every currency on the API uses its major unit, and GET /currencies returns the precision of each
one alongside its symbol.
Wajub also settles in the usual reserve currencies and in a long tail of others, which the same
endpoint lists in full. The table above is the set you will actually meet in these markets, once
their rails are open: EGP, MAD, TND, DZD and SLL belong to markets that are still coming
soon.
Payouts do not follow payments
A country appearing above means money can come in. Money going out is a separate capability, set per
channel, and the catalogue carries it as payout.
curl https://api.wajub.com/channels \
-H "Authorization: sk.xxxxxxxxxxxxxxxx…" \
| jq '[.items[] | select(.payout) | .slug]'Do not assume the answer from this page. A channel that collects beautifully can be payout only
through a different operator in the same country, and that is a provider decision rather than a
platform one. za.bank is the reverse case: a South African bank account can be paid out to, and
cannot be charged.
When a country is missing
The catalogue is wider than any one account's configuration, and it grows. If the country or the operator you need is not here, or is marked coming soon, write to coverage@wajub.com with the market and your expected volume: the answer is usually about which provider to connect, not about whether it is possible.
Related pages