Your system must expose a webhook endpoint to receive transaction notifications from DCS. After receiving a notification, validate the X-Auth-Signature, settlementId, and accountNumber, then respond a
Webhook Logic Requirements:
Validate X-Auth-Signature using SHA512(Client-Id:ClientSecret).
Confirm settlementId and accountNumber exist and are valid.
Return:
"success" (code 00) if valid.
"duplicate transaction" (code 01) if settlementId already processed.
"rejected transaction" (code 02) if request is invalid.
"system failure, retry" (code 03) for internal errors.
{"sessionId":"000004210301180534806663649508","accountNumber":"9977581536","tranRemarks":"FROM UBA/...","transactionAmount":"1","settledAmount":"1","feeAmount":"0","vatAmount":"0","currency":"NGN","initiationTranRef":"kjhghjk","settlementId":"202210301006807600001432","sourceAccountNumber":"2093566866","sourceAccountName":"CASAFINA CREDIT-EASY LOAN","sourceBankName":"UNITED BANK FOR AFRICA","channelId":"1","tranDateTime":"2021-03-01 18:06:20"}
Webhook Responses:
Success:
Duplicate:
Rejected:
System Failure:
Sample Implementation
The above command returns JSON structured like this: