Call any endpoint with your API keys — no Postman required. Open API playground

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

  1. Create API keys. Use HTTP Basic: Authorization: Basic base64(api_key:api_secret). See Getting Started.
  2. Ask a superadmin to enable that country’s wallet for your business.
  3. Subscribe to that market’s collection and/or disbursement services in the marketplace.
  4. POST /collect-money or POST /send-money with country, E.164 phone, UUID reference, and amount.
  5. Customer approves the PIN prompt (collect) or the payout is sent (send).
  6. Handle the same completed / failed webhook as Kenya. Optional: poll GET /collect-money/{uuid} or GET /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

Related guides

Chat on WhatsApp