GET /mobile-money/countries returns the countries open to your account, their operators, and for each operator and currency: the live status, the minimum and maximum amount, the decimals and your all-in price. That is everything you need to build a payment screen.
Codes
- Countries use ISO 3166-1 alpha-3 codes (
CMR,CIV,COD), currencies ISO 4217 (XAF,XOF,KES). - Each operator has a stable code: brand and country, for example
MTN_CMRorORANGE_CIV. Store this code, not the name.
Read the status before you show an operator
Use
available. Hide an operator from your payment screen when collection.available is false, and offer the others of the country. A closed operator is often back within minutes or hours.
Payouts and refunds are not open yet: their status is shown for information, and refunds have no price yet (fee: null).
Amounts and decimals
min_amountandmax_amountapply to what the customer pays, per transaction.decimalsis the number of decimals accepted by this operator.0means whole amounts only (5000, not5000.50).
Countries enabled for your account
Every country is enabled by default. A country disabled for your account disappears from the list, and asking for it returns422 COUNTRY_NOT_SUPPORTED. Contact support if you need it.
Best practices
Cache the list for a few minutes
Cache the list for a few minutes
Operator data is refreshed every 10 minutes on our side. Cache it on your server instead of calling the API on every page view.
Never hardcode limits, decimals or prices
Never hardcode limits, decimals or prices
Operators change them, sometimes without notice. Read them from the API.
Not sure which operator a number belongs to?
Not sure which operator a number belongs to?
Call
POST /mobile-money/predict-operator, or leave operator empty when you request a payment: we guess it from the number.