Sandbox Mode: Complete Business Profile (Step 1) to enable live collections.

Complete KYC

API Reference

Integrate Akauntify Pay into your application. Our API is organized around REST, returns JSON-encoded responses, and uses standard HTTP response codes.

Authentication

The Akauntify Pay API uses API keys to authenticate requests. You can view and manage your API keys in the Developers Dashboard.

Authentication to the API is performed via HTTP Basic Auth. Provide your API key as the basic auth username value. You do not need to provide a password.

# Example
curl https://api.akauntify.com/v1/deposits \
  -u ak_prod_X89...:

Endpoints

Creates a new deposit object. This will trigger a USSD push prompt on the customer's mobile phone.

Parameters

  • amountintegerrequired
    A positive integer representing how much to charge, in the smallest currency unit.
  • phone_numberstringrequired
    The customer's mobile number in international format (e.g., +256770000000).
  • referencestring
    An arbitrary string attached to the object. Often useful for displaying to users.

Example Request

curl https://api.akauntify.com/v1/deposits \
  -u ak_prod_X89...: \
  -d amount=50000 \
  -d phone_number="+256770000000" \
  -d reference="INV-2026"

Example Response

{{ '{' }}
  "id": "dep_1MowQ",
  "object": "deposit",
  "amount": 50000,
  "currency": "UGX",
  "status": "pending",
  "phone_number": "+256770000000",
  "reference": "INV-2026",
  "created_at": 1679090999
{{ '}' }}

Sends funds from your Akauntify balance to a customer's mobile wallet or bank account.

Parameters

  • amountrequired
  • destinationrequired
    The mobile number or bank account routing string.

Example Request

curl https://api.akauntify.com/v1/payouts \
  -u ak_prod_X89...: \
  -d amount=20000 \
  -d destination="+256770000000"

When you refund a charge, the funds are returned to the customer's mobile wallet or account. You can refund the entire amount or a partial amount.

Parameters

  • deposit_idrequired
    The ID of the deposit to refund (e.g., dep_1MowQ).
  • amountinteger
    A positive integer representing how much to refund. If not provided, defaults to the entire remaining original deposit amount.
  • reasonstring
    String indicating the reason for the refund (e.g., requested_by_customer).

Example Request

curl https://api.akauntify.com/v1/refunds \
  -u ak_prod_X89...: \
  -d deposit_id="dep_1MowQ" \
  -d reason="requested_by_customer"

Retrieves the details of a transaction (deposit, payout, or refund) that has previously been created. Supply the unique transaction ID.

Path Parameters

  • idrequired
    The ID of the transaction to retrieve (e.g., dep_1MowQ).

Example Request

curl https://api.akauntify.com/v1/transactions/dep_1MowQ \
  -u ak_prod_X89...:

Example Response

{{ '{' }}
  "id": "dep_1MowQ",
  "object": "deposit",
  "amount": 50000,
  "currency": "UGX",
  "status": "successful",
  "created_at": 1679090999
{{ '}' }}
Webhook event payloads are sent via HTTP POST to your registered endpoint URLs. We recommend returning a 2xx HTTP status code as quickly as possible upon receipt.