import React, { useEffect, useState } from "react"; import Footer from "@/components/Footer"; import { useRouter } from "next/router"; import { useMutation, ApolloProvider } from "@apollo/client"; import { gql } from "@apollo/client"; import { apolloClient } from "@/lib/apollo"; import toast from "react-hot-toast"; import MetaTags from "../../components/MetaTags"; import { getMetaByPath } from "../../lib/meta-config"; const CONFIRM_PAYMENT = gql` mutation ConfirmPayment($orderId: ID!) { confirmPayment(orderId: $orderId) { id orderNumber status } } `; function PaymentSuccessContent() { const router = useRouter(); const [paymentId, setPaymentId] = useState(null); const [orderId, setOrderId] = useState(null); const [confirmPayment] = useMutation(CONFIRM_PAYMENT); useEffect(() => { // Получаем параметры из URL const { payment_id, orderId, orderNumber } = router.query; if (payment_id) { setPaymentId(payment_id as string); } if (orderId) { setOrderId(orderId as string); // Проверяем авторизацию перед обновлением статуса const userData = localStorage.getItem('userData'); console.log('PaymentSuccess: userData из localStorage:', userData); if (!userData) { console.log('PaymentSuccess: пользователь не авторизован, пропускаем обновление статуса'); return; } // Автоматически подтверждаем оплату заказа console.log('PaymentSuccess: подтверждаем оплату заказа', orderId); confirmPayment({ variables: { orderId: orderId as string } }).then(() => { console.log('Оплата заказа подтверждена'); toast.success('Оплата успешно подтверждена!', { duration: 3000, icon: '✅', }); }).catch((error: any) => { console.error('Ошибка подтверждения оплаты:', error); toast.error('Ошибка подтверждения оплаты: ' + error.message, { duration: 5000, }); }); } }, [router.query, confirmPayment]); const handleContinueShopping = () => { router.push('/catalog'); }; const handleViewOrders = () => { router.push('/profile-orders'); }; return ( <>
Главная
Оплата завершена
{/* Иконка успеха */}
{/* Заголовок */}

Оплата прошла успешно!

{/* Описание */}
Спасибо за ваш заказ! Оплата была успешно обработана. Мы отправили подтверждение на вашу электронную почту.
{/* Информация о заказе */} {(paymentId || orderId) && (

Детали платежа

{orderId && (
Номер заказа: {orderId}
)} {paymentId && (
ID платежа: {paymentId}
)}
)} {/* Кнопки действий */}
{/* Дополнительная информация */}

Что дальше?

  • Мы обработаем ваш заказ в течение 1-2 рабочих дней
  • Вы получите уведомление о статусе заказа на email
  • Отслеживать заказ можно в разделе "Мои заказы"
  • При вопросах обращайтесь в службу поддержки