diff --git a/app/api/schemas/disbursement.py b/app/api/schemas/disbursement.py index d505df7..111d84d 100644 --- a/app/api/schemas/disbursement.py +++ b/app/api/schemas/disbursement.py @@ -2,7 +2,7 @@ from marshmallow import Schema, fields class DisbursementSchema(Schema): transactionId = fields.Str(required=False, allow_none=True) - FbnTransactionId = fields.Str(required=False, allow_none=True) + fbnTransactionId = fields.Str(required=False, allow_none=True) debtId = fields.Str(required=False, allow_none=True) customerId = fields.Str(required=False, allow_none=True) accountId = fields.Str(required=False, allow_none=True) @@ -14,6 +14,7 @@ class DisbursementSchema(Schema): collectAmountVAT = fields.Float(required=True) countryId = fields.Str(required=False, allow_none=True) comment = fields.Str(required=False, allow_none=True) + class DisburseLoanResponseSchema(Schema): @@ -31,5 +32,12 @@ class DisburseLoanResponseSchema(Schema): countryId = fields.Str(allow_none=True) responseCode = fields.Str(allow_none=True) responseMessage = fields.Str(allow_none=True) + disburseMessage = fields.Str(allow_none=True) + disburseDate = fields.Str(allow_none=True) + disburseVerify = fields.Str(allow_none=True) + disburseDescription = fields.Str(allow_none=True) + verifyResult = fields.Str(allow_none=True) + verifyDescription = fields.Str(allow_none=True) + \ No newline at end of file diff --git a/app/api/schemas/transaction_verify.py b/app/api/schemas/transaction_verify.py index 53d614e..af62321 100644 --- a/app/api/schemas/transaction_verify.py +++ b/app/api/schemas/transaction_verify.py @@ -18,4 +18,8 @@ class TransactionVerifyResponseSchema(Schema): providedAmount = fields.Float(required=True) collectedAmount = fields.Float(required=True) transactionId = fields.Str(allow_none=True) - transactionType = fields.Str(allow_none=True) \ No newline at end of file + transactionType = fields.Str(allow_none=True) + disburseVerify = fields.Str(allow_none=True) + verifyDescription = fields.Str(allow_none=True) + verifyResult = fields.Str(allow_none=True) + \ No newline at end of file diff --git a/app/api/services/disbursement.py b/app/api/services/disbursement.py index b493654..bb64ee0 100644 --- a/app/api/services/disbursement.py +++ b/app/api/services/disbursement.py @@ -2,6 +2,7 @@ from flask import request, jsonify from marshmallow import ValidationError from app.utils.logger import logger from app.api.schemas.disbursement import DisbursementSchema, DisburseLoanResponseSchema +import datetime class DisbursementService: @staticmethod @@ -26,7 +27,7 @@ class DisbursementService: # For demo purposes, we simulate a response using the validated data response_data = { "transactionId": validated_data.get("transactionId"), - "FbnTransactionId": validated_data.get("FbnTransactionId"), # Example or generated value + "fbnTransactionId": validated_data.get("fbnTransactionId"), # Example or generated value "debtId": validated_data.get("debtId"), "customerId": validated_data.get("customerId"), "accountId": validated_data.get("accountId"), @@ -38,7 +39,10 @@ class DisbursementService: "collectAmountVAT": validated_data.get("collectAmountVAT"), "countryId": validated_data.get("countryId"), "responseCode": "00", # success code example - "responseMessage": "Loan Request Completed Successfully!" + "responseMessage": "Loan Request Completed Successfully!", + "disburseDate": datetime.datetime.now().isoformat(), + "disburseResult": "00", + "disburseDescription": "Loan Request Completed Successfully!", } # Serialize response diff --git a/app/api/services/transaction_verify.py b/app/api/services/transaction_verify.py index b0e4c40..ae9d247 100644 --- a/app/api/services/transaction_verify.py +++ b/app/api/services/transaction_verify.py @@ -6,6 +6,7 @@ from app.api.schemas.transaction_verify import ( TransactionVerifySchema, TransactionVerifyResponseSchema ) +import datetime class TransactionVerifyService: @@ -37,7 +38,10 @@ class TransactionVerifyService: "providedAmount": 0.0, "collectedAmount": 7.50, "transactionId": validated_data.get("transactionId"), - "transactionType": validated_data.get("transactionType") + "transactionType": validated_data.get("transactionType"), + "disburseVerify": datetime.datetime.now().isoformat(), + "verifyResult": "00", + "verifyDescription": "Collect Status retrieved successfully.", } # Validate and serialize response with TransactionVerifyResponseSchema diff --git a/app/swagger/schemas/DisbursementResponse.json b/app/swagger/schemas/DisbursementResponse.json index 322f11e..16e2c7b 100644 --- a/app/swagger/schemas/DisbursementResponse.json +++ b/app/swagger/schemas/DisbursementResponse.json @@ -70,6 +70,22 @@ "type": "string", "example": "Loan Request Completed Successfully!", "nullable": true + }, + "disburseDate": { + "type": "string", + "format": "date-time", + "example": "2023-10-01T12:00:00Z", + "nullable": true + }, + "disburseResult": { + "type": "string", + "example": "00", + "nullable": true + }, + "disburseDescription": { + "type": "string", + "example": "Loan Request Completed Successfully!", + "nullable": true } }, "required": [ diff --git a/app/swagger/schemas/TransactionVerifyResponse.json b/app/swagger/schemas/TransactionVerifyResponse.json index d1b17db..6a687b8 100644 --- a/app/swagger/schemas/TransactionVerifyResponse.json +++ b/app/swagger/schemas/TransactionVerifyResponse.json @@ -38,6 +38,20 @@ "transactionType": { "type": "string", "example": "Disbursement" + }, + "disburseVerify":{ + "type": "string", + "format": "date-time", + "example": "2023-10-01T12:00:00Z", + "nullable": true + }, + "verifyResult": { + "type": "string", + "example": "Success" + }, + "verifyDescription": { + "type": "string", + "example": "Disbursement was verified and collection completed." } }, "required": [