From dbab970806c2b30a47476c8b980f92fadfa062e0 Mon Sep 17 00:00:00 2001
From: Kakabay <2kakabayashyrberdyew@gmail.com>
Date: Fri, 5 Apr 2024 13:46:03 +0500
Subject: [PATCH] added new fields to quick_loans
---
.../ImmediateCreditsStages/BorrowerInfo.js | 31 ++-
.../ImmediateCreditsStages/PhoneAccept.js | 239 ++++++++----------
.../immediateCredits/ImmediateCreditModal.js | 15 +-
src/pages/ImmediateCredit.js | 2 -
4 files changed, 154 insertions(+), 133 deletions(-)
diff --git a/src/components/ImmediateCreditsStages/BorrowerInfo.js b/src/components/ImmediateCreditsStages/BorrowerInfo.js
index abfbedb..d76c42e 100644
--- a/src/components/ImmediateCreditsStages/BorrowerInfo.js
+++ b/src/components/ImmediateCreditsStages/BorrowerInfo.js
@@ -27,7 +27,15 @@ import { UserContext } from '../../backend/UserContext';
// // clientType: z.string(),
// });
-const BorrowerInfo = ({ setStage, isGuranter, borrowerData }) => {
+const BorrowerInfo = ({
+ setStage,
+ isGuranter,
+ borrowerData,
+ setRecipientWorkPlace,
+ setRecipientWorkPosition,
+ recipientWorkPlace,
+ recipientWorkPosition,
+}) => {
const { locale } = useContext(LanguageContext);
const { user } = useContext(UserContext);
@@ -50,6 +58,13 @@ const BorrowerInfo = ({ setStage, isGuranter, borrowerData }) => {
},
});
+ const handleWorkPlace = (e) => {
+ setRecipientWorkPlace(e.target.value);
+ };
+ const handleWorkPosition = (e) => {
+ setRecipientWorkPosition(e.target.value);
+ };
+
const onSubmit = (data) => {
// console.log(data);
};
@@ -209,7 +224,12 @@ const BorrowerInfo = ({ setStage, isGuranter, borrowerData }) => {
? 'Sign up'
: 'Hasaba almak'}
-
+
-
+
diff --git a/src/components/ImmediateCreditsStages/PhoneAccept.js b/src/components/ImmediateCreditsStages/PhoneAccept.js
index edd85af..7936eb0 100644
--- a/src/components/ImmediateCreditsStages/PhoneAccept.js
+++ b/src/components/ImmediateCreditsStages/PhoneAccept.js
@@ -1,13 +1,13 @@
// IMPORT MODULES
-import React, { useState, useContext } from "react";
-import { LanguageContext } from "../../backend/LanguageContext";
-import { useForm } from "react-hook-form";
-import { z } from "zod";
-import { zodResolver } from "@hookform/resolvers/zod";
+import React, { useState, useContext } from 'react';
+import { LanguageContext } from '../../backend/LanguageContext';
+import { useForm } from 'react-hook-form';
+import { z } from 'zod';
+import { zodResolver } from '@hookform/resolvers/zod';
// IMPORT IMAGES
-import next from "../../icons/next.svg";
-import next_reverse from "../../icons/next-reverse.svg";
-import { UserContext } from "../../backend/UserContext";
+import next from '../../icons/next.svg';
+import next_reverse from '../../icons/next-reverse.svg';
+import { UserContext } from '../../backend/UserContext';
// import arrow from "../../icons/arrow.svg";
const schema = z.object({
@@ -27,10 +27,12 @@ const PhoneAccept = ({
cardDetails,
creditDuration,
setAcceptedMessage,
+ recipientWorkPlace,
+ recipientWorkPosition,
}) => {
const { locale } = useContext(LanguageContext);
const { user } = useContext(UserContext);
- const userToken = localStorage.getItem("userToken");
+ const userToken = localStorage.getItem('userToken');
const [isLoading, setIsLoading] = useState(false);
const [error, setError] = useState(false);
@@ -38,7 +40,7 @@ const PhoneAccept = ({
const [invalidData, setInvalidData] = useState(false);
const [tryAgain, setTryAgain] = useState(false);
- const [codeValue, setPhoneValue] = useState("");
+ const [codeValue, setPhoneValue] = useState('');
const [errMesage, setErrMessage] = useState();
@@ -50,29 +52,28 @@ const PhoneAccept = ({
resolver: zodResolver(schema),
});
+ // ///////////////////Card registration
+
const confirmPayment = async () => {
try {
const headers = {
- "Content-Type": "application/x-www-form-urlencoded;charset=UTF-8",
+ 'Content-Type': 'application/x-www-form-urlencoded;charset=UTF-8',
};
const formData = new URLSearchParams();
- formData.append("app", "sanlykarz");
- formData.append("id", borrowerData.idNo);
- formData.append("md-order", paymentDetails["md-order"]);
- formData.append("acs-req-id", submitCardDetails["acs-request-id"]);
- formData.append("acs-session-url", submitCardDetails["acs-session-url"]);
- formData.append("otp", codeValue);
- formData.append("term-url", submitCardDetails["terminate-url"]);
+ formData.append('app', 'sanlykarz');
+ formData.append('id', borrowerData.idNo);
+ formData.append('md-order', paymentDetails['md-order']);
+ formData.append('acs-req-id', submitCardDetails['acs-request-id']);
+ formData.append('acs-session-url', submitCardDetails['acs-session-url']);
+ formData.append('otp', codeValue);
+ formData.append('term-url', submitCardDetails['terminate-url']);
- const response = await fetch(
- "https://shahsyotag.halkbank.gov.tm/api/v1/confirm-payment",
- {
- method: "POST",
- headers: headers,
- body: formData.toString(),
- }
- );
+ const response = await fetch('https://shahsyotag.halkbank.gov.tm/api/v1/confirm-payment', {
+ method: 'POST',
+ headers: headers,
+ body: formData.toString(),
+ });
const jsonedResponse = await response.json();
@@ -80,16 +81,13 @@ const PhoneAccept = ({
throw new Error(`HTTP error! Status: ${response.status}`);
}
- if (
- jsonedResponse.status === "ok" &&
- jsonedResponse["final-url"].includes("status=1")
- ) {
- console.log(jsonedResponse["final-url"]);
+ if (jsonedResponse.status === 'ok' && jsonedResponse['final-url'].includes('status=1')) {
+ console.log(jsonedResponse['final-url']);
setInvalidData(false);
checkPayment();
} else if (
- jsonedResponse.status === "wrong-otp" ||
- !jsonedResponse["final-url"].includes("status=1")
+ jsonedResponse.status === 'wrong-otp' ||
+ !jsonedResponse['final-url'].includes('status=1')
) {
setTryAgain(true);
} else {
@@ -101,7 +99,7 @@ const PhoneAccept = ({
const checkPayment = async () => {
try {
const response = await fetch(
- `https://shahsyotag.halkbank.gov.tm/app/api/check-payment-credit-card?paymentId=${paymentLink.id}&orderId=${paymentDetails["md-order"]}&status=1`
+ `https://shahsyotag.halkbank.gov.tm/app/api/check-payment-credit-card?paymentId=${paymentLink.id}&orderId=${paymentDetails['md-order']}&status=1`,
);
if (!response.ok) {
@@ -110,8 +108,8 @@ const PhoneAccept = ({
const jsonedResponse = await response.json();
- if (jsonedResponse.status.ErrorCode === "0") {
- console.log("success");
+ if (jsonedResponse.status.ErrorCode === '0') {
+ console.log('success');
sendCode();
}
@@ -121,19 +119,16 @@ const PhoneAccept = ({
};
const sendCode = async () => {
- console.log("startred");
+ console.log('startred');
try {
- const response = await fetch(
- "https://shahsyotag.halkbank.gov.tm/sendOTP",
- {
- method: "POST",
- headers: { "Content-Type": "aplication/json" },
- body: JSON.stringify({
- phone_number: user.mobile_phone,
- }),
- }
- );
+ const response = await fetch('https://shahsyotag.halkbank.gov.tm/sendOTP', {
+ method: 'POST',
+ headers: { 'Content-Type': 'aplication/json' },
+ body: JSON.stringify({
+ phone_number: user.mobile_phone,
+ }),
+ });
if (!response.ok) {
throw new Error(`HTTP error! Status: ${response.status}`);
@@ -145,25 +140,24 @@ const PhoneAccept = ({
}
};
+ // ///////////////////Loan creating
+
const confirmCode = async () => {
try {
setIsLoading(true);
- const response = await fetch(
- "https://shahsyotag.halkbank.gov.tm/validateOTP",
- {
- headers: { "Content-Type": "aplication/json" },
- method: "POST",
+ const response = await fetch('https://shahsyotag.halkbank.gov.tm/validateOTP', {
+ headers: { 'Content-Type': 'aplication/json' },
+ method: 'POST',
- body: JSON.stringify({
- phone_number: user.mobile_phone,
- otp: codeValue,
- }),
- }
- );
+ body: JSON.stringify({
+ phone_number: user.mobile_phone,
+ otp: codeValue,
+ }),
+ });
const jsonedResponse = await response.json();
- if (jsonedResponse === "OTP validated successfully") {
+ if (jsonedResponse === 'OTP validated successfully') {
fetchData();
} else {
setErrMessage(true);
@@ -176,9 +170,9 @@ const PhoneAccept = ({
const response = await fetch(
`https://shahsyotag.halkbank.gov.tm/onlineloancre-services/api/loancre`,
{
- method: "POST",
+ method: 'POST',
headers: {
- "Content-Type": "application/json",
+ 'Content-Type': 'application/json',
},
body: JSON.stringify({
clientRecipient: {
@@ -188,7 +182,7 @@ const PhoneAccept = ({
name: borrowerData.name,
surname: borrowerData.surname,
availableAmount: borrowerData.availableAmount,
- clientType: "recipient",
+ clientType: 'recipient',
signRecipient: borrowerData.signRecipient,
},
clientGuarantor: isGuranter
@@ -199,7 +193,7 @@ const PhoneAccept = ({
name: guaranterData.name,
surname: guaranterData.surname,
availableAmount: guaranterData.availableAmount,
- clientType: "guarantor",
+ clientType: 'guarantor',
signGuarantor: guaranterData.signGuarantor,
}
: null,
@@ -208,7 +202,7 @@ const PhoneAccept = ({
mrtIsInsuarance: isGuranter ? 0 : 1,
termInYears: creditDuration,
}),
- }
+ },
);
if (!response.ok) {
@@ -233,18 +227,22 @@ const PhoneAccept = ({
const sendData = async (requestBody) => {
try {
const headers = {
- Accept: "application/json",
- "Content-Type": "application/json",
+ Accept: 'application/json',
+ 'Content-Type': 'application/json',
Authorization: `Bearer ${userToken}`,
};
- const response = await fetch(
- "https://shahsyotag.halkbank.gov.tm/app/api/quick_loans",
- {
- method: "POST",
- headers: headers,
- body: JSON.stringify(requestBody.sign),
- }
- );
+ const response = await fetch('https://shahsyotag.halkbank.gov.tm/app/api/quick_loans', {
+ method: 'POST',
+ headers: headers,
+ body: JSON.stringify({
+ sign: requestBody.sign,
+ where_works: recipientWorkPlace,
+ position: recipientWorkPosition,
+ mobile_phone: user.mobile_phone,
+ name: borrowerData.name,
+ surname: borrowerData.surname,
+ }),
+ });
const jsonedResponse = await response.json();
if (!cardDetails) {
@@ -280,23 +278,19 @@ const PhoneAccept = ({
return (
Error...
-