# KemyPay API ## Guides ### Get started - [Introduction](https://docs.kemypay.com/index.md): Collect mobile money payments in 12 African countries with one API - [Quickstart](https://docs.kemypay.com/quickstart.md): From your API key to your first payment - [Authentication](https://docs.kemypay.com/authentication.md): API keys, allowed IP addresses and environments - [Test mode](https://docs.kemypay.com/test-mode.md): Simulate every payment outcome without moving money ### Guides - [Services](https://docs.kemypay.com/guides/services.md): One service per app or business activity, reviewed by our team - [Categories](https://docs.kemypay.com/guides/categories.md): Choose the business category of your service - [Countries and operators](https://docs.kemypay.com/guides/countries-and-operators.md): Read the live list, the status of each operator, the limits and your price - [Collections](https://docs.kemypay.com/guides/collections.md): Request a mobile money payment from your customer - [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 - [Pricing](https://docs.kemypay.com/guides/pricing.md): One all-in price per operator, always returned by the API - [Balances](https://docs.kemypay.com/guides/balances.md): One balance per service, country and currency - [Webhooks](https://docs.kemypay.com/guides/webhooks.md): Get the result of every payment, signed - [Errors](https://docs.kemypay.com/guides/errors.md): Every error has a code, a message and details ## API Reference ### Overview - [API overview](https://docs.kemypay.com/api-reference/overview.md): Base URL, authentication, response format and pagination ### Catalog - [List Countries and Operators](https://docs.kemypay.com/api-reference/catalog/countries.md): Countries available to your account, with their operators. For each operator and currency, `collection`, `payout` and `refund` give the live status, whether the operation is `available` right now, the minimum and maximum amount per transaction, and **your all-in price** (`fee`). - [Get a Country](https://docs.kemypay.com/api-reference/catalog/country.md): Same data as `GET /mobile-money/countries` for one country. - [List Service Categories](https://docs.kemypay.com/api-reference/catalog/categories.md): The business categories you can choose when you create a service. Send the `code` as `category`. `review` is `standard`, or `enhanced` when our team runs extra checks before approving the service. Activities that are not allowed (gambling, crypto, adult content, weapons, drugs, pyramid schemes) are… ### Services - [Create a Service](https://docs.kemypay.com/api-reference/services/create.md): Creates a service: one app, website or business activity that collects payments on its own, with its own balances. The service starts in `pending_review` while our team checks it. In test mode (`sk_test_`) you can collect right away; in live mode the service must be `active`. - [List Services](https://docs.kemypay.com/api-reference/services/list.md) - [Get a Service](https://docs.kemypay.com/api-reference/services/get.md) - [Update a Service](https://docs.kemypay.com/api-reference/services/update.md): Changes the technical settings of a service, with no new review: `fee_bearer`, `webhook_url` and `callback_url` (send `null` to remove the `callback_url`). They apply to the next payments. The name, category, description, website and support contacts were reviewed by our team: contact support to cha… - [Disable a Service](https://docs.kemypay.com/api-reference/services/disable.md): Pauses an `active` service (status `disabled`). New payments are refused until you enable it again. - [Enable a Service](https://docs.kemypay.com/api-reference/services/enable.md): Turns a service you disabled back to `active`, with no new review. A service `suspended` by our team cannot be enabled this way: contact support. - [Rotate the Webhook Secret](https://docs.kemypay.com/api-reference/services/rotate-secret.md): Creates a new `webhook_secret` for the service and returns it **once**. The previous secret stops working immediately: update your server before you rotate in production. ### Collections - [Quote a Payment](https://docs.kemypay.com/api-reference/collections/quote.md): Prices a payment before you request it, at your price: what your customer pays, the fee and what you receive, depending on who pays the fee. Nothing is created. - [Predict the Operator](https://docs.kemypay.com/api-reference/collections/predict-operator.md): Returns the country and the operator code of a mobile money number, with the number cleaned up. - [Request a Payment](https://docs.kemypay.com/api-reference/collections/create.md): Asks your customer to pay from their mobile money account: they receive a prompt on their phone and confirm with their PIN. The result arrives by webhook (`mobile_money.collection.completed` or `.failed`). - [List Payments](https://docs.kemypay.com/api-reference/collections/list.md): Your payments, newest first. Test keys list test payments only, live keys live payments only. - [Get a Payment](https://docs.kemypay.com/api-reference/collections/get.md): The payment and its current status. Prefer webhooks to polling. ### Balances - [List Balances](https://docs.kemypay.com/api-reference/balances/list.md): One balance per service, country and currency (Congo - Kinshasa has CDF and USD). A balance is `"0.00"` until you collect there. A balance only pays out to mobile money numbers of its own country. Services counted: `active` ones, plus `pending_review` ones in test mode. ### Catalog - [List countries and operators](https://docs.kemypay.com/api-reference/catalog/list-countries-and-operators.md): Countries available to your account, with their operators. For each operator and currency, `collection`, `payout` and `refund` give the live status, whether the operation is `available` right now, the minimum and maximum amount per transaction, and **your all-in price** (`fee`). - [Get a country](https://docs.kemypay.com/api-reference/catalog/get-a-country.md): Same data as `GET /mobile-money/countries` for one country. - [List service categories](https://docs.kemypay.com/api-reference/catalog/list-service-categories.md): The business categories you can choose when you create a service. Send the `code` as `category`. `review` is `standard`, or `enhanced` when our team runs extra checks before approving the service. Activities that are not allowed (gambling, crypto, adult content, weapons, drugs, pyramid schemes) are… ### Services - [List your services](https://docs.kemypay.com/api-reference/services/list-your-services.md) - [Create a service](https://docs.kemypay.com/api-reference/services/create-a-service.md): Creates a service: one app, website or business activity that collects payments on its own, with its own balances. The service starts in `pending_review` while our team checks it. In test mode (`sk_test_`) you can collect right away; in live mode the service must be `active`. - [Get a service](https://docs.kemypay.com/api-reference/services/get-a-service.md) - [Update the settings of a service](https://docs.kemypay.com/api-reference/services/update-the-settings-of-a-service.md): Changes the technical settings of a service, with no new review: `fee_bearer`, `webhook_url` and `callback_url` (send `null` to remove the `callback_url`). They apply to the next payments. The name, category, description, website and support contacts were reviewed by our team: contact support to cha… - [Disable a service](https://docs.kemypay.com/api-reference/services/disable-a-service.md): Pauses an `active` service (status `disabled`). New payments are refused until you enable it again. - [Enable a service again](https://docs.kemypay.com/api-reference/services/enable-a-service-again.md): Turns a service you disabled back to `active`, with no new review. A service `suspended` by our team cannot be enabled this way: contact support. - [Rotate the webhook secret](https://docs.kemypay.com/api-reference/services/rotate-the-webhook-secret.md): Creates a new `webhook_secret` for the service and returns it **once**. The previous secret stops working immediately: update your server before you rotate in production. ### Collections - [Quote a payment (beta)](https://docs.kemypay.com/api-reference/collections/quote-a-payment-beta.md): Prices a payment before you request it, at your price: what your customer pays, the fee and what you receive, depending on who pays the fee. Nothing is created. - [Find the operator of a phone number (beta)](https://docs.kemypay.com/api-reference/collections/find-the-operator-of-a-phone-number-beta.md): Returns the country and the operator code of a mobile money number, with the number cleaned up. - [List payments (beta)](https://docs.kemypay.com/api-reference/collections/list-payments-beta.md): Your payments, newest first. Test keys list test payments only, live keys live payments only. - [Request a payment (beta)](https://docs.kemypay.com/api-reference/collections/request-a-payment-beta.md): Asks your customer to pay from their mobile money account: they receive a prompt on their phone and confirm with their PIN. The result arrives by webhook (`mobile_money.collection.completed` or `.failed`). - [Get a payment (beta)](https://docs.kemypay.com/api-reference/collections/get-a-payment-beta.md): The payment and its current status. Prefer webhooks to polling. ### Balances - [List your balances](https://docs.kemypay.com/api-reference/balances/list-your-balances.md): One balance per service, country and currency (Congo - Kinshasa has CDF and USD). A balance is `"0.00"` until you collect there. A balance only pays out to mobile money numbers of its own country. Services counted: `active` ones, plus `pending_review` ones in test mode. ## Supported Countries ### Supported Countries - [Mobile money](https://docs.kemypay.com/supported-countries/mobile-money.md): Countries and operators where you can collect ## Changelog ### Changelog - [Changelog](https://docs.kemypay.com/changelog.md): New features and changes of the KemyPay API ## OpenAPI Specs - [openapi](/fr/openapi.yaml) - [openapi](/openapi.yaml) ## Optional - [Support](mailto:hi@kemypay.com) > The links below point to documentation indexes. Follow each `/_llms/` index recursively until you reach documentation pages. ## Indexes - [French (48 pages)](https://docs.kemypay.com/_llms/fr.txt): Documentation for French. This documentation is built and hosted on [Mintlify](https://mintlify.com), a developer documentation platform.