From 88db2611ca41893200c0d8760234e93aa78f295f Mon Sep 17 00:00:00 2001
From: Kakabay <2kakabayashyrberdyew@gmail.com>
Date: Mon, 1 Apr 2024 20:26:25 +0500
Subject: [PATCH] build
---
.../ImmediateCreditsStages/PaymentSuccess.js | 113 +++++++++++++++++-
1 file changed, 109 insertions(+), 4 deletions(-)
diff --git a/src/components/ImmediateCreditsStages/PaymentSuccess.js b/src/components/ImmediateCreditsStages/PaymentSuccess.js
index 211b456..1868432 100644
--- a/src/components/ImmediateCreditsStages/PaymentSuccess.js
+++ b/src/components/ImmediateCreditsStages/PaymentSuccess.js
@@ -3,9 +3,20 @@ import { LanguageContext } from '../../backend/LanguageContext';
import next from '../../icons/next.svg';
import next_reverse from '../../icons/next-reverse.svg';
+import { UserContext } from '../../backend/UserContext';
-const PaymentSuccess = ({ setStage, stage, setModalOpen }) => {
+const PaymentSuccess = ({
+ setStage,
+ stage,
+ borrowerData,
+ guaranterData,
+ isGuranter,
+ recepientAmount,
+ creditDuration,
+ setErrMessage,
+}) => {
const { locale } = useContext(LanguageContext);
+ const { user } = useContext(UserContext);
const [codeValue, setPhoneValue] = useState('');
@@ -16,10 +27,104 @@ const PaymentSuccess = ({ setStage, stage, setModalOpen }) => {
setPhoneValue(e.target.value);
};
- const onSubmit = (data) => {
- // confirmPayment();
+ const confirmCode = async () => {
+ try {
+ setIsLoading(true);
+ 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,
+ }),
+ });
+
+ if (!response.ok) {
+ throw new Error(`HTTP error! Status: ${response.status}`);
+ }
+
+ const jsonedResponse = await response.json();
+
+ if (jsonedResponse === 'OTP validated successfully') {
+ fetchData();
+ setStage(16);
+ setIsLoading(false);
+ }
+ } catch (error) {}
};
+ const fetchData = async () => {
+ try {
+ const response = await fetch(
+ `https://shahsyotag.halkbank.gov.tm/onlineloancre-services/api/loancre`,
+ {
+ method: 'POST',
+ headers: {
+ 'Content-Type': 'application/json',
+ },
+ body: JSON.stringify({
+ clientRecipient: {
+ idSeria: borrowerData.idSeria,
+ idNo: borrowerData.idNo,
+ accountNo: borrowerData.accountNo,
+ name: borrowerData.name,
+ surname: borrowerData.surname,
+ availableAmount: borrowerData.availableAmount,
+ clientType: 'recipient',
+ signRecipient: borrowerData.signRecipient,
+ },
+ clientGuarantor: isGuranter
+ ? {
+ idSeria: guaranterData.idSeria,
+ idNo: guaranterData.idNo,
+ accountNo: guaranterData.accountNo,
+ name: guaranterData.name,
+ surname: guaranterData.surname,
+ availableAmount: guaranterData.availableAmount,
+ clientType: 'guarantor',
+ signGuarantor: guaranterData.signGuarantor,
+ }
+ : null,
+ availableAmount: recepientAmount,
+ creditCardAccountNumber: null,
+ mrtIsInsuarance: isGuranter ? 0 : 1,
+ termInYears: creditDuration,
+ }),
+ },
+ );
+
+ if (!response.ok) {
+ throw new Error(`HTTP error! Status: ${response.status}`);
+ }
+
+ const responseJson = await response.json();
+
+ if (responseJson.errCode === 0) {
+ setStage(16);
+ } else {
+ setErrMessage(responseJson.messageRu);
+ setStage(10);
+ }
+ } catch (error) {
+ console.error(error.toString());
+ // Handle errors as needed
+ setError(true);
+ }
+ };
+
+ const onSubmit = (data) => {
+ confirmCode();
+ };
+
+ if (isLoading) {
+ return (
+
+ );
+ }
+
return (