A withdrawal is a disbursement — money moves from your Kotani Pay payout balance to a customer’s mobile money wallet or bank account.Documentation Index
Fetch the complete documentation index at: https://developers.kotanipay.com/llms.txt
Use this file to discover all available pages before exploring further.
Before You Start
- An API key — see API Keys
- A funded payout balance in the disbursement currency
- A customer record for the recipient — see Create Customer
- A
callbackUrlon your server
Mobile Money Withdrawal
1. Create the customer if you haven’t already. The customer record holds the recipient’s phone number and network details. 2. Initiate the withdrawal — call POST /api/v3/withdraw/mobile-money with yourcallbackUrl. The API responds immediately with a PENDING transaction. Your payout balance is debited at this point.
3. The recipient receives funds. If the disbursement succeeds, the customer receives an SMS confirmation from the mobile money network.
4. Kotani Pay notifies you via your callbackUrl when the transaction settles:
SUCCESSFUL— funds delivered to the recipientFAILED— disbursement failed (invalid number, network error, etc.); your payout balance is automatically reversed
If you have a webhook secret configured, the callback arrives in a signed envelope with
X-Kotani-Signature, X-Kotani-Event, and X-Kotani-Integrator headers. Without a secret, the transaction fields are posted directly to your callbackUrl. See Webhooks.Kenya-Specific Withdrawals
Two additional disbursement methods are available for Kenya:- Lipa na M-Pesa — sends to a till number or triggers an STK push — POST /api/v3/withdraw/lipa-na-mpesa
- Paybill — sends to a paybill number with an account reference — POST /api/v3/withdraw/paybill
Bank Withdrawal
Currently supported in Kenya and South Africa. 1. Get supported banks for the target currency — GET /api/v3/withdraw/v2/bank/supporting-banks/:currency. This gives you the bank codes to use in the request. 2. Initiate the withdrawal — call POST /api/v3/withdraw/v2/bank with yourcallbackUrl and the recipient’s bank account details.
3. Kotani Pay notifies you via your callbackUrl when the transfer completes or fails — same event structure as mobile money withdrawals.
4. Poll for status if needed — GET /api/v3/withdraw/v2/bank/status/:referenceId.
Monitoring from the Dashboard
- Log in to backoffice.kotanipay.com
- Use the country and currency selector to filter by market
- Navigate to Payouts in the left sidebar