> ## Documentation Index
> Fetch the complete documentation index at: https://docs.kemypay.com/llms.txt
> Use this file to discover all available pages before exploring further.

# Introduction

> Collect mobile money payments in 12 African countries with one API

**KemyPay lets your customers pay with the mobile money wallet they already use** — MTN, Orange, Airtel, M-Pesa, Moov, Free, Zamtel. One API, 12 countries, 23 operators. Your customer confirms on their phone with their PIN, and the money lands on your balance for that country, in its local currency.

> **[12 countries, 23 operators](https://docs.kemypay.com/supported-countries/mobile-money.md)**
>
> West, Central and East Africa. The live list, with limits, status and your price, is one API call away.

> **[One balance per service and country](https://docs.kemypay.com/guides/balances.md)**
>
> Each of your apps (a service) has its own balances. XAF collected in Cameroon stays in Cameroon.

> **[You choose who pays the fee](https://docs.kemypay.com/guides/fee-bearer.md)**
>
> Deduct the fee from what you receive, or add it to the price your customer pays.

## How it works

**1. Create a service**

A service is one of your apps or business activities. You give its name, category, website, support contacts and the address of your server that receives our webhooks. Our team reviews it.

**2. Request a payment**

Your server sends the amount, the phone number and your own reference. Your customer receives a prompt on their phone.

**3. Your customer confirms with their PIN**

Nothing to install: no card, no bank account, no app.

**4. Get the result**

We send a signed webhook to your server, and credit the balance of your service in that country.

> **[Start in 5 minutes](https://docs.kemypay.com/quickstart.md)**
>
> Get a test key, create a service and request your first payment.

## Built for developers

* **Copy-paste examples** in cURL, Node.js, PHP and Python on every guide.
* **Safe retries**: your `reference` makes every payment request idempotent. Your customer is never charged twice.
* **Clear errors**: every refused field is explained in `details`.
* **A complete test mode**: `sk_test_` keys simulate every outcome, from success to an insufficient balance, without moving money.
* **Signed webhooks**, with automatic retries for 24 hours.

> [!NOTE]
>
> Collections are in **beta** while they roll out in production. The catalog, services and balances are available now.


This documentation is built and hosted on [Mintlify](https://mintlify.com), a developer documentation platform.