1. Definitions
Koba Documentation
  • Introduction
  • Definitions
    • Data Types
    • Remittance / Payouts Callback Overview
    • C2B / Payins Callback Overview
    • Koba Transactions Response Codes for Payouts
    • MCCMNC Codes
    • API Credentials
  • Authorization
    • Overview
    • Token Request
      POST
    • Find Transaction Routes
      GET
    • Health Check
      GET
  • Payouts
    • Overview
    • Payment Order Request Information
    • Mobile Money Requests (B2C)
      • Overview
      • Mobile Transfers- Safaricom (M-Pesa)
      • Mobile Transfers - Airtel Money
    • Payment Order Requests - Business Transfers
      POST
    • Payment Order Requests - Bank Transfers
      POST
    • Find Payment Order By OriginatorConversationId
      GET
    • Reject Order By OriginatorConversationId
      POST
  • Pay-Ins
    • Payment Links
      • Overview
      • Create Payment Link
      • Find Payment Links By Id
      • Update Payment Link
    • Express Deposits (C2B)
      • Overview
      • Express Deposit Request
      • Find Express Deposit By OriginatorConversationId
  • Account Validation
    • Overview
    • Account Number Validation Request
      POST
    • Find KYC Status by SystemTraceAuditNumber
      GET
    • Account Validation
      POST
    • Find Account Validation Status by SystemTraceAuditNumber
      GET
  • Platform Services
    • Customer Accounts
      • Balance Check
      • Find Charges By TransactionTypeId
  1. Definitions

Remittance / Payouts Callback Overview

Note: The callback payload is similar to the Transaction Status Check response.

For every transaction that reaches a final status, ONE Callback will be sent to the configured endpoint.
For Disbursements/B2C, please follow this guide to configure the Webhook:

🔔 Payouts/Disbursements Callback Configuration#

1.
Log in to your Koba customer account.
2.
Navigate to Settings then Company Settings
3.
Switch to the Webhook Settings tab.
4.
Check the Enable Transaction Webhooks? checkbox.
5.
Provide your callbackUrl in the Url input box. This is where Koba will send the response.
6.
Optional: Check Is Secure? to set authentication (Username and Password) for the URL.
7.
Set the format of the callback payload by selecting either JSON or XML.
Flow Diagram

🔔 Sample Payment Order / Disbursement (B2C) Callback#

This payload is sent by the Koba system to the configured callbackUrl for a Payment Order request.
{
    "id": "fb4fac4a-7fc7-8e5d-982f-019f65ebc21a",
    "conversationId": "01000000-0031-0a00-b7c4-08dee27340ef",
    "originatorConversationId": "a759078e-a271-4987-83ca-e8d6291e82da",
    "remarks": "AfriPay Mpesa B2C Test",
    "isProcessed": true,
    "orderLines": [
        {
            "remitter": {
                "name": "John Doe",
                "address": "GREAT BRITAIN",
                "emailAddress": "",
                "phoneNumber": "+44784367263",
                "idType": "NATIONAL ID",
                "idIssuePlace": null,
                "idNumber": "142424152",
                "idIssueDate": null,
                "idExpiryDate": null,
                "nationality": "GB",
                "country": "GB",
                "ccy": "826",
                "amount": 0.0,
                "financialInstitution": "TTS",
                "institutionIdentifier": null,
                "primaryAccountNumber": null,
                "sourceOfFunds": "Business",
                "principalActivity": "Family",
                "dateOfBirth": null,
                "state": null,
                "city": null,
                "postalCode": null,
                "occupation": null,
                "profession": null,
                "relationship": null,
                "fxRate": 0.0
            },
            "recipient": {
                "name": "Jane Doe",
                "address": "Kenya",
                "emailAddress": "",
                "phoneNumber": "+254717265442",
                "mccmnc": "63902",
                "idType": null,
                "idNumber": "123352325",
                "financialInstitution": null,
                "institutionIdentifier": "00000",
                "primaryAccountNumber": "+254717265442",
                "ccy": 404,
                "amount": 0.0,
                "purpose": "Family",
                "country": "KE",
                "creditCustomerAccountId": null,
                "state": null,
                "city": null,
                "postalCode": null,
                "nationality": null,
                "dateOfBirth": null,
                "occupation": null,
                "profession": null,
                "relationship": null
            },
            "transaction": {
                "routeId": "b1d92ea1-5751-8fa4-8217-019ed12ba5bf",
                "amount": 350.00,
                "reference": "AfriPay Mpesa Test",
                "systemTraceAuditNumber": "1a06c4d0-4c98-40d4-bf48-4a3a51184213",
                "type": 0,
                "channelType": 1,
                "customerAccountNo": null,
                "routeTransactionTypeId": "a0d6b5a4-3b6b-821d-8035-019ed12ba61e"
            },
            "transactionOutcome": {
                "id": "6fa47b48-7b92-8234-937b-019f65ebc21b",
                "paymentAmount": 350.00,
                "feeAmount": 20.00,
                "trackingNumber": "AGFI8FYP9",
                "transactionStatus": 4,
                "transactionStatusDescription": "Completed",
                "workingAccountAvailableFunds": 100000.00,
                "utilityAccountAvailableFunds": 50000.00,
                "walletBalance": 0.00,
                "transactionDate": "15.07.2026 16:16:19",
                "transactionCreditParty": "254717265442",
                "resultCode": "0",
                "resultCodeDescription": "The service request is processed successfully.",
                "thirdPartyPayload": {
                    "thirdPartyResponseCode": "0",
                    "thirdPartyResponseCodeDescription": "Accept the service request successfully.",
                    "thirdPartyResultCode": "0",
                    "thirdPartyResultCodeDescription": "The service request is processed successfully.",
                    "thirdPartyReceiptNumber": "9A7792AB53"
                }
            }
        }
    ]
}
Modified at 2026-10-28 13:44:10
Previous
Data Types
Next
C2B / Payins Callback Overview
Built with