West & Central Africa
Collect and send money in Benin, Côte d'Ivoire, Gabon, Congo-Brazzaville, Senegal, and Sierra Leone on the same MarzPay APIs as Kenya and Cameroon.
Always send the matching country code, local currency, and E.164 phone.
Country guides
Each market has its own collect, send, payment-link, and webhook examples:
Pricing
Fees come from the public pricing page. Custom business rates may differ.
Supported markets
| Market | Country | Currency | Mobile money | Phone format |
|---|---|---|---|---|
| Uganda | UG |
UGX | MTN, Airtel | +256… |
| Kenya | KE |
KES | M-Pesa | +254… |
| Rwanda | RW |
RWF | MTN, Airtel | +250… |
| DRC | CD |
CDF & USD | Vodacom, Airtel, Orange | +243… |
| Zambia | ZM |
ZMW | MTN, Airtel, Zamtel | +260… |
| Cameroon | CM |
XAF | MTN, Orange | +237… |
| Benin | BJ |
XOF | MTN, Moov | +229… |
| Côte d'Ivoire | CI |
XOF | MTN, Orange | +225… |
| Gabon | GA |
XAF | Airtel | +241… |
| Congo-Brazzaville | CG |
XAF | MTN, Airtel | +242… |
| Senegal | SN |
XOF | Orange, Free | +221… |
| Sierra Leone | SL |
SLE | Orange | +232… |
How to integrate
- Create API keys. Use HTTP Basic:
Authorization: Basic base64(api_key:api_secret). See Getting Started. - Ask a superadmin to enable that country’s wallet for your business.
- Subscribe to that market’s collection and/or disbursement services in the marketplace.
POST /collect-moneyorPOST /send-moneywithcountry, E.164 phone, UUIDreference, and amount.- Customer approves the PIN prompt (collect) or the payout is sent (send).
- Handle the same
completed/failedwebhook as Kenya. Optional: pollGET /collect-money/{uuid}orGET /send-money/{uuid}.
XOF is shared by Benin, Côte d'Ivoire, and Senegal. XAF is shared by Cameroon, Gabon, and Congo-Brazzaville.
Country code selects the wallet, not currency alone. Congo-Brazzaville is CG / +242 — not DRC (CD / +243).
Collect money (Benin example)
Swap country, currency, and phone for the other markets. Full examples are on each country page.
curl --location 'https://wallet.wearemarz.com/api/v1/collect-money' \
--header 'Authorization: Basic YOUR_API_CREDENTIALS' \
--form 'phone_number="+22961234567"' \
--form 'amount="1000"' \
--form 'country="BJ"' \
--form 'currency="XOF"' \
--form 'reference="123e4567-e89b-12d3-a456-426614174000"' \
--form 'description="Payment for services"' \
--form 'callback_url="https://your-app.com/webhook"'
Send money (Côte d'Ivoire example)
curl --location 'https://wallet.wearemarz.com/api/v1/send-money' \
--header 'Authorization: Basic YOUR_API_CREDENTIALS' \
--form 'phone_number="+2250501234567"' \
--form 'amount="1000"' \
--form 'country="CI"' \
--form 'currency="XOF"' \
--form 'description="Payout to customer"' \
--form 'callback_url="https://your-app.com/webhook"' \
--form 'reference="123e4567-e89b-12d3-a456-426614174001"'
Payment links
Create a shareable page with POST /payment-links and the market country / currency (e.g. BJ / XOF, CG / XAF, SL / SLE).
Customers enter a local number and approve the PIN prompt. See
Payment Links
and each country guide.
Webhooks
Same envelope as Kenya/Uganda: collection.completed, collection.failed, disbursement.completed, disbursement.failed.
Currency is the market currency. Provider is the network name (mtn, airtel, orange, moov, free) — never a gateway name.
Match your order with transaction.reference.
Full signing and payloads: Webhooks guide.
Not available in these markets yet
- Bill payments, bank transfer, airtime & data, and card payments remain Uganda-focused
- WhatsApp / USSD send-money remains Uganda