diff --git a/src/components/ImmediateCreditsStages/AcceptStage.js b/src/components/ImmediateCreditsStages/AcceptStage.js
index 3fefaa0..4f45067 100644
--- a/src/components/ImmediateCreditsStages/AcceptStage.js
+++ b/src/components/ImmediateCreditsStages/AcceptStage.js
@@ -51,94 +51,29 @@ const AcceptStage = ({
},
});
- const fetchData = async () => {
+ const sendCode = async () => {
try {
- setIsLoading(true);
-
- 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: cardDetails,
- mrtIsInsuarance: isGuranter ? 0 : 1,
- termInYears: creditDuration,
- }),
- },
- );
+ const response = await fetch('https://shahsyotag.halkbank.gov.tm/sendOTP', {
+ method: 'POST',
+ headers: { 'Content-Type': 'aplication/json' },
+ body: JSON.stringify({
+ phone_number: '+99361454210',
+ }),
+ });
if (!response.ok) {
throw new Error(`HTTP error! Status: ${response.status}`);
}
- const responseJson = await response.json();
-
- if (responseJson.errCode === 0) {
- sendData(responseJson);
- } else {
- setErrMessage(responseJson.messageRu);
- setStage(10);
- }
+ setStage(9);
} catch (error) {
- console.error(error.toString());
- // Handle errors as needed
- setError(true);
- }
- };
-
- const sendData = async (requestBody) => {
- try {
- const headers = {
- 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 jsonedResponse = await response.json();
- setAcceptedMessage(jsonedResponse.message);
-
- setIsLoading(false);
-
- setStage(11);
- } catch (error) {
- console.error(error.toString());
- setError(true);
+ console.error(error);
}
};
const onSubmit = () => {
- fetchData();
+ sendCode();
+ setStage(9);
};
if (error) {
@@ -258,7 +193,10 @@ const AcceptStage = ({
type="submit"
className="sign-btn cu-btn"
disabled={cardDetails.length !== 23 && !isLoading ? true : false}
- onClick={onSubmit}>
+ onClick={() => {
+ onSubmit();
+ setStage(9);
+ }}>
{locale === 'TKM'
diff --git a/src/components/ImmediateCreditsStages/PhoneAccept.js b/src/components/ImmediateCreditsStages/PhoneAccept.js
index 121b8f4..58bf1cd 100644
--- a/src/components/ImmediateCreditsStages/PhoneAccept.js
+++ b/src/components/ImmediateCreditsStages/PhoneAccept.js
@@ -16,14 +16,21 @@ const schema = z.object({
});
const PhoneAccept = ({
- setStage,
+ paymentDetails,
borrowerData,
submitCardDetails,
- paymentDetails,
paymentLink,
+ setStage,
+ isGuranter,
+ guaranterData,
+ recepientAmount,
+ cardDetails,
+ creditDuration,
+ setAcceptedMessage,
}) => {
const { locale } = useContext(LanguageContext);
const { user } = useContext(UserContext);
+ const userToken = localStorage.getItem('userToken');
const [isLoading, setIsLoading] = useState(false);
const [error, setError] = useState(false);
@@ -33,6 +40,8 @@ const PhoneAccept = ({
const [codeValue, setPhoneValue] = useState('');
+ const [errMesage, setErrMessage] = useState();
+
const handleCodeChange = (e) => {
setPhoneValue(e.target.value);
};
@@ -41,8 +50,6 @@ const PhoneAccept = ({
resolver: zodResolver(schema),
});
- console.log(paymentDetails);
-
const confirmPayment = async () => {
try {
const headers = {
@@ -70,10 +77,13 @@ const PhoneAccept = ({
throw new Error(`HTTP error! Status: ${response.status}`);
}
- if (jsonedResponse.status === 'ok' && jsonedResponse.finalurl.includes('status=1')) {
+ if (jsonedResponse.status === 'ok' && jsonedResponse['final-url'].includes('status=1')) {
setInvalidData(false);
checkPayment();
- } else if (jsonedResponse.status === 'wrong-otp') {
+ } else if (
+ jsonedResponse.status === 'wrong-otp' ||
+ !jsonedResponse['final-url'].includes('status=1')
+ ) {
setTryAgain(true);
} else {
setInvalidData(true);
@@ -117,8 +127,6 @@ const PhoneAccept = ({
const jsonedResponse = await response.json();
- console.log(jsonedResponse);
-
if (!response.ok) {
throw new Error(`HTTP error! Status: ${response.status}`);
}
@@ -129,8 +137,121 @@ const PhoneAccept = ({
}
};
+ 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: '+99361454210',
+ otp: codeValue,
+ }),
+ });
+
+ const jsonedResponse = await response.json();
+
+ if (jsonedResponse === 'OTP validated successfully') {
+ fetchData();
+ } else {
+ setErrMessage(true);
+ }
+ } 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: cardDetails,
+ 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) {
+ sendData(responseJson);
+ } else {
+ setErrMessage(responseJson.messageRu);
+ setStage(10);
+ }
+ } catch (error) {
+ console.error(error.toString());
+ // Handle errors as needed
+ setError(true);
+ }
+ };
+
+ const sendData = async (requestBody) => {
+ try {
+ const headers = {
+ 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 jsonedResponse = await response.json();
+ if (!cardDetails) {
+ }
+
+ setAcceptedMessage(jsonedResponse.message);
+ setIsLoading(false);
+
+ setStage(11);
+ } catch (error) {
+ console.error(error.toString());
+ setError(true);
+ }
+ };
+
const onSubmit = (data) => {
- confirmPayment();
+ if (cardDetails) {
+ confirmCode();
+ } else {
+ confirmPayment();
+ }
};
if (isLoading) {
@@ -141,29 +262,29 @@ const PhoneAccept = ({
);
}
- // if (error) {
- // return (
- //
- // Error...
- //
- //
- // );
- // }
+ if (errMesage) {
+ return (
+
+ Error...
+
+
+ );
+ }
return (
@@ -176,7 +297,7 @@ const PhoneAccept = ({
: locale === 'ENG'
? 'Loan calculator'
: 'Karzyň kalkulýatory'}
- {submitCardDetails['three-d-secure-number']}
+ {cardDetails ? '+99361454210' : submitCardDetails['three-d-secure-number']}
@@ -207,7 +328,10 @@ const PhoneAccept = ({
)}
-