Collect money from customers using mobile money. Customers pay with their phone number and you receive the funds in your main wallet, with webhooks confirming each completed collection. Collections work in all 12 markets: UG, KE, RW, CD, ZM, CM, BJ, CI, GA, CG, SN, and SL. For DRC you can collect in CDF or USD.

How collections work

1

Initialize collection

POST to /api/v1/collect-money with the customer’s phone number, amount, country, and a unique UUID reference.
2

Customer pays

The customer completes the payment on their mobile money provider (MTN, Airtel, M-Pesa, etc.).
3

Receive webhook

You receive a collection.completed webhook with the result, including the charge and net amount credited to your wallet.

API: Create a collection

Endpoint POST https://wallet.wearemarz.com/api/v1/collect-money Authentication is HTTP Basic: Authorization: Basic base64(api_key:api_secret). Request parameters Do not send phone_number for card payments - see Card Payments. Example request
Example response

Amount, charge, and net amount

All amounts are in local currency units (not cents). On completion the response includes: You only pay on successful collections - failed or pending collections cost nothing. See Public Pricing for current rates.

Wallets

Mobile money collections are credited to your main wallet. Card payment collections go to a separate card wallet. See Bank Transfer for withdrawing funds with wallet_source.
New accounts start in sandbox mode where you can test collections without processing real payments. See Sandbox Mode.
Use a unique UUID v4 reference for every collection. Reusing a reference will be rejected.