In the current dynamic and fast-paced financial ecosystem, seamless communication between payment systems is crucial for efficient operations. API service, enabling third-party systems to receive real-time updates about transactions. This guide provides a comprehensive overview of interacting and integrating with to notify a third-party system of specific transaction events, such as successful account credits. These notifications are sent as .
Below are the fields(Payload) sent from KCB Bank to Your Callback URL/Endpoint:
| Field | Type | Required | Description |
|---|---|---|---|
transactionReference | String | Mandatory | Unique identifier for the transaction. |
requestId | String | Mandatory | Request identifier from KCB. |
channelCode | String | Mandatory | Channel used for the transaction. |
timestamp | Timestamp | Mandatory | Date and time of the transaction. |
transactionAmount | String | Mandatory | Amount of the transaction. |
currency | String | Mandatory | Currency of the transaction (e.g., KES). |
customerReference | String | Mandatory | Reference provided by the customer. |
customerName | String | Mandatory | Name of the customer. |
customerMobileNumber | String | Mandatory | Customer's mobile number. |
balance | String | Mandatory | Account balance after the transaction. |
narration | String | Mandatory | Description of the transaction. |
creditAccountIdentifier | String | Mandatory | Identifier for the credited account. |
organizationShortCode | String | Mandatory | Short code for the organization. |
tillNumber | String | Mandatory | Till number used for the transaction. |
Response Body/Payload (Your Acknowledgment to KCB)
Your system must respond with the following fields:
| Field | Type | Required | Description |
|---|---|---|---|
transactionID | String | Mandatory | Unique identifier for the transaction. |
statusCode | Integer | Mandatory | Status of the acknowledgment (e.g., 0 for success). |
statusMessage | String | Mandatory | Description of the acknowledgment status. |
Sample Payloads
Request Example (Notification from KCB):
{
"transactionReference": "FT00026252",
"requestId": "c7d702cb-6b5f-4fa6-8b57-436d0f789017",
"channelCode": "202",
"timestamp": "2021111103005",
"transactionAmount": "100.00",
"currency": "KES",
"customerReference": "INV-0001",
"customerName": "John Doe",
"customerMobileNumber": "25471111111",
"balance": "100000.00",
"narration": "Payment for goods",
"creditAccountIdentifier": "JD001",
"organizationShortCode": "777777",
"tillNumber": "150150"
}
Response Example (Acknowledgment from Your System):
{
"transactionID": "123456789",
"statusCode": 0,
"statusMessage": "Notification received"
}
Security Considerations
HTTPS: Ensure your API endpoint uses HTTPS to encrypt data in transit.
Signature Validation: Use theSignatureheader to authenticate the notification’s origin and ensure its integrity.
Logging: Log all incoming requests and responses for troubleshooting and audit purposes.
Key Benefits of IPN Integration
Real-Time Notifications: Receive instant updates on transactions.
Improved Efficiency: Automate transaction tracking and reconciliation processes.
Enhanced Security: Secure communication with HTTPS and signature-based authentication.
GOING LIVE
To go live with the IPN integration, a . This request is a mandatory requirement to transition from the testing environment to the live environment.
Conclusion
Integrating with KCB Bank’s Buni API Gateway for Instant Payment Notifications ensures smooth, secure, and efficient transaction updates. By following the outlined steps and adhering to the payload structures, third-party systems can seamlessly receive and process notifications, enhancing their financial operations. For further assistance, refer to the full API documentation or contact KCB Bank’s support team.
SOCIAL SHARE CARD GENERATOR