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

Environment Base URL
Sandbox https://testxchange.korba365.com/api/v1.0/
Live https://xchange.korba365.com/api/v1.0/

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.
Next Getting Started