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
+30 -14
View File
@@ -1,16 +1,32 @@
from marshmallow import Schema, fields
from marshmallow import Schema, fields, validate
# Collect Loan Schema
# CollectLoan Request Schema
class CollectLoanSchema(Schema):
transactionId = fields.Str(required=True)
fbnTransactionId = fields.Str(required=True)
debtId = fields.Str(required=True)
customerId = fields.Str(required=True)
accountId = fields.Str(required=True)
productId = fields.Str(required=True)
collectAmount = fields.Float(required=True)
penalCharge = fields.Float(required=False) # Optional
collectionMethod = fields.Int(required=True)
lienAmount = fields.Float(required=True)
countryId = fields.Str(required=True)
comment = fields.Str(required=False) # Optional
transactionId = fields.Str(required=True, description="Unique identifier of transaction in Simbrella system")
fbnTransactionId = fields.Str(required=True, description="Unique id of the transaction received from FBN in Eligibility or Provision requests")
debtId = fields.Str(required=True, description="Unique identifier of a loan in Simbrella system that is going to be collected (it correlates with provision request)")
customerId = fields.Str(required=True, description="Unique identifier of a user")
accountId = fields.Str(required=True, description="Specific identifier of a user's account")
productId = fields.Str(required=True, description="Identifier of a product for which collection to be made")
collectAmount = fields.Float(required=True, description="Amount to be collected from user's account (penalCharge is not included)")
penalCharge = fields.Float(required=False, description="Amount of penalty to be collected from user's account. If there is no penalty, amount is '0'")
collectionMethod = fields.Int(required=True, description="1 - on deposit of salary; 2 - on due date; 3 - initiated by user",
validate=validate.OneOf([1, 2, 3]))
lienAmount = fields.Float(required=True, description="Aggregated (summed up) lien amount")
countryId = fields.Str(required=True, description="Set to static value '01'")
comment = fields.Str(required=False, description="Any additional comment for provided loan operation")
# CollectLoan Response Schema
class CollectLoanResponseSchema(Schema):
transactionId = fields.Str(required=True, description="Unique identifier of transaction in Simbrella system")
debtId = fields.Str(required=True, description="Unique identifier of a loan in Simbrella system that is going to be collected (it correlates with provision request)")
customerId = fields.Str(required=True, description="Unique identifier of a user")
accountId = fields.Str(required=True, description="Specific identifier of a user's account")
productId = fields.Str(required=True, description="Identifier of a product for which collection to be made")
collectAmount = fields.Float(required=True, description="Amount collected from user's account (penalCharge is not included)")
penalCharge = fields.Float(required=True, description="Amount of penalty collected from user's account. If there is no penalty, amount is '0'")
lienAmount = fields.Float(required=True, description="Aggregated (summed up) lien amount")
countryId = fields.Str(required=False, description="Set to static value '01'")
comment = fields.Str(required=False, description="Any additional comment for provided loan 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")