Files
Azeez Muibi ba4d878daf Major update
2025-03-27 08:21:20 +01:00

27 lines
2.5 KiB
Python
Raw Permalink Blame History

This file contains ambiguous Unicode characters
This file contains Unicode characters that might be confused with other characters. If you think that this is intentional, you can safely ignore this warning. Use the Escape button to reveal them.
from marshmallow import Schema, fields, validate
# Nested data schema for StatusCallResponse
class StatusCallDataSchema(Schema):
transactionId = fields.Str(required=True, description="Unique identifier of transaction in Simbrella system that was sent for transaction check")
providedAmount = fields.Float(required=True, description="Amount collected from user's account within disbursement operation. Amount should always be equal to zero if operation is of any type other than Disbursement")
collectedAmount = fields.Float(required=True, description="Amount collected from user's account. In case of Disbursement this value will be equal to 0. In case of Collection this value will represent amount successfully collected from customers account. In case of Penal charge this value will represent penalty amount collected from customer's account.")
resultCode = fields.Str(required=True, description="Result code of the operation one sent for transaction check, e.g. (00 Success etc.)")
resultDescription = fields.Str(required=True, description="Description of provided result code that was sent for transaction check")
# StatusCall Request Schema
class StatusCallSchema(Schema):
requestId = fields.Str(required=True, description="RequestId for transaction sent by Simbrella within initial request to Firstbank API")
countryCode = fields.Str(required=True, description="Unique country code.")
transactionId = fields.Str(required=True, description="Unique identifier of transaction. This transaction Id must be consistent across all platforms")
debtId = fields.Str(required=True, description="Unique identifier of provided loan in Simbrella system")
transactionType = fields.Str(required=True,
description="Type of Transaction Simbrella is sending Transaction Check for",
validate=validate.OneOf(["Disbursement", "Collection", "PenalCharge"]))
customerId = fields.Str(required=True, description="Unique identifier of a user")
# StatusCall Response Schema
class StatusCallResponseSchema(Schema):
transactionId = fields.Str(required=True, description="Unique identifier of request in Simbrella system")
data = fields.Nested(StatusCallDataSchema, required=True, description="Object containing details of transaction Simbrella querying")
resultCode = fields.Str(required=True, description="Result code of executed transaction, e.g. (00 Success etc.)")
resultDescription = fields.Str(required=True, description="Description of provided result code")