From a5e2079ddca0029e0210c54b45214675202f4d28 Mon Sep 17 00:00:00 2001 From: "web@ppanel" Date: Sat, 8 Mar 2025 20:04:33 +0700 Subject: [PATCH] =?UTF-8?q?=F0=9F=90=9B=20fix(payment):=20Refactor=20purch?= =?UTF-8?q?aseCheckout=20usage=20and=20remove=20redundant=20code?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- apps/user/app/(main)/(user)/payment/page.tsx | 5 ++++- apps/user/components/subscribe/purchase.tsx | 12 +----------- apps/user/components/subscribe/recharge.tsx | 10 ---------- apps/user/components/subscribe/renewal.tsx | 12 +----------- apps/user/components/subscribe/reset-traffic.tsx | 10 ---------- 5 files changed, 6 insertions(+), 43 deletions(-) diff --git a/apps/user/app/(main)/(user)/payment/page.tsx b/apps/user/app/(main)/(user)/payment/page.tsx index 4226f1d..4cc7570 100644 --- a/apps/user/app/(main)/(user)/payment/page.tsx +++ b/apps/user/app/(main)/(user)/payment/page.tsx @@ -49,12 +49,15 @@ export default function Page() { const { data: payment } = useQuery({ enabled: !!orderNo && data?.status === 1, - queryKey: ['checkoutOrder', orderNo], + queryKey: ['purchaseCheckout', orderNo], queryFn: async () => { const { data } = await purchaseCheckout({ orderNo: orderNo!, returnUrl: window.location.href, }); + if (data.data?.type === 'link' && data.data.checkout_url) { + window.location.href = data.data.checkout_url; + } return data?.data; }, }); diff --git a/apps/user/components/subscribe/purchase.tsx b/apps/user/components/subscribe/purchase.tsx index 4ec165f..8abf49e 100644 --- a/apps/user/components/subscribe/purchase.tsx +++ b/apps/user/components/subscribe/purchase.tsx @@ -5,7 +5,6 @@ import DurationSelector from '@/components/subscribe/duration-selector'; import PaymentMethods from '@/components/subscribe/payment-methods'; import useGlobalStore from '@/config/use-global'; import { preCreateOrder, purchase } from '@/services/user/order'; -import { purchaseCheckout } from '@/services/user/portal'; import { useQuery } from '@tanstack/react-query'; import { Button } from '@workspace/ui/components/button'; import { Card, CardContent } from '@workspace/ui/components/card'; @@ -70,20 +69,11 @@ export default function Purchase({ subscribe, setSubscribe }: Readonly) { const response = await recharge(params); const orderNo = response.data.data?.order_no; if (orderNo) { - const { data } = await purchaseCheckout({ - orderNo, - returnUrl: `${window.location.origin}/payment?order_no=${orderNo}`, - }); - const type = data.data?.type; - const checkout_url = data.data?.checkout_url; - if (type === 'link') { - window.location.href = checkout_url!; - } router.push(`/payment?order_no=${orderNo}`); setOpen(false); } diff --git a/apps/user/components/subscribe/renewal.tsx b/apps/user/components/subscribe/renewal.tsx index c8faf58..5b884d4 100644 --- a/apps/user/components/subscribe/renewal.tsx +++ b/apps/user/components/subscribe/renewal.tsx @@ -5,7 +5,6 @@ import DurationSelector from '@/components/subscribe/duration-selector'; import PaymentMethods from '@/components/subscribe/payment-methods'; import useGlobalStore from '@/config/use-global'; import { preCreateOrder, renewal } from '@/services/user/order'; -import { purchaseCheckout } from '@/services/user/portal'; import { useQuery } from '@tanstack/react-query'; import { Button } from '@workspace/ui/components/button'; import { Card, CardContent } from '@workspace/ui/components/card'; @@ -78,20 +77,11 @@ export default function Renewal({ id, subscribe }: Readonly) { const response = await renewal(params as API.RenewalOrderRequest); const orderNo = response.data.data?.order_no; if (orderNo) { - const { data } = await purchaseCheckout({ - orderNo, - returnUrl: `${window.location.origin}/payment?order_no=${orderNo}`, - }); - const type = data.data?.type; - const checkout_url = data.data?.checkout_url; - if (type === 'link') { - window.location.href = checkout_url!; - } getUserInfo(); router.push(`/payment?order_no=${orderNo}`); } } catch (error) { - console.log(error); + /* empty */ } }); }, [params, router, getUserInfo]); diff --git a/apps/user/components/subscribe/reset-traffic.tsx b/apps/user/components/subscribe/reset-traffic.tsx index 33640a8..288a937 100644 --- a/apps/user/components/subscribe/reset-traffic.tsx +++ b/apps/user/components/subscribe/reset-traffic.tsx @@ -3,7 +3,6 @@ import { Display } from '@/components/display'; import useGlobalStore from '@/config/use-global'; import { resetTraffic } from '@/services/user/order'; -import { purchaseCheckout } from '@/services/user/portal'; import { Button } from '@workspace/ui/components/button'; import { Dialog, @@ -85,15 +84,6 @@ export default function ResetTraffic({ id, replacement }: Readonly