Skip to main content

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 transaction
  • amount: Amount to send
  • trans_type: Should be "PUSH" for payouts
  • currency: Currency code (e.g., "UGX")
  • product_id: Product identifier for the payout
  • account_number: Account number to send funds to

Response Fields

  • trans_id: Unique transaction identifier
  • status: Transaction status (e.g., "PENDING")

Transaction Status

Possible transaction status values:

  • PENDING: Transaction is being processed
  • SUCCESS: Transaction completed successfully
  • FAILED: Transaction failed to complete