Webhooks APIs
The API sends webhook notifications for transaction status updates. To receive these notifications, you need to register a webhook URL with your account.
Webhook Payload
{
type: "transaction_event",
statusCode: 200,
message: "Transaction completed successfully",
client_id: "cli_789abc123",
trans_type: "payment",
timestamp: "2025-07-02T12:34:56Z",
reference_id: "ref_456def789",
status: "success",
amount: "150.00",
fee: "0.50",
currency: "UGX",
sender_account: "256787723489",
receiver_account: "256787723489",
transaction_id: "tx_abcdef123456",
meta: {
orderId: "ORD78910",
notes: "Payment for invoice #1234",
}
chainInfo: {
from_address: "0xA1B2C3D4E5F6G7H8I9J0",
to_address: "0xF9E8D7C6B5A4B3C2D1E0",
amount: "150.00",
asset_code: "USDT",
contract_address: "0xdAC17F958D2ee523a2206206994597C13D831ec7",
hash: "0xabc123def456...",
state: "confirmed",
direction: "outbound"
}
}
Note
meta - optional, same mete data that comes when a client iniates a payment, it is only valid for merhcant payments chain Info is optional and will be send incase the currency being sent is a stable coin. for normal fiat transactions the chainInfor is optional
Client Errors
- 400 Bad Request: The server could not understand the request due to invalid syntax.
- 401 Unauthorized: Authentication is required or has failed.
- 403 Forbidden: The client does not have access rights to the content.
- 404 Not Found: The server could not find the requested resource.
- 429 Too Many Requests: The client has sent too many requests in a given amount of time (rate limiting).
Example error response:
{
"status": 404,
"message": "Resource not found",
"data": null
}