взятие недлстающей суммы для оплаты на хабе из ответа ошибки

This commit is contained in:
Tamara 2024-04-14 02:48:51 +03:00
parent a40b9ee0c8
commit f08bd29ab8
2 changed files with 51 additions and 53 deletions

@ -1,29 +1,29 @@
import { Typography, Box } from "@mui/material";
import { useUserStore } from "@root/user"
import { useUserStore } from "@root/user";
import { Link } from "react-router-dom";
export const InfoPrivilege = () => {
const user = useUserStore();
console.log(user)
return (
<Box>
<Link to="/list">К списку квизов</Link>
{Object.values(user?.userAccount?.privileges || {}).map((privilege) => {
console.log(privilege)
return (
<Box
sx={{
border: "1px solid",
margin: "0 10px",
display: "flex",
justifyContent: "space-around",
padding: "5px 0",
}}
>
<Typography>{privilege?.privilege_name}</Typography>
<Typography>{privilege?.amount}</Typography>
</Box>
)
})}
</Box>
)
}
const user = useUserStore();
console.log(user);
return (
<Box>
<Link to="/list">К списку квизов</Link>
{Object.values(user?.userAccount?.privileges || {}).map((privilege) => {
console.log(privilege);
return (
<Box
sx={{
border: "1px solid",
margin: "0 10px",
display: "flex",
justifyContent: "space-around",
padding: "5px 0",
}}
>
<Typography>{privilege?.privilege_name}</Typography>
<Typography>{privilege?.amount}</Typography>
</Box>
);
})}
</Box>
);
};

@ -121,35 +121,33 @@ function TariffPage() {
url: process.env.REACT_APP_DOMAIN + `/customer/cart?id=${id}`,
});
//Если нам хватает денежек - покупаем тариф
if (price * 100 <= cashCop) {
try {
const data = await makeRequest({
method: "POST",
url: process.env.REACT_APP_DOMAIN + "/customer/cart/pay",
});
console.log(data);
setCash(
currencyFormatter.format(Number(data.wallet.cash) / 100),
Number(data.wallet.cash),
Number(data.wallet.cash) / 100,
);
enqueueSnackbar("Тариф успешно приобретён");
} catch (e) {
enqueueSnackbar("Произошла ошибка. Попробуйте позже");
}
//Развращаем товары в корзину
inCart();
} else {
//Деняк не хватило
// history.pushState({}, null, "https://hub.pena.digital/wallet?action=squizpay");
var link = document.createElement("a");
link.href = `https://${isTestServer ? "s" : ""}hub.pena.digital/quizpayment?action=squizpay&dif=${Math.round(
price * 100 - cashCop,
)}&data=${token}&userid=${userId}`;
document.body.appendChild(link);
link.click();
try {
const data = await makeRequest({
method: "POST",
url: process.env.REACT_APP_DOMAIN + "/customer/cart/pay",
});
console.log(data);
setCash(
currencyFormatter.format(Number(data.wallet.cash) / 100),
Number(data.wallet.cash),
Number(data.wallet.cash) / 100,
);
enqueueSnackbar("Тариф успешно приобретён");
} catch (e) {
//если денег не хватило
if (e.response.data.message.includes("insufficient funds")) {
let cashDif = Number(e.response.data.message.split(":")[1]);
var link = document.createElement("a");
link.href = `https://${isTestServer ? "s" : ""}hub.pena.digital/quizpayment?action=squizpay&dif=${cashDif}&data=${token}&userid=${userId}`;
document.body.appendChild(link);
link.click();
}
//другая ошибка
enqueueSnackbar("Произошла ошибка. Попробуйте позже");
}
//Развращаем товары в корзину
inCart();
};
const filteredTariffs = tariffs.filter((tariff) => {