оплата через хаб
This commit is contained in:
parent
eb5f8168c8
commit
ac7c001738
@ -11,6 +11,10 @@ import { useSnackbar } from "notistack";
|
|||||||
import { PayModal } from "./PayModal";
|
import { PayModal } from "./PayModal";
|
||||||
import { useUserStore } from "@/stores/user";
|
import { useUserStore } from "@/stores/user";
|
||||||
import { cartApi } from "@/api/cart";
|
import { cartApi } from "@/api/cart";
|
||||||
|
import { outCart } from "../Tariffs/Tariffs";
|
||||||
|
import { inCart } from "../Tariffs/Tariffs";
|
||||||
|
import { isTestServer } from "@/utils/hooks/useDomainDefine";
|
||||||
|
import { useToken } from "@frontend/kitui";
|
||||||
|
|
||||||
const tariff = "6844b8858258f5cc35791ef7";
|
const tariff = "6844b8858258f5cc35791ef7";
|
||||||
export default function PersonalizationAI() {
|
export default function PersonalizationAI() {
|
||||||
@ -22,6 +26,9 @@ export default function PersonalizationAI() {
|
|||||||
const quiz = useCurrentQuiz();
|
const quiz = useCurrentQuiz();
|
||||||
const { enqueueSnackbar } = useSnackbar();
|
const { enqueueSnackbar } = useSnackbar();
|
||||||
const privilegesOfUser = useUserStore((state) => state.userAccount?.privileges);
|
const privilegesOfUser = useUserStore((state) => state.userAccount?.privileges);
|
||||||
|
const user = useUserStore((state) => state.customerAccount);
|
||||||
|
const token = useToken();
|
||||||
|
const userId = useUserStore((state) => state.userId);
|
||||||
|
|
||||||
const [isStartCreate, setStartCreate] = useState(false);
|
const [isStartCreate, setStartCreate] = useState(false);
|
||||||
const [gender, setGender] = useState<string>('');
|
const [gender, setGender] = useState<string>('');
|
||||||
@ -177,26 +184,43 @@ export default function PersonalizationAI() {
|
|||||||
}
|
}
|
||||||
};
|
};
|
||||||
|
|
||||||
const tryBuy = () => {
|
const tryBuy = async ({ id, price }: { id: string; price: number }) => {
|
||||||
alert("старт покупки")
|
//Если в корзине что-то было - выкладываем содержимое и запоминаем чо там лежало
|
||||||
/*
|
if (user.cart.length > 0) {
|
||||||
// Добавляем тариф в корзину
|
outCart(user.cart);
|
||||||
const [_, addError] = await cartApi.add(tariff);
|
}
|
||||||
if (addError) {
|
//Добавляем желаемый тариф в корзину
|
||||||
enqueueSnackbar('Не удалось добавить тариф в корзину', { variant: 'error' });
|
const [_, addError] = await cartApi.add(tariff);
|
||||||
return false;
|
|
||||||
}
|
if (addError) {
|
||||||
|
//Развращаем товары в корзину
|
||||||
// Пытаемся оплатить
|
inCart();
|
||||||
const [data, payError] = await cartApi.pay();
|
|
||||||
if (payError) {
|
return;
|
||||||
enqueueSnackbar('Не удалось оплатить тариф', { variant: 'error' });
|
}
|
||||||
return false;
|
|
||||||
}
|
//Если нам хватает денежек - покупаем тариф
|
||||||
|
const [data, payError] = await cartApi.pay();
|
||||||
return true;
|
|
||||||
*/
|
if (payError || !data) {
|
||||||
}
|
//если денег не хватило
|
||||||
|
if (payError?.includes("insufficient funds") || payError?.includes("Payment Required")) {
|
||||||
|
var link = document.createElement("a");
|
||||||
|
link.href = `https://${isTestServer ? "s" : ""}hub.pena.digital/quizpayment?action=squizpay&dif=50000&data=${token}&userid=${userId}&from=AI`;
|
||||||
|
document.body.appendChild(link);
|
||||||
|
link.click();
|
||||||
|
return;
|
||||||
|
}
|
||||||
|
|
||||||
|
//другая ошибка
|
||||||
|
enqueueSnackbar("Произошла ошибка. Попробуйте позже");
|
||||||
|
|
||||||
|
return;
|
||||||
|
}
|
||||||
|
|
||||||
|
//Развращаем товары в корзину
|
||||||
|
inCart();
|
||||||
|
};
|
||||||
|
|
||||||
return (
|
return (
|
||||||
<>
|
<>
|
||||||
|
@ -387,7 +387,7 @@ export const inCart = () => {
|
|||||||
localStorage.setItem("saveCart", "[]");
|
localStorage.setItem("saveCart", "[]");
|
||||||
}
|
}
|
||||||
};
|
};
|
||||||
const outCart = (cart: string[]) => {
|
export const outCart = (cart: string[]) => {
|
||||||
//Сделаем муторно и подольше, зато при прерывании сессии данные потеряются минимально
|
//Сделаем муторно и подольше, зато при прерывании сессии данные потеряются минимально
|
||||||
if (cart.length > 0) {
|
if (cart.length > 0) {
|
||||||
cart.forEach(async (id: string) => {
|
cart.forEach(async (id: string) => {
|
||||||
|
Loading…
Reference in New Issue
Block a user