33 lines
3.1 KiB
Python
33 lines
3.1 KiB
Python
from marshmallow import Schema, fields, validate
|
||
|
||
# Repayment Request Schema
|
||
class RepaymentSchema(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")
|
||
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")
|
||
collectedAmount = 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")
|
||
comment = fields.Str(required=False, description="Any additional comment for provided loan operation")
|
||
|
||
# Repayment Response Schema
|
||
class RepaymentResponseSchema(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")
|
||
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")
|
||
collectedAmount = 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'")
|
||
lienAmount = fields.Float(required=True, description="Aggregated (summed up) lien amount")
|
||
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") |