Files
digifi-EventManager/app/routes/loan.py
T
2025-03-27 11:54:31 +01:00

150 lines
4.5 KiB
Python

from flask import Blueprint, request, jsonify, current_app
import requests
from app.utils.auth import get_headers
loan_bp = Blueprint("loan", __name__)
@loan_bp.route("/select-offer", methods=["POST"])
def select_offer():
data = request.json
api_url = f"{current_app.config['API_BASE_URL']}/SelectOffer"
# response = requests.post(api_url, json=data, headers=get_headers())
# return jsonify(response.json()), response.status_code
response = {
"transactionId": "1231231321232",
"customerId": "1256907",
"accountId": "5948306019",
"outstandingDebtAmount": 0,
"loan": [
{
"offerId": "14451",
"productId": "2030",
"amount": 10000,
"upfrontPayment": 1000,
"interestRate": 3,
"Interest": 300,
"ManagementRate": 1,
"ManagementFee": 100,
"InsuranceRate": 1,
"InsuranceFee": 100,
"VATRate": 7.5,
"VATamount": 100,
"recommendedRepaymentDates": ["2022-11-30"],
"installmentAmount": 11000,
"totalRepaymentAmount": 11000,
}
],
"resultCode": "00",
"resultDescription": "Successful",
}
return jsonify(response), 200
@loan_bp.route("/provide-loan", methods=["POST"])
def provide_loan():
data = request.json
api_url = f"{current_app.config['API_BASE_URL']}/ProvideLoan"
# response = requests.post(api_url, json=data, headers=get_headers())
# return jsonify(response.json()), response.status_code
response = {
"requestId": "202111170001371256908",
"transactionId": "Tr201712RK9232P115",
"customerId": "CN621868",
"accountId": "ACN8263457",
"msisdn": "3451342",
"resultCode": "00",
"resultDescription": "Successful",
}
return jsonify(response), 200
@loan_bp.route("/status", methods=["POST"])
def status():
data = request.json
api_url = f"{current_app.config['API_BASE_URL']}/LoanStatus"
# response = requests.post(api_url, json=data, headers=get_headers())
# return jsonify(response.json()), response.status_code
response = {
"customerId": "CN621868",
"transactionId": "Tr201712RK9232P115",
"loans": [
{
"debtId": "123456789",
"loanDate": "2019-10-18 14:26:21.063",
"dueDate": "2019-11-20 14:26:21.063",
"currentLoanAmount": 8500,
"initialLoanAmount": 10000,
"defaultPenaltyFee": 0,
"continuousFee": 0,
"productId": "101",
}
],
"totalDebtAmount": 8500,
"resultCode": "00",
"resultDescription": "Successful",
}
return jsonify(response), 200
@loan_bp.route("/repayment", methods=["POST"])
def repayment():
data = request.json
api_url = f"{current_app.config['API_BASE_URL']}/Repayment"
# response = requests.post(api_url, json=data, headers=get_headers())
# return jsonify(response.json()), response.status_code
response = {
"requestId": "R02802",
"countryCode": "NGR",
"transactionId": "Tr201712RK9232P115",
"debtId": "273194670",
"customerId": "CN621868",
"accountId": "2017821799",
"productId": "101",
"collectedAmount": 60000,
"penalCharge": 0,
"lienAmount": 20000,
"comment": "Testing CollectionLoanRequest",
"resultCode": "00",
"resultDescription": "Loan Collection Successful",
}
return jsonify(response), 200
@loan_bp.route("/rac-check", methods=["POST"])
def rac_check():
data = request.json
api_url = f"{current_app.config['API_BASE_URL']}/RACCheck"
# response = requests.post(api_url, json=data, headers=get_headers())
# return jsonify(response.json()), response.status_code
response = {
"transactionId": "T001",
"customerId": "CN621868",
"accountId": "2017821799",
"RACResponse": {
"Salary account": "1",
"BVN": "1",
"BVNAttachedToAccount": "1",
"CRMS": "1",
"CRC": "1",
"AccountStatus": "1",
"Lien": "1",
"NoBouncedCheck": "1",
"Whitelist": "1",
"NoPastDueSalaryLoan": "1",
"NoPastDueOtherLoan": "1",
},
"resultDescription": "RAC Check Successful",
}
return jsonify(response), 200