Skip to main content
POST

Authorizations

x-api-key
string
header
required

Merchant API secret.

Headers

environment
enum<string>
default:production

Target environment. Defaults to production when omitted and must match the API key environment.

Available options:
production,
sandbox

Body

application/json
currency
enum<string>
required
Available options:
UGX,
KES
source
enum<string>
required
Available options:
mobile
amount
number
required
Required range: x <= 1000000000
phone_number
string
required
Required string length: 8 - 20
Pattern: ^\+?[1-9]\d{7,19}$
external_id
string
required
Required string length: 3 - 120
Pattern: ^[A-Za-z0-9._:-]+$
callback_url
string<uri>
required
Maximum string length: 500
Pattern: ^https://
quote
boolean
default:false

Callbacks

POST
{$request.body#/callback_url}collectionPending

Body

application/json
reference
string
required
total_amount
number
required
fee
number
required
product
string
required
Examples:

"collect_mobile"

"disburse_mobile"

description
string | null
required
direction
enum<string>
required
Available options:
add,
sub
amount
number
required
currency
string | null
required
usd_amount
number
required
counterparty
object | null
required
phone_number
string | null
required
account_number
string | null
required
status
enum<string>
required
Available options:
pending
Example:

"pending"

created_at
string<date-time>
required
updated_at
string<date-time>
required
completed_at
string<date-time> | null
required
external_id
string | null
required

The unique identifier supplied by the API client.

event
enum<string>
required
Available options:
collection.pending

Response

200

Callback accepted.

POST
{$request.body#/callback_url}collectionUpdated

Body

application/json
reference
string
required
total_amount
number
required
fee
number
required
product
string
required
Examples:

"collect_mobile"

"disburse_mobile"

description
string | null
required
direction
enum<string>
required
Available options:
add,
sub
amount
number
required
currency
string | null
required
usd_amount
number
required
counterparty
object | null
required
phone_number
string | null
required
account_number
string | null
required
status
enum<string>
required
Available options:
completed,
failed,
cancelled
Example:

"pending"

created_at
string<date-time>
required
updated_at
string<date-time>
required
completed_at
string<date-time> | null
required
external_id
string | null
required

The unique identifier supplied by the API client.

event
enum<string>
required
Available options:
collection.updated,
transfer.updated

Response

200

Callback accepted.

Response

Quote or collection transaction.

status
enum<string>
required
Available options:
success
data
object
required
Last modified on July 22, 2026