Transactions
Two endpoints give you full visibility into your transaction history. Query a single transaction's live status, or pull a paginated list of all transactions associated with your account for reconciliation and reporting.
https://testxchange.korba365.com/api/v1.0/transaction_status/
https://testxchange.korba365.com/api/v1.0/client_transactions/
Transaction Status
Look up the current status of any transaction using either your own transaction_id
or the Korba-assigned reference. This endpoint is useful for confirming transaction outcomes
after a callback, or for building a manual "check status" flow in your UI.
import hmac, hashlib, requests payload = { "transaction_id": "X13454", "client_id": "YOUR_CLIENT_ID", } message = "&".join(f"{k}={v}" for k, v in sorted(payload.items())) signature = hmac.new("YOUR_SECRET_KEY".encode(), message.encode(), hashlib.sha256).hexdigest() r = requests.post( "https://testxchange.korba365.com/api/v1.0/transaction_status/", json=payload, headers={"Authorization": f"HMAC YOUR_CLIENT_KEY:{signature}"}, ) print(r.json())
Response
Returns the transaction outcome. When the transaction_id does not exist in your
account, a structured error is returned instead.
{ "success": true, "amount": "50.00", "momo_id": "123456789", "status": "success", "message": "Transaction was processed successfully", "transaction_id": "X13454", "korba_trans_id": "YY422" }
{ "success": false, "results": "Transaction does not exist", "error_code": 421 }
Fetch Transactions
Retrieve a paginated list of all transactions linked to your client_id. Results are
ordered by creation time (newest first) and include full balance snapshots, network codes, and
Korba-assigned references — making this endpoint ideal for reconciliation reports.
import hmac, hashlib, requests payload = {"client_id": "YOUR_CLIENT_ID"} message = "&".join(f"{k}={v}" for k, v in sorted(payload.items())) signature = hmac.new("YOUR_SECRET_KEY".encode(), message.encode(), hashlib.sha256).hexdigest() r = requests.post( "https://testxchange.korba365.com/api/v1.0/client_transactions/", json=payload, headers={"Authorization": f"HMAC YOUR_CLIENT_KEY:{signature}"}, ) data = r.json() print(f"Total: {data['count']} — Next: {data['next']}") for tx in data["results"]: print(tx["korba_transaction_id"], tx["transaction_status"])
Response
Returns a paginated envelope. Use the next URL to retrieve subsequent pages.
Each object in results includes the fields below.
{ "success": true, "count": 142, "next": "https://testxchange.korba365.com/api/v1.0/client_transactions/?page=2", "previous": null, "results": [ { "korba_transaction_id": "YY422", "client_transaction_id": "X13454", "network_code": "MTN", "time_created": "2026-04-22T09:41:00Z", "credit_amt": "50.00", "debit_amt": "0.00", "transaction_status": "success", "exchange_message": "Transaction processed successfully", "ova_balance_before": "1530.50", "ova_balance_after": "1480.50", "customer_number": "0241234567" } ] }
Error Codes
Errors specific to the Transactions endpoints are listed below. For the full list of platform-wide error codes, see the Errors & Status Codes reference.