Direct Payout API
Initiates a direct payout transaction to send funds to a specified account. For KES (Kenyan Shillings), the account_name is required.
- URL:
{{BASE_URL}}/v1/payment/direct-payout
- Method:
POST
- Auth Required: Yes
- Request Body:
{
"reference_id": "e024d94f979f46e47acf51b1ab0bf6282124",
"amount": 1000,
"trans_type": "PUSH",
"currency": "UGX",
"product_id": 10011,
"account_number": "256781234567",
"extra_data": {
"account_name": "John Doe"
}
} - Success Response:
{
"status": 202,
"message": "Transaction is being processed by payment provider",
"data": {
"trans_id": "f9ea82d2-458e-40a6-a578-1db8004f45ea",
"status": "PENDING"
}
} - Error Response:
{
"status": 400,
"message": "Invalid request",
"data": {
"error": "Invalid account number or insufficient funds"
}
}
Request Fields
reference_id
: Your unique reference for the transactionamount
: Amount to sendtrans_type
: Should be "PUSH" for payoutscurrency
: Currency code (e.g., "UGX")product_id
: Product identifier for the payoutaccount_number
: Account number to send funds to
Response Fields
trans_id
: Unique transaction identifierstatus
: Transaction status (e.g., "PENDING")
Transaction Status
Possible transaction status values:
PENDING
: Transaction is being processedSUCCESS
: Transaction completed successfullyFAILED
: Transaction failed to complete