From 9b34146959d608a3842936805ca4e3547617541d Mon Sep 17 00:00:00 2001 From: Azeez Muibi Date: Wed, 19 Mar 2025 17:11:41 +0100 Subject: [PATCH] Worked on the Transaction Check Request, Penal Charge Request and Transaction Check Response, Penal Charge Response --- digifi_swagger.json | 297 ++++++++++++++++++++++++++++++++++++++++++++ 1 file changed, 297 insertions(+) diff --git a/digifi_swagger.json b/digifi_swagger.json index a1f8af5..126e787 100644 --- a/digifi_swagger.json +++ b/digifi_swagger.json @@ -90,6 +90,22 @@ "description": "Find out more", "url": "https://www.simbrellang.net" } + }, + { + "name": "TransactionCheckRequest", + "description": "Request to check transaction status", + "externalDocs": { + "description": "Find out more", + "url": "https://www.simbrellang.net" + } + }, + { + "name": "PenalChargeRequest", + "description": "Request to charge customer for penalty", + "externalDocs": { + "description": "Find out more", + "url": "https://www.simbrellang.net" + } } ], "paths": { @@ -515,6 +531,100 @@ } ] } + }, + "/TransactionCheck": { + "post": { + "tags": [ + "TransactionCheckRequest" + ], + "summary": "Request to check transaction status", + "description": "This request is to double check the response received from DisburseLoan and CollectLoan Synchronous APIs. This request is required to check transaction result on FIRSTBANK.", + "operationId": "transactionCheckRequest", + "requestBody": { + "description": "Post JSON to check transaction status", + "content": { + "application/json": { + "schema": { + "$ref": "#/components/schemas/TransactionCheckRequest" + } + } + }, + "required": true + }, + "responses": { + "200": { + "description": "Successful operation", + "content": { + "application/json": { + "schema": { + "$ref": "#/components/schemas/TransactionCheckResponse" + } + } + } + }, + "400": { + "description": "Invalid request parameters" + }, + "404": { + "description": "Resource not found" + }, + "422": { + "description": "Validation exception" + } + }, + "security": [ + { + "apiKey": [] + } + ] + } + }, + "/PenalCharge": { + "post": { + "tags": [ + "PenalChargeRequest" + ], + "summary": "Request to charge customer for penalty", + "description": "This request is used to charge customer for penalty as per existing debt. Results of requests sent to this endpoint will be received from NotificationCallback endpoint.", + "operationId": "penalChargeRequest", + "requestBody": { + "description": "Post JSON to charge penalty", + "content": { + "application/json": { + "schema": { + "$ref": "#/components/schemas/PenalChargeRequest" + } + } + }, + "required": true + }, + "responses": { + "200": { + "description": "Successful operation", + "content": { + "application/json": { + "schema": { + "$ref": "#/components/schemas/PenalChargeResponse" + } + } + } + }, + "400": { + "description": "Invalid request parameters" + }, + "404": { + "description": "Resource not found" + }, + "422": { + "description": "Validation exception" + } + }, + "security": [ + { + "apiKey": [] + } + ] + } } }, "components": { @@ -1664,6 +1774,193 @@ "description": "Description of provided result code" } } + }, + "TransactionCheckRequest": { + "type": "object", + "required": [ + "counter", + "TransactionId", + "requestID", + "customerId", + "accountId", + "countryId", + "transactionType" + ], + "properties": { + "counter": { + "type": "string", + "example": "2", + "description": "Unique counter for number of attempts of the API call. Original attempt is 1." + }, + "TransactionId": { + "type": "string", + "example": "T002", + "description": "Id of the transaction we are checking" + }, + "requestID": { + "type": "string", + "example": "R02802", + "description": "Id of this transaction query" + }, + "customerId": { + "type": "string", + "example": "CN621868", + "description": "Unique identifier of a user" + }, + "accountId": { + "type": "string", + "example": "2017821799", + "description": "Specific identifier of a user's account" + }, + "countryId": { + "type": "string", + "example": "01", + "description": "Set to static value '01'" + }, + "transactionType": { + "type": "string", + "example": "Disbursement", + "description": "Type of transaction: 'Disbursement', 'Collection', or 'Penalty'" + } + } + }, + "TransactionCheckResponse": { + "type": "object", + "required": [ + "$type", + "nativeId", + "customerId", + "accountId", + "providedAmount", + "collectedAmount", + "resultCode", + "resultDescription" + ], + "properties": { + "$type": { + "type": "string", + "example": "TransactionCheckResponse", + "description": "Value is fixed to 'TransactionCheckResponse'" + }, + "nativeId": { + "type": "string", + "example": "FBN20191031104405CN621868", + "description": "Unique identifier of transaction in FIRSTBANK system" + }, + "customerId": { + "type": "string", + "example": "CN621868", + "description": "Unique identifier of a user" + }, + "accountId": { + "type": "string", + "example": "2017821799", + "description": "Specific identifier of a user's account" + }, + "providedAmount": { + "type": "number", + "format": "double", + "example": 0.0, + "description": "Amount provided to a user within loan provision operation" + }, + "collectedAmount": { + "type": "number", + "format": "double", + "example": 7.50, + "description": "Amount collected from user's account within collection operation" + }, + "resultCode": { + "type": "string", + "example": "00", + "description": "Result code of executed transaction" + }, + "resultDescription": { + "type": "string", + "example": "Collect Status retrieved successfully.", + "description": "Description of provided result code" + } + } + }, + "PenalChargeRequest": { + "type": "object", + "required": [ + "transactionId", + "fbnTransactionId", + "debtId", + "customerId", + "accountId", + "penalCharge", + "lienAmount", + "countryId" + ], + "properties": { + "transactionId": { + "type": "string", + "example": "T004", + "description": "Unique identifier of transaction in Simbrella system" + }, + "fbnTransactionId": { + "type": "string", + "example": "Tr201712RK9232P115", + "description": "Unique id of the transaction received from FBN in Eligibility or Provision requests" + }, + "debtId": { + "type": "string", + "example": "273194670", + "description": "Unique identifier of providing loan in Simbrella system" + }, + "customerId": { + "type": "string", + "example": "CN621868", + "description": "Unique identifier of a user" + }, + "accountId": { + "type": "string", + "example": "2017821799", + "description": "Specific identifier of a user's account" + }, + "penalCharge": { + "type": "number", + "format": "double", + "example": 1.2, + "description": "Penalty amount that needs to be collected from user's account" + }, + "lienAmount": { + "type": "number", + "format": "double", + "example": 101.2, + "description": "Aggregated (summed up) lien amount" + }, + "countryId": { + "type": "string", + "example": "01", + "description": "Set to static value '01'" + }, + "comment": { + "type": "string", + "example": "Testing PenalChargeRequest", + "description": "Any additional comment for provided loan operation" + } + } + }, + "PenalChargeResponse": { + "type": "object", + "required": [ + "resultCode", + "resultDescription" + ], + "properties": { + "resultCode": { + "type": "string", + "example": "00", + "description": "Result code of executed transaction" + }, + "resultDescription": { + "type": "string", + "example": "Penal charge debited successfully", + "description": "Description of provided result code" + } + } } }, "securitySchemes": {