Korba Xchange API
The Korba Xchange REST API gives your application programmatic access to payment collections, disbursements, airtime, data bundles, utility payments, and transaction reporting through a consistent JSON interface.
Requests are authenticated with HMAC-SHA256. Include your numeric client_id in
request bodies that require it, and send Authorization: HMAC client_key:signature
on authenticated API calls.
Base URL
Available Services
| Service | Method | Description | Reference |
|---|---|---|---|
| Collections | POST | Prompt a mobile-money wallet or card to approve a debit. | Collections |
| Korba XCheckout | JS |
Open a hosted checkout page without handling customer payment details. | Korba XCheckout |
| WooCommerce Plugin | Plugin |
Accept Korba payments from WooCommerce checkout. | WooCommerce |
| Disbursements / Remittance | POST | Send funds to mobile-money wallets or bank accounts. | Disbursements |
| Airtime Topup | POST | Recharge airtime on MTN, Telecel, AirtelTigo, and Glo numbers. | Airtime Topup |
| Data Bundles | POST | Purchase MTN, MTN Fibre, AT, Telecel, and Glo data bundles. | Data Bundles |
| ECG | POST | Look up and top up ECG meters through direct and legacy ECG flows. | ECG |
| GWCL | POST | Pay Ghana Water Company Limited bills. | GWCL |
| Utilities | POST | Validate and pay DSTV, GOTV, StarTimes, ECG, and related utility accounts. | Utilities |
| MTN Direct Debit | POST | Create, update, and cancel recurring MTN Mobile Money mandates. | Direct Debit |
| USSD OTP | POST | Trigger a USSD one-time-password flow for customer verification. | USSD OTP |
| OVA Balance | POST | Check the available balance for your Partner Wallet. | OVA Balance |
| Transactions | POST | Check transaction status and fetch paginated transaction history. | Transactions |
| SMS | POST | Send SMS notifications using the sender configured for your account. | SMS |
Quick Start
This example starts a mobile money collection. Build the HMAC signature from the sorted request
body fields and send it in the Authorization header.
POST
https://testxchange.korba365.com/api/v1.0/collect/
cURL
curl -X POST "https://testxchange.korba365.com/api/v1.0/collect/" \ -H "Content-Type: application/json" \ -H "Authorization: HMAC YOUR_CLIENT_KEY:YOUR_SIGNATURE" \ -d '{ "amount": "1.00", "callback_url": "https://yourapp.com/callbacks/collections/", "client_id": 2, "customer_number": "0241234567", "description": "Test collection", "network_code": "MTN", "transaction_id": "TXN-001" }'
200 OK
{ "success": true, "results": "Transaction initiated successfully. Please Check Phone for prompt", "error_code": null }
Mobile money and card transactions are asynchronous. Use callbacks for final status.