Major update

This commit is contained in:
Azeez Muibi
2025-03-27 08:21:20 +01:00
parent 1a36416094
commit ba4d878daf
24 changed files with 776 additions and 254 deletions
+25 -10
View File
@@ -1,12 +1,27 @@
from marshmallow import Schema, fields
from marshmallow import Schema, fields, validate
# Transaction Verify Schema
# TransactionVerify Request Schema
class TransactionVerifySchema(Schema):
counter = fields.Str(required=True)
transactionId = fields.Str(required=True)
requestID = fields.Str(required=True)
customerId = fields.Str(required=True)
accountId = fields.Str(required=True)
countryId = fields.Str(required=True) # Static value “01”
transactionType = fields.Str(required=True)
requestId = fields.Str(required=True, description="Unique identifier of request")
countryCode = fields.Str(required=True, description="Unique country code. Please refer to Country Codes table")
counter = fields.Str(required=True, description="Unique counter for number of attempts of the API call. Original attempt is 1")
transactionId = fields.Str(required=True, description="Id of the transaction we are checking")
customerId = fields.Str(required=True, description="Unique identifier of a user")
accountId = fields.Str(required=True, description="Specific identifier of a user's account")
transactionType = fields.Str(required=True,
description="To check state of loan disbursal transaction, value must be 'Disbursement', to check state of loan collection transaction, value must be 'Collection', to check state of penalty charge transaction, value must be 'Penalty'",
validate=validate.OneOf(["Disbursement", "Collection", "Penalty"]))
# TransactionVerify Response Schema
class TransactionVerifyResponseSchema(Schema):
requestId = fields.Str(required=True, description="Unique identifier of request")
countryCode = fields.Str(required=True, description="Unique country code. Please refer to Country Codes table")
transactionId = fields.Str(required=True, description="Unique identifier of transaction in Simbrella system")
transactionType = fields.Str(required=True, description="Type of transaction: Disbursement, Collection, or Penalty",
validate=validate.OneOf(["Disbursement", "Collection", "Penalty"]))
customerId = fields.Str(required=True, description="Unique identifier of a user")
accountId = fields.Str(required=True, description="Specific identifier of a user's account")
providedAmount = fields.Float(required=True, description="Amount provided to a user within loan provision operation")
collectedAmount = fields.Float(required=True, description="Amount collected from user's account within collection operation")
resultCode = fields.Str(required=True, description="Result code of executed transaction, e.g. (00 Success etc.) see result codes table")
resultDescription = fields.Str(required=True, description="Description of provided result code")