fix: add timeout createSubscriptionReceipt stripe

This commit is contained in:
Денис Катаев 2023-12-15 18:45:21 +00:00 committed by Victor Ershov
parent e67bb75739
commit 59783fb846

View File

@ -1,6 +1,6 @@
import { useApi } from "@/api";
import Loader from "@/components/Loader";
import { useEffect, useState } from "react";
import { useEffect, useRef, useState } from "react";
import { Stripe, loadStripe } from "@stripe/stripe-js";
import { Elements } from "@stripe/react-stripe-js";
import CheckoutForm from "../PaymentPage/methods/Stripe/CheckoutForm";
@ -31,6 +31,7 @@ export function StripePage(): JSX.Element {
if (!activeSubPlan) {
navigate(routes.client.priceList());
}
const timeoutRef = useRef<NodeJS.Timeout>();
// const appleReceipt = async () => {
// const { subscription_receipt } = await api.createSubscriptionReceipt({
@ -58,7 +59,7 @@ export function StripePage(): JSX.Element {
}, [activeSubPlan, api, locale, navigate]);
useEffect(() => {
(async () => {
timeoutRef.current = setTimeout(async () => {
const { subscription_receipt } = await api.createSubscriptionReceipt({
token,
way: "stripe",
@ -69,7 +70,12 @@ export function StripePage(): JSX.Element {
const { client_secret } = subscription_receipt.data;
setClientSecret(client_secret);
setIsLoading(false);
})();
}, 4000);
return () => {
if (timeoutRef.current) {
clearTimeout(timeoutRef.current);
}
};
}, [api, token]);
return (