Disbursements
Bank Transfer Disbursements
Send money to bank accounts
Send money directly to bank accounts across 35+ Tanzanian banks.
Supported Banks
Snippe supports transfers to all major Tanzanian banks including:
- CRDB Bank
- NMB Bank
- NBC Bank
- DTB Bank
- Standard Chartered
- Stanbic Bank
- Exim Bank
- Equity Bank
- And many more...
Create Bank Transfer
Send money to any bank account.
POST https://api.snippe.sh/v1/payouts/send
Authorization: Bearer <api_key>
Content-Type: application/json
Idempotency-Key: unique-request-id-789Request
{
"amount": 500000,
"channel": "bank",
"recipient_name": "ABC Company Ltd",
"recipient_bank": "CRDB",
"recipient_account": "0150123456789",
"narration": "Invoice payment INV-2026-001",
"metadata": {
"invoice_id": "INV-2026-001"
}
}Response
{
"status": 201,
"data": {
"object": "payout",
"api_version": "2026-01-25",
"id": "550e8400-e29b-41d4-a716-446655440002",
"reference": "po_x9y8z7w6v5u4",
"status": "pending",
"source": "api",
"channel": {
"type": "bank",
"provider": "crdb"
},
"recipient": {
"name": "ABC Company Ltd",
"phone": null,
"bank": "CRDB",
"account": "0150123456789"
},
"amount": {
"value": 500000,
"currency": "TZS"
},
"fees": {
"value": 1500,
"currency": "TZS"
},
"total": {
"value": 501500,
"currency": "TZS"
},
"narration": "Invoice payment INV-2026-001",
"metadata": {
"invoice_id": "INV-2026-001"
},
"created_at": "2026-01-24T10:00:00Z"
}
}Request Parameters
Required Fields
| Field | Type | Description |
|---|---|---|
amount | integer | Amount in smallest currency unit (TZS) |
channel | string | Must be bank |
recipient_name | string | Full name or company name |
recipient_bank | string | Bank code (e.g., CRDB, NMB) |
recipient_account | string | Bank account number |
narration | string | Description/reason for payout |
Optional Fields
| Field | Type | Description |
|---|---|---|
metadata | object | Custom key-value data |
Get Payout Status
GET https://api.snippe.sh/v1/payouts/{reference}
Authorization: Bearer <api_key>Response
{
"status": 200,
"data": {
"object": "payout",
"api_version": "2026-01-25",
"id": "550e8400-e29b-41d4-a716-446655440002",
"reference": "po_x9y8z7w6v5u4",
"external_reference": "TBP-987654321",
"status": "completed",
"source": "api",
"channel": {
"type": "bank",
"provider": "crdb"
},
"recipient": {
"name": "ABC Company Ltd",
"phone": null,
"bank": "CRDB",
"account": "0150123456789"
},
"amount": {
"value": 500000,
"currency": "TZS"
},
"fees": {
"value": 1500,
"currency": "TZS"
},
"total": {
"value": 501500,
"currency": "TZS"
},
"narration": "Invoice payment INV-2026-001",
"failure_reason": null,
"completed_at": "2026-01-24T10:15:00Z",
"created_at": "2026-01-24T10:00:00Z"
}
}List Payouts
GET https://api.snippe.sh/v1/payouts?channel=bank&limit=20
Authorization: Bearer <api_key>Query Parameters
| Parameter | Type | Default | Description |
|---|---|---|---|
limit | integer | 20 | Items per page (max 100) |
offset | integer | 0 | Pagination offset |
status | string | - | Filter by status |
channel | string | - | Filter by channel (bank) |
start | string | - | Start date (YYYY-MM-DD) |
end | string | - | End date (YYYY-MM-DD) |
Calculate Fee
GET https://api.snippe.sh/v1/payouts/fee?amount=500000
Authorization: Bearer <api_key>Response
{
"status": 200,
"data": {
"amount": 500000,
"fee_amount": 1500,
"total_amount": 501500,
"currency": "TZS"
}
}Error Handling
Insufficient Balance
{
"status": 400,
"error": {
"code": "insufficient_balance",
"message": "Insufficient balance to process payout"
}
}Invalid Bank Code
{
"status": 400,
"error": {
"code": "validation_error",
"message": "Invalid bank code"
}
}Invalid Account Number
{
"status": 400,
"error": {
"code": "validation_error",
"message": "Invalid bank account number"
}
}Provider Error
{
"status": 502,
"error": {
"code": "provider_error",
"message": "Payment provider temporarily unavailable"
}
}Webhook Events
| Event | Description |
|---|---|
payout.completed | Payout successful |
payout.failed | Payout failed |
payout.reversed | Payout reversed |