Worked on the Transaction Check Request, Penal Charge Request and Transaction Check Response, Penal Charge Response

This commit is contained in:
Azeez Muibi
2025-03-19 17:11:41 +01:00
parent 314396711c
commit 9b34146959
+297
View File
@@ -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": {