Skip to main content

Authentication

API Keys​

All requests to the CSUL Pay API must be authenticated using API keys. These keys are used to identify your account and authorize your requests.

Generating API Keys​

To generate an API key:

  1. Log in to your CSUL Pay Dashboard
  2. Navigate to API Settings
  3. Click on the "Generate API Key" button
  4. Copy and securely store your API key

Important: The API key will only be displayed once. If you lose it, you'll need to generate a new one. You can have multiple active API keys at the same time.

Using API Keys​

Include your API key in the Authorization header of all requests using the Bearer token format:

Authorization: Bearer YOUR_API_KEY

Example request using cURL:

curl -X POST https://pay.computerstore.ug/api/v1/collections/collect \
-H "Authorization: Bearer YOUR_API_KEY" \
-H "Content-Type: application/json" \
-d '{
"phone": "+256700000000",
"amount": 5000
}'

Webhook Configuration​

Webhooks are used to notify your system about events such as successful payments, failed transactions, or timeouts. To configure your webhook URL:

  1. Go to the API Settings page
  2. Enter your webhook URL in the designated field
  3. Click "Save Changes"

Webhook Requests​

When an event occurs, CSUL Pay will send a POST request to your webhook URL with information about the event. Your server should respond with a 200 OK status code to acknowledge receipt of the webhook.

Example webhook payload:

{
"event": "collection.success",
"data": {
"id": "e870f17f-090b-40d6-9eb0-a1d683591917",
"amount": 500,
"currency": "UGX",
"payer": "+256706859041",
"provider": "AIRTEL_UG",
"externalId": "order-20250520-001",
"status": "SUCCESS",
"createdAt": "2025-05-20T18:55:51.336Z"
}
}

Available event types:

  • collection.success: Payment was successful
  • collection.failed: Payment failed
  • collection.timeout: Payment request timed out