[add]: Documentation Update
This commit is contained in:
@@ -1,2 +1,3 @@
|
|||||||
from .simbrella import SimbrellaIntegration
|
from .simbrella import SimbrellaIntegration
|
||||||
from .kafka import KafkaIntegration
|
from .kafka import KafkaIntegration
|
||||||
|
from .events_service import EventServiceIntegration
|
||||||
@@ -0,0 +1,49 @@
|
|||||||
|
import httpx
|
||||||
|
from app.utils.logger import logger
|
||||||
|
from app.config import settings
|
||||||
|
|
||||||
|
|
||||||
|
class EventServiceIntegration:
|
||||||
|
BASE_URL = settings.SIMBRELLA_BASE_URL
|
||||||
|
ENDPOINT_DIRECT_LOAN = settings.ENDPOINT_DIRECT_LOAN
|
||||||
|
ENDPOINT_DIRECT_REPAYMENT = settings.ENDPOINT_DIRECT_REPAYMENT
|
||||||
|
|
||||||
|
@staticmethod
|
||||||
|
def direct_loan(transaction_id: str):
|
||||||
|
"""
|
||||||
|
Calls the Direct Loan endpoint
|
||||||
|
"""
|
||||||
|
url = f"{EventServiceIntegration.BASE_URL}{EventServiceIntegration.ENDPOINT_DIRECT_LOAN}"
|
||||||
|
payload = {"transactionId": str(transaction_id)}
|
||||||
|
|
||||||
|
headers = {
|
||||||
|
"Content-Type": "application/json"
|
||||||
|
}
|
||||||
|
|
||||||
|
try:
|
||||||
|
response = httpx.post(url, json=payload, headers=headers, timeout=10.0)
|
||||||
|
logger.info(f"Loan Response: {response.text}")
|
||||||
|
return response
|
||||||
|
except Exception as e:
|
||||||
|
logger.error(f"Direct Loan API call failed: {str(e)}", exc_info=True)
|
||||||
|
raise
|
||||||
|
|
||||||
|
@staticmethod
|
||||||
|
def direct_repayment(transaction_id: str):
|
||||||
|
"""
|
||||||
|
Calls the Direct Repayment endpoint
|
||||||
|
"""
|
||||||
|
url = f"{EventServiceIntegration.BASE_URL}{EventServiceIntegration.ENDPOINT_DIRECT_REPAYMENT}"
|
||||||
|
payload = {"transactionId": str(transaction_id)}
|
||||||
|
|
||||||
|
headers = {
|
||||||
|
"Content-Type": "application/json",
|
||||||
|
}
|
||||||
|
|
||||||
|
try:
|
||||||
|
response = httpx.post(url, json=payload, headers=headers, timeout=10.0)
|
||||||
|
logger.info(f"Repayment Response: {response.text}")
|
||||||
|
return response
|
||||||
|
except Exception as e:
|
||||||
|
logger.error(f"Direct Repayment API call failed: {str(e)}", exc_info=True)
|
||||||
|
raise
|
||||||
@@ -13,6 +13,7 @@ from app.api.enums import LoanStatus
|
|||||||
from app.extensions import db
|
from app.extensions import db
|
||||||
from datetime import datetime, timezone
|
from datetime import datetime, timezone
|
||||||
from dateutil.relativedelta import relativedelta
|
from dateutil.relativedelta import relativedelta
|
||||||
|
from app.api.integrations import EventServiceIntegration
|
||||||
from app.models import LoanRepaymentSchedule
|
from app.models import LoanRepaymentSchedule
|
||||||
from app.api.services.offer_analysis import OfferAnalysis
|
from app.api.services.offer_analysis import OfferAnalysis
|
||||||
from app.api.helpers.response_helper import ResponseHelper
|
from app.api.helpers.response_helper import ResponseHelper
|
||||||
@@ -172,11 +173,15 @@ class ProvideLoanService(BaseService):
|
|||||||
"accountId": account_id,
|
"accountId": account_id,
|
||||||
"msisdn": customer.msisdn
|
"msisdn": customer.msisdn
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|
||||||
|
event_thread = Thread(target=ProvideLoanService.trigger_loan_disbursement, args=(transaction_id,))
|
||||||
|
event_thread.start()
|
||||||
|
|
||||||
# KafkaIntegration.send_loan_request(loan_data = response_data, request_id = request_id)
|
# KafkaIntegration.send_loan_request(loan_data = response_data, request_id = request_id)
|
||||||
# Call Kafka in a background thread
|
# Call Kafka in a background thread
|
||||||
thread = Thread(target=ProvideLoanService.async_send_to_kafka, args=(response_data, request_id, "PROCESS_PAYMENT"))
|
kafka_thread = Thread(target=ProvideLoanService.async_send_to_kafka, args=(response_data, request_id, "PROCESS_PAYMENT"))
|
||||||
thread.start()
|
kafka_thread.start()
|
||||||
|
|
||||||
db.session.commit()
|
db.session.commit()
|
||||||
return ResponseHelper.success(data=response_data)
|
return ResponseHelper.success(data=response_data)
|
||||||
@@ -195,4 +200,11 @@ class ProvideLoanService(BaseService):
|
|||||||
except Exception as e:
|
except Exception as e:
|
||||||
logger.error(f"An error occurred: {str(e)}", exc_info=True)
|
logger.error(f"An error occurred: {str(e)}", exc_info=True)
|
||||||
db.session.rollback()
|
db.session.rollback()
|
||||||
return ResponseHelper.internal_server_error()
|
return ResponseHelper.internal_server_error()
|
||||||
|
|
||||||
|
@classmethod
|
||||||
|
def trigger_loan_disbursement(cls, transaction_id: str):
|
||||||
|
response = EventServiceIntegration.direct_loan(transaction_id=transaction_id)
|
||||||
|
return response
|
||||||
|
|
||||||
|
|
||||||
|
|||||||
@@ -11,6 +11,7 @@ from app.api.services.base_service import BaseService
|
|||||||
from app.api.enums import TransactionType
|
from app.api.enums import TransactionType
|
||||||
from threading import Thread
|
from threading import Thread
|
||||||
from app.extensions import db
|
from app.extensions import db
|
||||||
|
from app.api.integrations import EventServiceIntegration
|
||||||
|
|
||||||
class RepaymentService(BaseService):
|
class RepaymentService(BaseService):
|
||||||
TRANSACTION_TYPE = TransactionType.REPAYMENT
|
TRANSACTION_TYPE = TransactionType.REPAYMENT
|
||||||
@@ -79,9 +80,12 @@ class RepaymentService(BaseService):
|
|||||||
"debtId": loan_id
|
"debtId": loan_id
|
||||||
}
|
}
|
||||||
|
|
||||||
|
event_thread = Thread(target=RepaymentService.trigger_loan_repayment, args=(transaction_id,))
|
||||||
|
event_thread.start()
|
||||||
|
|
||||||
# Call Kafka in a background thread
|
# Call Kafka in a background thread
|
||||||
thread = Thread(target=RepaymentService.async_send_to_kafka, args=(response_data, request_id, "LOAN_REPAYMENT"))
|
kafka_thread = Thread(target=RepaymentService.async_send_to_kafka, args=(response_data, request_id, "LOAN_REPAYMENT"))
|
||||||
thread.start()
|
kafka_thread.start()
|
||||||
|
|
||||||
db.session.commit()
|
db.session.commit()
|
||||||
return ResponseHelper.success(data=response_data)
|
return ResponseHelper.success(data=response_data)
|
||||||
@@ -101,3 +105,10 @@ class RepaymentService(BaseService):
|
|||||||
logger.error(f"An error occurred: {str(e)}", exc_info=True)
|
logger.error(f"An error occurred: {str(e)}", exc_info=True)
|
||||||
db.session.rollback()
|
db.session.rollback()
|
||||||
return ResponseHelper.internal_server_error()
|
return ResponseHelper.internal_server_error()
|
||||||
|
|
||||||
|
|
||||||
|
@classmethod
|
||||||
|
def trigger_loan_repayment(cls, transaction_id: str):
|
||||||
|
response = EventServiceIntegration.direct_repayment(transaction_id=transaction_id)
|
||||||
|
return response
|
||||||
|
|
||||||
@@ -46,6 +46,10 @@ class Config:
|
|||||||
VALID_API_KEY = os.getenv("SIMBRELLA_API_KEY", "test-api-key-12345")
|
VALID_API_KEY = os.getenv("SIMBRELLA_API_KEY", "test-api-key-12345")
|
||||||
SIMBRELLA_BASE_URL = os.getenv("SIMBRELLA_BASE_URL", "http://127.0.0.1:6337")
|
SIMBRELLA_BASE_URL = os.getenv("SIMBRELLA_BASE_URL", "http://127.0.0.1:6337")
|
||||||
SIMBRELLA_ENDPOINT_RAC_CHECKS = os.getenv("SIMBRELLA_ENDPOINT_RAC_CHECKS","api/rac-check")
|
SIMBRELLA_ENDPOINT_RAC_CHECKS = os.getenv("SIMBRELLA_ENDPOINT_RAC_CHECKS","api/rac-check")
|
||||||
|
EVENTS_SERVICE_BASE_URL = os.getenv("EVENTS_SERVICE_BASE_URL","http://127.0.0.1:6337")
|
||||||
|
ENDPOINT_DIRECT_LOAN = os.getenv("ENDPOINT_DIRECT_LOAN","/autocall/direct/loan")
|
||||||
|
ENDPOINT_DIRECT_REPAYMENT = os.getenv("ENDPOINT_DIRECT_REPAYMENT","/autocall/direct/repayment")
|
||||||
|
|
||||||
|
|
||||||
RAC_RESULT_accountStatus = os.environ.get("RAC_RESULT_accountStatus", "true")
|
RAC_RESULT_accountStatus = os.environ.get("RAC_RESULT_accountStatus", "true")
|
||||||
RAC_RESULT_bvnValidated = os.environ.get("RAC_RESULT_bvnValidated", "true")
|
RAC_RESULT_bvnValidated = os.environ.get("RAC_RESULT_bvnValidated", "true")
|
||||||
|
|||||||
@@ -134,18 +134,6 @@
|
|||||||
"RepaymentResponse": {
|
"RepaymentResponse": {
|
||||||
"$ref": "swagger/schemas/RepaymentResponse.json"
|
"$ref": "swagger/schemas/RepaymentResponse.json"
|
||||||
},
|
},
|
||||||
"CustomerConsentRequest": {
|
|
||||||
"$ref": "swagger/schemas/CustomerConsentRequest.json"
|
|
||||||
},
|
|
||||||
"CustomerConsentResponse": {
|
|
||||||
"$ref": "swagger/schemas/CustomerConsentResponse.json"
|
|
||||||
},
|
|
||||||
"NotificationCallbackRequest": {
|
|
||||||
"$ref": "swagger/schemas/NotificationCallbackRequest.json"
|
|
||||||
},
|
|
||||||
"NotificationCallbackResponse": {
|
|
||||||
"$ref": "swagger/schemas/NotificationCallbackResponse.json"
|
|
||||||
},
|
|
||||||
"ApiResponse": {
|
"ApiResponse": {
|
||||||
"$ref": "swagger/schemas/ApiResponse.json"
|
"$ref": "swagger/schemas/ApiResponse.json"
|
||||||
},
|
},
|
||||||
|
|||||||
@@ -1,56 +0,0 @@
|
|||||||
{
|
|
||||||
"post": {
|
|
||||||
"tags": [
|
|
||||||
"CustomerConsent"
|
|
||||||
],
|
|
||||||
"summary": "Customer Consent Request",
|
|
||||||
"description": "Customer Consent Request",
|
|
||||||
"operationId": "CustomerConsent",
|
|
||||||
"requestBody": {
|
|
||||||
"required": true,
|
|
||||||
"content": {
|
|
||||||
"application/json": {
|
|
||||||
"schema": {
|
|
||||||
"$ref": "../schemas/CustomerConsentRequest.json"
|
|
||||||
}
|
|
||||||
},
|
|
||||||
"application/xml": {
|
|
||||||
"schema": {
|
|
||||||
"$ref": "../schemas/CustomerConsentRequest.json"
|
|
||||||
}
|
|
||||||
},
|
|
||||||
"application/x-www-form-urlencoded": {
|
|
||||||
"schema": {
|
|
||||||
"$ref": "../schemas/CustomerConsentRequest.json"
|
|
||||||
}
|
|
||||||
}
|
|
||||||
}
|
|
||||||
},
|
|
||||||
"responses": {
|
|
||||||
"200": {
|
|
||||||
"description": "Successful",
|
|
||||||
"content": {
|
|
||||||
"application/json": {
|
|
||||||
"schema": {
|
|
||||||
"$ref": "../schemas/CustomerConsentResponse.json"
|
|
||||||
}
|
|
||||||
},
|
|
||||||
"application/xml": {
|
|
||||||
"schema": {
|
|
||||||
"$ref": "../schemas/CustomerConsentResponse.json"
|
|
||||||
}
|
|
||||||
}
|
|
||||||
}
|
|
||||||
},
|
|
||||||
"400": {
|
|
||||||
"description": "Invalid request"
|
|
||||||
},
|
|
||||||
"422": {
|
|
||||||
"description": "Validation exception"
|
|
||||||
},
|
|
||||||
"500": {
|
|
||||||
"description": "Internal server error"
|
|
||||||
}
|
|
||||||
}
|
|
||||||
}
|
|
||||||
}
|
|
||||||
@@ -1,57 +0,0 @@
|
|||||||
{
|
|
||||||
"post": {
|
|
||||||
"tags": [
|
|
||||||
"NotificationCallback"
|
|
||||||
],
|
|
||||||
"summary": "Loan Information Request ",
|
|
||||||
"description": "Loan Information Request",
|
|
||||||
"operationId": "NotificationCallback",
|
|
||||||
"requestBody": {
|
|
||||||
"description": "Post JSON to conduct eligibility tests",
|
|
||||||
"content": {
|
|
||||||
"application/json": {
|
|
||||||
"schema": {
|
|
||||||
"$ref": "../schemas/NotificationCallbackRequest.json"
|
|
||||||
}
|
|
||||||
},
|
|
||||||
"application/xml": {
|
|
||||||
"schema": {
|
|
||||||
"$ref": "../schemas/NotificationCallbackRequest.json"
|
|
||||||
}
|
|
||||||
},
|
|
||||||
"application/x-www-form-urlencoded": {
|
|
||||||
"schema": {
|
|
||||||
"$ref": "../schemas/NotificationCallbackRequest.json"
|
|
||||||
}
|
|
||||||
}
|
|
||||||
},
|
|
||||||
"required": true
|
|
||||||
},
|
|
||||||
"responses": {
|
|
||||||
"200": {
|
|
||||||
"description": "Successful operation",
|
|
||||||
"content": {
|
|
||||||
"application/json": {
|
|
||||||
"schema": {
|
|
||||||
"$ref": "../schemas/NotificationCallbackResponse.json"
|
|
||||||
}
|
|
||||||
},
|
|
||||||
"application/xml": {
|
|
||||||
"schema": {
|
|
||||||
"$ref": "../schemas/NotificationCallbackResponse.json"
|
|
||||||
}
|
|
||||||
}
|
|
||||||
}
|
|
||||||
},
|
|
||||||
"400": {
|
|
||||||
"description": "Invalid request"
|
|
||||||
},
|
|
||||||
"422": {
|
|
||||||
"description": "Validation exception"
|
|
||||||
},
|
|
||||||
"500": {
|
|
||||||
"description": "Internal server error"
|
|
||||||
}
|
|
||||||
}
|
|
||||||
}
|
|
||||||
}
|
|
||||||
@@ -1,37 +0,0 @@
|
|||||||
{
|
|
||||||
"type": "object",
|
|
||||||
"properties": {
|
|
||||||
"type": {
|
|
||||||
"type": "string",
|
|
||||||
"example": "CustomerConsentRequest"
|
|
||||||
},
|
|
||||||
"transactionId": {
|
|
||||||
"type": "string",
|
|
||||||
"example": "20171209232177"
|
|
||||||
},
|
|
||||||
"customerId": {
|
|
||||||
"type": "string",
|
|
||||||
"example": "CN621868"
|
|
||||||
},
|
|
||||||
"accountId": {
|
|
||||||
"type": "string",
|
|
||||||
"example": "ACN8263457"
|
|
||||||
},
|
|
||||||
"requestTime": {
|
|
||||||
"type": "string",
|
|
||||||
"format": "date-time",
|
|
||||||
"example": "2019-10-18 14:26:21.063"
|
|
||||||
},
|
|
||||||
"consentType": {
|
|
||||||
"type": "string",
|
|
||||||
"example": "Revoke"
|
|
||||||
},
|
|
||||||
"channel": {
|
|
||||||
"type": "string",
|
|
||||||
"example": "USSD"
|
|
||||||
}
|
|
||||||
},
|
|
||||||
"xml": {
|
|
||||||
"name": "CustomerConsentRequest"
|
|
||||||
}
|
|
||||||
}
|
|
||||||
@@ -1,16 +0,0 @@
|
|||||||
{
|
|
||||||
"type": "object",
|
|
||||||
"properties": {
|
|
||||||
"resultCode": {
|
|
||||||
"type": "string",
|
|
||||||
"example": "00"
|
|
||||||
},
|
|
||||||
"resultDescription": {
|
|
||||||
"type": "string",
|
|
||||||
"example": "Request is received"
|
|
||||||
}
|
|
||||||
},
|
|
||||||
"xml": {
|
|
||||||
"name": "CustomerConsentResponse"
|
|
||||||
}
|
|
||||||
}
|
|
||||||
@@ -3,7 +3,7 @@
|
|||||||
"properties": {
|
"properties": {
|
||||||
"transactionId": {
|
"transactionId": {
|
||||||
"type": "string",
|
"type": "string",
|
||||||
"example": "Tr201712RK9232P115"
|
"example": "TRX201712RK9232P115"
|
||||||
},
|
},
|
||||||
"countryCode": {
|
"countryCode": {
|
||||||
"type": "string",
|
"type": "string",
|
||||||
@@ -11,19 +11,19 @@
|
|||||||
},
|
},
|
||||||
"customerId": {
|
"customerId": {
|
||||||
"type": "string",
|
"type": "string",
|
||||||
"example": "CN621868"
|
"example": "5268548"
|
||||||
},
|
|
||||||
"msisdn": {
|
|
||||||
"type": "string",
|
|
||||||
"example": "8093451342"
|
|
||||||
},
|
|
||||||
"channel": {
|
|
||||||
"type": "string",
|
|
||||||
"example": "100"
|
|
||||||
},
|
},
|
||||||
"accountId": {
|
"accountId": {
|
||||||
"type": "string",
|
"type": "string",
|
||||||
"example": "ACN8263457"
|
"example": "4348094226"
|
||||||
|
},
|
||||||
|
"msisdn": {
|
||||||
|
"type": "string",
|
||||||
|
"example": "2348093451342"
|
||||||
|
},
|
||||||
|
"channel": {
|
||||||
|
"type": "string",
|
||||||
|
"example": "USSD"
|
||||||
}
|
}
|
||||||
},
|
},
|
||||||
"xml": {
|
"xml": {
|
||||||
|
|||||||
@@ -3,19 +3,19 @@
|
|||||||
"properties": {
|
"properties": {
|
||||||
"customerId": {
|
"customerId": {
|
||||||
"type": "string",
|
"type": "string",
|
||||||
"example": "CN621868"
|
"example": "5268548"
|
||||||
},
|
},
|
||||||
"transactionId": {
|
"transactionId": {
|
||||||
"type": "string",
|
"type": "string",
|
||||||
"example": "TX12345"
|
"example": "TRX201712RK9232P115"
|
||||||
},
|
},
|
||||||
"countryCode": {
|
"countryCode": {
|
||||||
"type": "string",
|
"type": "string",
|
||||||
"example": "NG"
|
"example": "NGR"
|
||||||
},
|
},
|
||||||
"msisdn": {
|
"msisdn": {
|
||||||
"type": "string",
|
"type": "string",
|
||||||
"example": "3451342"
|
"example": "2348093451342"
|
||||||
},
|
},
|
||||||
"eligibleOffers": {
|
"eligibleOffers": {
|
||||||
"type": "array",
|
"type": "array",
|
||||||
@@ -24,42 +24,42 @@
|
|||||||
"properties": {
|
"properties": {
|
||||||
"offerId": {
|
"offerId": {
|
||||||
"type": "string",
|
"type": "string",
|
||||||
"example": "Offer1"
|
"example": "SAL90000204"
|
||||||
},
|
},
|
||||||
"productId": {
|
"productId": {
|
||||||
"type": "string",
|
"type": "string",
|
||||||
"example": "Product1"
|
"example": "3MPC"
|
||||||
},
|
},
|
||||||
"minAamount": {
|
"minAamount": {
|
||||||
"type": "number",
|
"type": "number",
|
||||||
"format": "decimal",
|
"format": "decimal",
|
||||||
"example": 100.00
|
"example": 20000.00
|
||||||
},
|
},
|
||||||
"maxAamount": {
|
"maxAamount": {
|
||||||
"type": "number",
|
"type": "number",
|
||||||
"format": "decimal",
|
"format": "decimal",
|
||||||
"example": 1000.00
|
"example": 31257.00
|
||||||
},
|
},
|
||||||
"tenor": {
|
"tenor": {
|
||||||
"type": "integer",
|
"type": "integer",
|
||||||
"example": 12
|
"example": 90
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
},
|
},
|
||||||
"example": [
|
"example": [
|
||||||
{
|
{
|
||||||
"offerId": "Offer1",
|
"max_amount": "31257.00",
|
||||||
"productId": "Product1",
|
"min_amount": 20000.0,
|
||||||
"minAamount": 100.00,
|
"offerId": "SAL90000204",
|
||||||
"maxAamount": 1000.00,
|
"product_id": "3MPC",
|
||||||
"tenor": 12
|
"tenor": 90
|
||||||
},
|
},
|
||||||
{
|
{
|
||||||
"offerId": "Offer2",
|
"max_amount": "20838.00",
|
||||||
"productId": "Product2",
|
"min_amount": 5000.0,
|
||||||
"minAamount": 200.00,
|
"offerId": "SAL30000205",
|
||||||
"maxAamount": 2000.00,
|
"product_id": "AMPC",
|
||||||
"tenor": 24
|
"tenor": 30
|
||||||
}
|
}
|
||||||
]
|
]
|
||||||
},
|
},
|
||||||
|
|||||||
@@ -3,15 +3,15 @@
|
|||||||
"properties": {
|
"properties": {
|
||||||
"transactionId": {
|
"transactionId": {
|
||||||
"type": "string",
|
"type": "string",
|
||||||
"example": "Tr201712RK9232P115"
|
"example": "TRCVIC73089465966"
|
||||||
},
|
},
|
||||||
"customerId": {
|
"customerId": {
|
||||||
"type": "string",
|
"type": "string",
|
||||||
"example": "CN621868"
|
"example": "ZX48440946"
|
||||||
},
|
},
|
||||||
"msisdn": {
|
"msisdn": {
|
||||||
"type": "string",
|
"type": "string",
|
||||||
"example": "3451342"
|
"example": "2348093451342"
|
||||||
},
|
},
|
||||||
"channel": {
|
"channel": {
|
||||||
"type": "string",
|
"type": "string",
|
||||||
@@ -19,7 +19,7 @@
|
|||||||
},
|
},
|
||||||
"accountId": {
|
"accountId": {
|
||||||
"type": "string",
|
"type": "string",
|
||||||
"example": "ACN8263457"
|
"example": "361005323"
|
||||||
}
|
}
|
||||||
},
|
},
|
||||||
"xml": {
|
"xml": {
|
||||||
|
|||||||
@@ -1,83 +1,110 @@
|
|||||||
{
|
{
|
||||||
"type": "object",
|
"type": "object",
|
||||||
"properties": {
|
"properties": {
|
||||||
"customerId": {
|
"customerId": {
|
||||||
"type": "string",
|
"type": "string",
|
||||||
"example": "CN621868"
|
"example": "ZX48440946"
|
||||||
},
|
|
||||||
"transactionId": {
|
|
||||||
"type": "string",
|
|
||||||
"example": "Tr201712RK9232P115"
|
|
||||||
},
|
|
||||||
"loans": {
|
|
||||||
"type": "array",
|
|
||||||
"items": {
|
|
||||||
"type": "object",
|
|
||||||
"properties": {
|
|
||||||
"debtId": {
|
|
||||||
"type": "string",
|
|
||||||
"example": "123456789"
|
|
||||||
},
|
|
||||||
"loanDate": {
|
|
||||||
"type": "string",
|
|
||||||
"format": "date-time",
|
|
||||||
"example": "2019-10-18 14:26:21.063"
|
|
||||||
},
|
|
||||||
"dueDate": {
|
|
||||||
"type": "string",
|
|
||||||
"format": "date-time",
|
|
||||||
"example": "2019-11-20 14:26:21.063"
|
|
||||||
},
|
|
||||||
"currentLoanAmount": {
|
|
||||||
"type": "integer",
|
|
||||||
"example": 8500
|
|
||||||
},
|
|
||||||
"initialLoanAmount": {
|
|
||||||
"type": "integer",
|
|
||||||
"example": 10000
|
|
||||||
},
|
|
||||||
"defaultPenaltyFee": {
|
|
||||||
"type": "integer",
|
|
||||||
"example": 0
|
|
||||||
},
|
|
||||||
"continuousFee": {
|
|
||||||
"type": "integer",
|
|
||||||
"example": 0
|
|
||||||
},
|
|
||||||
"productId": {
|
|
||||||
"type": "string",
|
|
||||||
"example": "101"
|
|
||||||
},
|
|
||||||
"installment": {
|
|
||||||
"type": "array",
|
|
||||||
"items": {
|
|
||||||
"type": "object",
|
|
||||||
"properties": {
|
|
||||||
"amount": {
|
|
||||||
"type": "number",
|
|
||||||
"format": "float",
|
|
||||||
"example": 10000.0
|
|
||||||
},
|
|
||||||
"repaymentDate": {
|
|
||||||
"type": "string",
|
|
||||||
"example": "2025-04-24 10:31:"
|
|
||||||
}
|
|
||||||
}
|
|
||||||
}
|
|
||||||
}
|
|
||||||
}
|
|
||||||
}
|
|
||||||
},
|
|
||||||
"resultCode": {
|
|
||||||
"type": "string",
|
|
||||||
"example": "00"
|
|
||||||
},
|
|
||||||
"resultDescription": {
|
|
||||||
"type": "string",
|
|
||||||
"example": "Successful"
|
|
||||||
}
|
|
||||||
},
|
},
|
||||||
"xml": {
|
"transactionId": {
|
||||||
"name": "LoanStatusResponse"
|
"type": "string",
|
||||||
|
"example": "TRCVIC49381378037"
|
||||||
|
},
|
||||||
|
"accountId": {
|
||||||
|
"type": "string",
|
||||||
|
"example": "361005323"
|
||||||
|
},
|
||||||
|
"loans": {
|
||||||
|
"type": "array",
|
||||||
|
"items": {
|
||||||
|
"type": "object",
|
||||||
|
"properties": {
|
||||||
|
"debtId": {
|
||||||
|
"type": "integer",
|
||||||
|
"example": 80
|
||||||
|
},
|
||||||
|
"loanDate": {
|
||||||
|
"type": "string",
|
||||||
|
"format": "date-time",
|
||||||
|
"example": "2025-09-12T11:58:58"
|
||||||
|
},
|
||||||
|
"dueDate": {
|
||||||
|
"type": "string",
|
||||||
|
"format": "date-time",
|
||||||
|
"example": "2025-12-11T11:58:58"
|
||||||
|
},
|
||||||
|
"currentLoanAmount": {
|
||||||
|
"type": "number",
|
||||||
|
"format": "float",
|
||||||
|
"example": 30000.0
|
||||||
|
},
|
||||||
|
"initialLoanAmount": {
|
||||||
|
"type": "number",
|
||||||
|
"format": "float",
|
||||||
|
"example": 30000.0
|
||||||
|
},
|
||||||
|
"defaultPenaltyFee": {
|
||||||
|
"type": "number",
|
||||||
|
"format": "float",
|
||||||
|
"example": 0.0
|
||||||
|
},
|
||||||
|
"continuousFee": {
|
||||||
|
"type": "number",
|
||||||
|
"format": "float",
|
||||||
|
"example": 0.0
|
||||||
|
},
|
||||||
|
"productId": {
|
||||||
|
"type": "string",
|
||||||
|
"example": "3MPC"
|
||||||
|
},
|
||||||
|
"installmentAmount": {
|
||||||
|
"type": "number",
|
||||||
|
"format": "float",
|
||||||
|
"example": 10900.0
|
||||||
|
},
|
||||||
|
"repaymentAmount": {
|
||||||
|
"type": "number",
|
||||||
|
"format": "float",
|
||||||
|
"example": 32700.0
|
||||||
|
},
|
||||||
|
"loanRef": {
|
||||||
|
"type": "string",
|
||||||
|
"example": "TRCVIC73089465966USSD3MPC"
|
||||||
|
},
|
||||||
|
"status": {
|
||||||
|
"type": "string",
|
||||||
|
"example": "active"
|
||||||
|
},
|
||||||
|
"tenor": {
|
||||||
|
"type": "integer",
|
||||||
|
"example": 90
|
||||||
|
},
|
||||||
|
"transactionId": {
|
||||||
|
"type": "string",
|
||||||
|
"example": "TRCVIC73089465966"
|
||||||
|
},
|
||||||
|
"upfrontFee": {
|
||||||
|
"type": "number",
|
||||||
|
"format": "float",
|
||||||
|
"example": 622.5
|
||||||
|
}
|
||||||
|
}
|
||||||
|
}
|
||||||
|
},
|
||||||
|
"resultCode": {
|
||||||
|
"type": "string",
|
||||||
|
"example": "00"
|
||||||
|
},
|
||||||
|
"resultDescription": {
|
||||||
|
"type": "string",
|
||||||
|
"example": "Successful"
|
||||||
|
},
|
||||||
|
"totalDebtAmount": {
|
||||||
|
"type": "number",
|
||||||
|
"format": "float",
|
||||||
|
"example": 30000.0
|
||||||
}
|
}
|
||||||
}
|
},
|
||||||
|
"xml": {
|
||||||
|
"name": "LoanStatusResponse"
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|||||||
@@ -1,50 +0,0 @@
|
|||||||
{
|
|
||||||
"type": "object",
|
|
||||||
"properties": {
|
|
||||||
"fbnTransactionId": {
|
|
||||||
"type": "string",
|
|
||||||
"example": "123456789"
|
|
||||||
},
|
|
||||||
"transactionId": {
|
|
||||||
"type": "string",
|
|
||||||
"example": "123456789"
|
|
||||||
},
|
|
||||||
"customerId": {
|
|
||||||
"type": "string",
|
|
||||||
"example": "CN621868"
|
|
||||||
},
|
|
||||||
"accountId": {
|
|
||||||
"type": "string",
|
|
||||||
"example": "ACN8263457"
|
|
||||||
},
|
|
||||||
"debtId": {
|
|
||||||
"type": "string",
|
|
||||||
"example": "987654321"
|
|
||||||
},
|
|
||||||
"transactionType": {
|
|
||||||
"type": "string",
|
|
||||||
"example": "Disbursement"
|
|
||||||
},
|
|
||||||
"amountProvided": {
|
|
||||||
"type": "number",
|
|
||||||
"format": "float",
|
|
||||||
"example": 1000.00
|
|
||||||
},
|
|
||||||
"amountCollected": {
|
|
||||||
"type": "number",
|
|
||||||
"format": "float",
|
|
||||||
"example": 0.00
|
|
||||||
},
|
|
||||||
"responseCode": {
|
|
||||||
"type": "string",
|
|
||||||
"example": "00"
|
|
||||||
},
|
|
||||||
"responseDescription": {
|
|
||||||
"type": "string",
|
|
||||||
"example": "Successful"
|
|
||||||
}
|
|
||||||
},
|
|
||||||
"xml": {
|
|
||||||
"name": "NotificationCallbackRequest"
|
|
||||||
}
|
|
||||||
}
|
|
||||||
@@ -1,16 +0,0 @@
|
|||||||
{
|
|
||||||
"type": "object",
|
|
||||||
"properties": {
|
|
||||||
"resultCode": {
|
|
||||||
"type": "string",
|
|
||||||
"example": "00"
|
|
||||||
},
|
|
||||||
"resultDescription": {
|
|
||||||
"type": "string",
|
|
||||||
"example": "Successful"
|
|
||||||
}
|
|
||||||
},
|
|
||||||
"xml": {
|
|
||||||
"name": "NotificationCallbackResponse"
|
|
||||||
}
|
|
||||||
}
|
|
||||||
@@ -3,40 +3,40 @@
|
|||||||
"properties": {
|
"properties": {
|
||||||
"requestId": {
|
"requestId": {
|
||||||
"type": "string",
|
"type": "string",
|
||||||
"example": "202111170001371256908"
|
"example": "RQID11170001371256908"
|
||||||
},
|
},
|
||||||
"transactionId": {
|
"transactionId": {
|
||||||
"type": "string",
|
"type": "string",
|
||||||
"example": "Tr201712RK9232P115"
|
"example": "TRCVIC73089465966"
|
||||||
},
|
},
|
||||||
"customerId": {
|
"customerId": {
|
||||||
"type": "string",
|
"type": "string",
|
||||||
"example": "CN621868"
|
"example": "ZX48440946"
|
||||||
},
|
},
|
||||||
"accountId": {
|
"accountId": {
|
||||||
"type": "string",
|
"type": "string",
|
||||||
"example": "ACN8263457"
|
"example": "361005323"
|
||||||
},
|
},
|
||||||
"msisdn": {
|
"msisdn": {
|
||||||
"type": "string",
|
"type": "string",
|
||||||
"example": "3451342"
|
"example": "2348093451342"
|
||||||
},
|
},
|
||||||
"requestedAmount": {
|
"requestedAmount": {
|
||||||
"type": "number",
|
"type": "number",
|
||||||
"format": "decimal",
|
"format": "decimal",
|
||||||
"example": 900
|
"example": 20000
|
||||||
},
|
},
|
||||||
"collectionType": {
|
"collectionType": {
|
||||||
"type": "integer",
|
"type": "integer",
|
||||||
"example": 1
|
"example": 0
|
||||||
},
|
},
|
||||||
"offerId": {
|
"offerId": {
|
||||||
"type": "integer",
|
"type": "integer",
|
||||||
"example": 1127
|
"example": "SAL900004543304"
|
||||||
},
|
},
|
||||||
"channel": {
|
"channel": {
|
||||||
"type": "string",
|
"type": "string",
|
||||||
"example": "100"
|
"example": "USSD"
|
||||||
}
|
}
|
||||||
},
|
},
|
||||||
"xml": {
|
"xml": {
|
||||||
|
|||||||
@@ -1,40 +1,40 @@
|
|||||||
{
|
{
|
||||||
"type": "object",
|
"type": "object",
|
||||||
"properties": {
|
"properties": {
|
||||||
"requestId": {
|
"requestId": {
|
||||||
"type": "string",
|
"type": "string",
|
||||||
"example": "202111170001371256908"
|
"example": "81757678335583"
|
||||||
},
|
|
||||||
"transactionId": {
|
|
||||||
"type": "string",
|
|
||||||
"example": "Tr201712RK9232P115"
|
|
||||||
},
|
|
||||||
"loanRef": {
|
|
||||||
"type": "string",
|
|
||||||
"example": "1620029887USSDAMPC"
|
|
||||||
},
|
|
||||||
"customerId": {
|
|
||||||
"type": "string",
|
|
||||||
"example": "CN621868"
|
|
||||||
},
|
|
||||||
"accountId": {
|
|
||||||
"type": "string",
|
|
||||||
"example": "ACN8263457"
|
|
||||||
},
|
|
||||||
"msisdn": {
|
|
||||||
"type": "string",
|
|
||||||
"example": "3451342"
|
|
||||||
},
|
|
||||||
"resultCode": {
|
|
||||||
"type": "string",
|
|
||||||
"example": "00"
|
|
||||||
},
|
|
||||||
"resultDescription": {
|
|
||||||
"type": "string",
|
|
||||||
"example": "Successful"
|
|
||||||
}
|
|
||||||
},
|
},
|
||||||
"xml": {
|
"transactionId": {
|
||||||
"name": "ProvideLoanResponse"
|
"type": "string",
|
||||||
|
"example": "TRCVIC73089465966"
|
||||||
|
},
|
||||||
|
"loanRef": {
|
||||||
|
"type": "string",
|
||||||
|
"example": "TRCVIC73089465966USSD3MPC"
|
||||||
|
},
|
||||||
|
"customerId": {
|
||||||
|
"type": "string",
|
||||||
|
"example": "ZX48440946"
|
||||||
|
},
|
||||||
|
"accountId": {
|
||||||
|
"type": "string",
|
||||||
|
"example": "361005323"
|
||||||
|
},
|
||||||
|
"msisdn": {
|
||||||
|
"type": "string",
|
||||||
|
"example": "98016510058"
|
||||||
|
},
|
||||||
|
"resultCode": {
|
||||||
|
"type": "string",
|
||||||
|
"example": "00"
|
||||||
|
},
|
||||||
|
"resultDescription": {
|
||||||
|
"type": "string",
|
||||||
|
"example": "Successful"
|
||||||
}
|
}
|
||||||
}
|
},
|
||||||
|
"xml": {
|
||||||
|
"name": "ProvideLoanResponse"
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|||||||
@@ -3,27 +3,27 @@
|
|||||||
"properties": {
|
"properties": {
|
||||||
"msisdn": {
|
"msisdn": {
|
||||||
"type": "string",
|
"type": "string",
|
||||||
"example": "3451342"
|
"example": "2348093451342"
|
||||||
},
|
},
|
||||||
"debtId": {
|
"debtId": {
|
||||||
"type": "string",
|
"type": "number",
|
||||||
"example": "10"
|
"example": 80
|
||||||
},
|
},
|
||||||
"transactionId": {
|
"transactionId": {
|
||||||
"type": "string",
|
"type": "string",
|
||||||
"example": "20171209232115"
|
"example": "TRCVIC73089465966"
|
||||||
},
|
},
|
||||||
"customerId": {
|
"customerId": {
|
||||||
"type": "string",
|
"type": "string",
|
||||||
"example": "CID0000025585"
|
"example": "ZX48440946"
|
||||||
},
|
},
|
||||||
"loanRef": {
|
"loanRef": {
|
||||||
"type": "string",
|
"type": "string",
|
||||||
"example": "Trx5847365252USSD3MPC"
|
"example": "TRCVIC73089465966USSD3MPC"
|
||||||
},
|
},
|
||||||
"accountId": {
|
"accountId": {
|
||||||
"type": "string",
|
"type": "string",
|
||||||
"example": "ACN8263457"
|
"example": "361005323"
|
||||||
}
|
}
|
||||||
},
|
},
|
||||||
"xml": {
|
"xml": {
|
||||||
|
|||||||
@@ -1,28 +1,48 @@
|
|||||||
{
|
{
|
||||||
"type": "object",
|
"type": "object",
|
||||||
"properties": {
|
"properties": {
|
||||||
"customerId": {
|
"Id": {
|
||||||
"type": "string",
|
"type": "integer",
|
||||||
"example": "CN621868"
|
"example": 195
|
||||||
},
|
|
||||||
"productId": {
|
|
||||||
"type": "string",
|
|
||||||
"example": "101"
|
|
||||||
},
|
|
||||||
"debtId": {
|
|
||||||
"type": "string",
|
|
||||||
"example": "273194670"
|
|
||||||
},
|
|
||||||
"resultCode": {
|
|
||||||
"type": "string",
|
|
||||||
"example": "00"
|
|
||||||
},
|
|
||||||
"resultDescription": {
|
|
||||||
"type": "string",
|
|
||||||
"example": "Successful"
|
|
||||||
}
|
|
||||||
},
|
},
|
||||||
"xml": {
|
"customerId": {
|
||||||
"name": "RepaymentResponse"
|
"type": "string",
|
||||||
|
"example": "ZX48440946"
|
||||||
|
},
|
||||||
|
"debtId": {
|
||||||
|
"type": "string",
|
||||||
|
"example": "80"
|
||||||
|
},
|
||||||
|
"initiated_by": {
|
||||||
|
"type": "string",
|
||||||
|
"example": "USER_INITIATED"
|
||||||
|
},
|
||||||
|
"loanRef": {
|
||||||
|
"type": "string",
|
||||||
|
"example": "TRCVIC73089465966USSD3MPC"
|
||||||
|
},
|
||||||
|
"productId": {
|
||||||
|
"type": "string",
|
||||||
|
"example": "3MPC"
|
||||||
|
},
|
||||||
|
"repayment_id": {
|
||||||
|
"type": "integer",
|
||||||
|
"example": 195
|
||||||
|
},
|
||||||
|
"transactionId": {
|
||||||
|
"type": "string",
|
||||||
|
"example": "TRCVIC73089465966"
|
||||||
|
},
|
||||||
|
"resultCode": {
|
||||||
|
"type": "string",
|
||||||
|
"example": "00"
|
||||||
|
},
|
||||||
|
"resultDescription": {
|
||||||
|
"type": "string",
|
||||||
|
"example": "Successful"
|
||||||
}
|
}
|
||||||
}
|
},
|
||||||
|
"xml": {
|
||||||
|
"name": "RepaymentResponse"
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|||||||
@@ -3,40 +3,40 @@
|
|||||||
"properties": {
|
"properties": {
|
||||||
"requestId": {
|
"requestId": {
|
||||||
"type": "string",
|
"type": "string",
|
||||||
"example": "202111170001371256908"
|
"example": "RQID11170001371256908"
|
||||||
},
|
},
|
||||||
"transactionId": {
|
"transactionId": {
|
||||||
"type": "string",
|
"type": "string",
|
||||||
"example": "1231231321232"
|
"example": "TRX1231231321232"
|
||||||
},
|
},
|
||||||
"customerId": {
|
"customerId": {
|
||||||
"type": "string",
|
"type": "string",
|
||||||
"example": "CN621868"
|
"example": "CN6215268548868"
|
||||||
},
|
|
||||||
"msisdn": {
|
|
||||||
"type": "string",
|
|
||||||
"example": "123456789"
|
|
||||||
},
|
|
||||||
"requestedAmount": {
|
|
||||||
"type": "number",
|
|
||||||
"format": "double",
|
|
||||||
"example": 10000.55
|
|
||||||
},
|
},
|
||||||
"accountId": {
|
"accountId": {
|
||||||
"type": "string",
|
"type": "string",
|
||||||
"example": "ACN8263457"
|
"example": "4348094226"
|
||||||
},
|
},
|
||||||
|
"msisdn": {
|
||||||
|
"type": "string",
|
||||||
|
"example": "2348093451342"
|
||||||
|
},
|
||||||
|
"requestedAmount": {
|
||||||
|
"type": "number",
|
||||||
|
"example": 20000
|
||||||
|
},
|
||||||
|
|
||||||
"productId": {
|
"productId": {
|
||||||
"type": "string",
|
"type": "string",
|
||||||
"example": "3MPC"
|
"example": "3MPC"
|
||||||
},
|
},
|
||||||
"offerId": {
|
"offerId": {
|
||||||
"type": "string",
|
"type": "string",
|
||||||
"example": "101"
|
"example": "SAL900004543304"
|
||||||
},
|
},
|
||||||
"channel": {
|
"channel": {
|
||||||
"type": "string",
|
"type": "string",
|
||||||
"example": ""
|
"example": "USSD"
|
||||||
}
|
}
|
||||||
},
|
},
|
||||||
"xml": {
|
"xml": {
|
||||||
|
|||||||
@@ -1,121 +1,129 @@
|
|||||||
{
|
{
|
||||||
"type": "object",
|
"type": "object",
|
||||||
"properties": {
|
"properties": {
|
||||||
"requestId": {
|
"requestId": {
|
||||||
|
"type": "string",
|
||||||
|
"example": "81757678225025"
|
||||||
|
},
|
||||||
|
"transactionId": {
|
||||||
|
"type": "string",
|
||||||
|
"example": "TRCVIC73089465966"
|
||||||
|
},
|
||||||
|
"customerId": {
|
||||||
|
"type": "string",
|
||||||
|
"example": "ZX48440946"
|
||||||
|
},
|
||||||
|
"accountId": {
|
||||||
|
"type": "string",
|
||||||
|
"example": "361005323"
|
||||||
|
},
|
||||||
|
"loan": {
|
||||||
|
"type": "array",
|
||||||
|
"items": {
|
||||||
|
"type": "object",
|
||||||
|
"properties": {
|
||||||
|
"offerId": {
|
||||||
"type": "string",
|
"type": "string",
|
||||||
"example": "202111170001371256908"
|
"example": "SAL90000204"
|
||||||
},
|
},
|
||||||
"transactionId": {
|
"productId": {
|
||||||
"type": "string",
|
"type": "string",
|
||||||
"example": "1231231321232"
|
"example": "3MPC"
|
||||||
},
|
},
|
||||||
"customerId": {
|
"amount": {
|
||||||
"type": "string",
|
"type": "number",
|
||||||
"example": "1256907"
|
"format": "float",
|
||||||
},
|
"example": 30000.0
|
||||||
"accountId": {
|
},
|
||||||
"type": "string",
|
"upfrontPayment": {
|
||||||
"example": "5948306019"
|
"type": "number",
|
||||||
},
|
"format": "float",
|
||||||
"loan": {
|
"example": 622.5
|
||||||
|
},
|
||||||
|
"interestRate": {
|
||||||
|
"type": "number",
|
||||||
|
"format": "float",
|
||||||
|
"example": 3.0
|
||||||
|
},
|
||||||
|
"interestFee": {
|
||||||
|
"type": "number",
|
||||||
|
"format": "float",
|
||||||
|
"example": 2700.0
|
||||||
|
},
|
||||||
|
"managementRate": {
|
||||||
|
"type": "number",
|
||||||
|
"format": "float",
|
||||||
|
"example": 1.0
|
||||||
|
},
|
||||||
|
"managementFee": {
|
||||||
|
"type": "number",
|
||||||
|
"format": "float",
|
||||||
|
"example": 300.0
|
||||||
|
},
|
||||||
|
"insuranceRate": {
|
||||||
|
"type": "number",
|
||||||
|
"format": "float",
|
||||||
|
"example": 1.0
|
||||||
|
},
|
||||||
|
"insuranceFee": {
|
||||||
|
"type": "number",
|
||||||
|
"format": "float",
|
||||||
|
"example": 300.0
|
||||||
|
},
|
||||||
|
"VATRate": {
|
||||||
|
"type": "number",
|
||||||
|
"format": "float",
|
||||||
|
"example": 7.5
|
||||||
|
},
|
||||||
|
"VATAmount": {
|
||||||
|
"type": "number",
|
||||||
|
"format": "float",
|
||||||
|
"example": 22.5
|
||||||
|
},
|
||||||
|
"recommendedRepaymentDates": {
|
||||||
"type": "array",
|
"type": "array",
|
||||||
"items": {
|
"items": {
|
||||||
"type": "object",
|
"type": "string"
|
||||||
"properties": {
|
},
|
||||||
"offerId": {
|
"example": [
|
||||||
"type": "string",
|
"2025-10-12",
|
||||||
"example": "14451"
|
"2025-11-12",
|
||||||
},
|
"2025-12-12"
|
||||||
"productId": {
|
]
|
||||||
"type": "string",
|
},
|
||||||
"example": "3MPC"
|
"installmentAmount": {
|
||||||
},
|
"type": "number",
|
||||||
"amount": {
|
"format": "float",
|
||||||
"type": "number",
|
"example": 10900.0
|
||||||
"format": "float",
|
},
|
||||||
"example": 10000.0
|
"repaymentAmount": {
|
||||||
},
|
"type": "number",
|
||||||
"dueDate": {
|
"format": "float",
|
||||||
"type": "string",
|
"example": 32700.0
|
||||||
"example": "2025-04-24 10:31:"
|
},
|
||||||
},
|
"totalRepaymentAmount": {
|
||||||
"upfrontPayment": {
|
"type": "number",
|
||||||
"type": "number",
|
"format": "float",
|
||||||
"format": "float",
|
"example": 33322.5
|
||||||
"example": 1000.0
|
}
|
||||||
},
|
|
||||||
"interestRate": {
|
|
||||||
"type": "number",
|
|
||||||
"format": "float",
|
|
||||||
"example": 3.0
|
|
||||||
},
|
|
||||||
"interestFee": {
|
|
||||||
"type": "number",
|
|
||||||
"format": "float",
|
|
||||||
"example": 3000.00
|
|
||||||
},
|
|
||||||
"ManagementRate": {
|
|
||||||
"type": "number",
|
|
||||||
"format": "float",
|
|
||||||
"example": 1.0
|
|
||||||
},
|
|
||||||
"ManagementFee": {
|
|
||||||
"type": "number",
|
|
||||||
"format": "float",
|
|
||||||
"example": 1.0
|
|
||||||
},
|
|
||||||
"InsuranceRate": {
|
|
||||||
"type": "number",
|
|
||||||
"format": "float",
|
|
||||||
"example": 1.0
|
|
||||||
},
|
|
||||||
"InsuranceFee": {
|
|
||||||
"type": "number",
|
|
||||||
"format": "float",
|
|
||||||
"example": 100.0
|
|
||||||
},
|
|
||||||
"VATRate": {
|
|
||||||
"type": "number",
|
|
||||||
"format": "float",
|
|
||||||
"example": 7.5
|
|
||||||
},
|
|
||||||
"VATamount": {
|
|
||||||
"type": "number",
|
|
||||||
"format": "float",
|
|
||||||
"example": 100.0
|
|
||||||
},
|
|
||||||
"installmentRepaymentDates": {
|
|
||||||
"type": "array",
|
|
||||||
"items": {
|
|
||||||
"type": "string"
|
|
||||||
},
|
|
||||||
"example": [
|
|
||||||
"2022-11-30"
|
|
||||||
]
|
|
||||||
},
|
|
||||||
"installmentAmount": {
|
|
||||||
"type": "number",
|
|
||||||
"format": "float",
|
|
||||||
"example": 11000.0
|
|
||||||
},
|
|
||||||
"totalRepaymentAmount": {
|
|
||||||
"type": "number",
|
|
||||||
"format": "float",
|
|
||||||
"example": 11000.0
|
|
||||||
}
|
|
||||||
}
|
|
||||||
}
|
|
||||||
},
|
|
||||||
"resultCode": {
|
|
||||||
"type": "string",
|
|
||||||
"example": "00"
|
|
||||||
},
|
|
||||||
"resultDescription": {
|
|
||||||
"type": "string",
|
|
||||||
"example": "Successful"
|
|
||||||
}
|
}
|
||||||
|
}
|
||||||
},
|
},
|
||||||
"xml": {
|
"outstandingDebtAmount": {
|
||||||
"name": "SelectOffersResponse"
|
"type": "number",
|
||||||
|
"format": "float",
|
||||||
|
"example": 0
|
||||||
|
},
|
||||||
|
"resultCode": {
|
||||||
|
"type": "string",
|
||||||
|
"example": "00"
|
||||||
|
},
|
||||||
|
"resultDescription": {
|
||||||
|
"type": "string",
|
||||||
|
"example": "Successful"
|
||||||
}
|
}
|
||||||
}
|
},
|
||||||
|
"xml": {
|
||||||
|
"name": "SelectOffersResponse"
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|||||||
Reference in New Issue
Block a user