Hosted checkout shows the right payment options for the merchant's country automatically. Outside Ghana these run on our OGateway rail.
iSeveral countries from one business
Every business collects in its registered country's currency. Web Rabbit can also enable extra countries for your business — for example a Ghana business collecting NGN in Nigeria and KES in Kenya. Pass
country (or currency) on /v1/checkout/session or /v1/collect/momo. Each currency keeps its own balance and is paid out in that currency; nothing is converted. A country that isn't enabled returns 422 currency_not_enabled. See GET /v1/me → enabled.countries. Card stays GHS-only; gaming merchants can't be enabled in Benin, Côte d'Ivoire, Burkina Faso, Senegal, Zambia, Cameroon, Mali or Togo.iSelling in each currency from the dashboard
Payment links, products, storefronts, invoices and discounts each have a currency, picked from the countries enabled for your business. A storefront sells in one currency and only lists products priced in it. A percentage discount can work in any currency; a fixed-amount discount or minimum order applies only to orders in its own currency. Orders, invoices and payment links show and total each currency separately. Charging a phone directly from Sales → Collect is Ghana Mobile Money; for other currencies, send a payment link in that currency.
Live payments and payouts are open in all 16 registration countries once a business is approved. Payouts outside Ghana are sent in the local currency through OGateway. Congo-Brazzaville has no Mobile Money option yet, so its checkout shows no payment method for now.
Countries and methods
| Country | Currency | Customers pay with | Payouts | Status |
|---|---|---|---|---|
| Ghana | GHS | MTN, Telecel, AirtelTigo | Mobile Money and bank | Live |
| Nigeria | NGN | Bank transfer (temporary account) | Bank | Live |
| Kenya | KES | M-Pesa, Airtel, Equitel, Telkom | Mobile Money and bank | Live |
| Uganda | UGX | MTN, Airtel | Mobile Money | Live |
| Tanzania | TZS | Vodacom, Airtel, Tigo | Mobile Money | Live |
| Zambia | ZMW | MTN, Airtel, Zamtel | Mobile Money | Live |
| Côte d'Ivoire | XOF | Orange, MTN, Moov, Wave | Mobile Money | Live |
| Cameroon | XAF | MTN, Orange | Mobile Money | Live |
| Gambia | GMD | QMoney, Afrimoney, Wave | Mobile Money | Live |
| Congo DRC | CDF | M-Pesa, Airtel, Orange | Mobile Money | Live |
| Benin | XOF | MTN, Moov | Mobile Money | Live |
| Burkina Faso | XOF | Orange, Moov, Mobicash | Mobile Money | Live |
| Mali | XOF | Orange, Moov, Mobicash | Mobile Money | Live |
| Senegal | XOF | Orange, Wave, Free, E-Money | Mobile Money | Live |
| Togo | XOF | T-Money, Moov | Mobile Money | Live |
| Congo-Brazzaville | XAF | Not yet available | Not yet available | Waiting on provider |
Nigeria bank transfer
The customer chooses Bank transfer and gets a temporary account number for that payment only. It expires after about 25 minutes. The payment is confirmed only once the money arrives and we have re-checked it with the provider. Your transaction.succeeded webhook fires the same way as for Mobile Money.
Why a payment failed
Failed payments carry a plain-language reason, plus the provider code and who caused the failure in your dashboard's payment details.
| Code | Caused by | Meaning |
|---|---|---|
| 4100 | Customer | Not enough balance, or a wallet limit was reached. |
| 4200 | Customer | Prompt not answered in time, or wrong PIN. |
| 5100 | Merchant | Number not registered on that network, or wallet inactive. |
| 5200 | Merchant | Invalid account number. |
| 5210 | Merchant | Amount not allowed for this wallet. |
| 3200 / 6500 | Switch / Provider | Network or provider busy. Retry in a few minutes. |
| 6100 | Provider | Duplicate. Wait before retrying. |
| 6400 | Provider | Provider float low. Retry later. |
| 7100 | OGateway | Processing failed at OGateway. |
