Disbursements
Mobile Money Disbursements
Send money to mobile money accounts
Send money directly to mobile money accounts across all major Tanzanian networks.
| Network | Code |
|---|
| Airtel Money | Airtel |
| Mixx by Yas | Tigo |
| HaloPesa | Halopesa |
POST /v1/payouts/send
Authorization: Bearer <api_key>
Content-Type: application/json
Idempotency-Key: <unique_key>
{
"amount": 5000,
"channel": "mobile",
"recipient_phone": "255781000000",
"recipient_name": "Recipient Name",
"narration": "Salary payment January 2026",
"webhook_url": "https://yoursite.com/webhooks/snippe",
"metadata": {
"employee_id": "EMP-001",
"payroll_id": "PAY-2026-01"
}
}
{
"status": "success",
"code": 201,
"data": {
"amount": {
"currency": "TZS",
"value": 5000
},
"api_version": "2026-01-25",
"channel": {
"provider": "airtel",
"type": "mobile_money"
},
"created_at": "2026-01-25T01:06:39.601310354Z",
"external_reference": "fVJQRPGYbtN3",
"fees": {
"currency": "TZS",
"value": 1500
},
"id": "29faef0f-765f-4325-a674-6196f1d9232d",
"object": "payout",
"recipient": {
"name": "Recipient Name",
"phone": "255781000000"
},
"reference": "667c9279-846f-4001-b046-fdecab204f4f",
"status": "pending",
"total": {
"currency": "TZS",
"value": 6500
}
}
}
| Field | Type | Description |
|---|
amount | integer | Amount in smallest currency unit |
channel | string | Must be mobile |
recipient_phone | string | Phone number (format: 255XXXXXXXXX) |
recipient_name | string | Full name of recipient |
| Field | Type | Description |
|---|
narration | string | Description/reason for payout |
webhook_url | string | URL for webhook notifications |
metadata | object | Custom key-value data |
| Field | Description |
|---|
reference | Unique payout reference |
external_reference | Provider's reference number |
status | Payout status (pending, completed, failed) |
amount | Payout amount |
fees | Transaction fees |
total | Total amount deducted (amount + fees) |
channel.provider | Mobile money provider detected |
GET /v1/payouts/{reference}
Authorization: Bearer <api_key>
{
"status": "success",
"code": 200,
"data": {
"amount": {
"currency": "TZS",
"value": 5000
},
"api_version": "2026-01-25",
"channel": {
"provider": "airtel",
"type": "mobile_money"
},
"completed_at": "2026-01-25T01:06:52.322977Z",
"created_at": "2026-01-25T01:06:39.60131Z",
"external_reference": "fVJQRPGYbtN3",
"fees": {
"currency": "TZS",
"value": 1500
},
"id": "29faef0f-765f-4325-a674-6196f1d9232d",
"metadata": {
"employee_id": "EMP-001",
"payroll_id": "PAY-2026-01"
},
"narration": "Salary payment January 2026",
"object": "payout",
"recipient": {
"name": "Recipient Name",
"phone": "255781000000"
},
"reference": "667c9279-846f-4001-b046-fdecab204f4f",
"source": "api",
"status": "completed",
"total": {
"currency": "TZS",
"value": 6500
}
}
}
{
"status": "error",
"code": 500,
"error_code": "payment_failed",
"message": "insufficient balance: available 5000, required 6500"
}
{
"status": "error",
"code": 404,
"error_code": "not_found",
"message": "payout not found"
}