From cd7c6ffbaf64d08dd4825f139c4fbfd626a28d87 Mon Sep 17 00:00:00 2001 From: Hemant Vishwakarma Date: Thu, 23 Apr 2026 18:33:33 +0530 Subject: [PATCH] change payment success file and cards endpoints --- src/Redux/services/cards.service.ts | 8 ++++---- src/pages/PaymentSuccessPage.tsx | 31 +++++++++++++++-------------- 2 files changed, 20 insertions(+), 19 deletions(-) diff --git a/src/Redux/services/cards.service.ts b/src/Redux/services/cards.service.ts index efac3eb..a35d083 100644 --- a/src/Redux/services/cards.service.ts +++ b/src/Redux/services/cards.service.ts @@ -43,7 +43,7 @@ export const cardsApi = createApi({ }), payForCard: builder.mutation({ - query: (id) => ({ + query: (id) => ({ url: `/website/passes/${id}/pay`, method: "POST", body: {}, @@ -51,10 +51,10 @@ export const cardsApi = createApi({ }), confirmCardPayment: builder.mutation({ - query: (id) => ({ - url: `/website/passes/${id}/confirm-payment`, + query: ({ bookingId, paymentIntentId }: { bookingId: string; paymentIntentId: string }) => ({ + url: `/website/passes/${bookingId}/confirm-payment`, method: "POST", - // body: id, + body: { paymentIntentId }, // ✅ send paymentIntentId to backend }), }), diff --git a/src/pages/PaymentSuccessPage.tsx b/src/pages/PaymentSuccessPage.tsx index 0f6fb1e..bfd2ab0 100644 --- a/src/pages/PaymentSuccessPage.tsx +++ b/src/pages/PaymentSuccessPage.tsx @@ -15,7 +15,6 @@ interface PaymentSuccessPageProps { user?: { email: string; name: string } | null; } -// Helper to get cookie value const getCookie = (name: string): string | null => { const value = `; ${document.cookie}`; const parts = value.split(`; ${name}=`); @@ -39,34 +38,36 @@ export function PaymentSuccessPage({ useEffect(() => { const confirm = async () => { - // Try all possible sources + // 1️⃣ Get bookingId from storage / cookie let bookingId = getCookie('pendingBookingId'); if (!bookingId) bookingId = localStorage.getItem('pendingBookingId'); if (!bookingId) bookingId = sessionStorage.getItem('pendingBookingId'); if (!bookingId) bookingId = searchParams.get('bookingId'); - console.log('Retrieved bookingId from sources:', { - cookie: getCookie('pendingBookingId'), - localStorage: localStorage.getItem('pendingBookingId'), - sessionStorage: sessionStorage.getItem('pendingBookingId'), - queryParam: searchParams.get('bookingId'), - final: bookingId, - }); + // 2️⃣ Get payment_intent from URL (Stripe redirect) + const paymentIntentId = searchParams.get('payment_intent'); + + console.log('🔍 Retrieved data:', { bookingId, paymentIntentId }); if (!bookingId) { setStatus('error'); - setErrorMsg( - 'Booking ID not found. Please contact support with your order details. ' + - 'If you just completed payment, your order may still be processing.' - ); + setErrorMsg('Booking ID not found. Please contact support.'); + return; + } + + if (!paymentIntentId) { + setStatus('error'); + setErrorMsg('Payment intent missing. Please contact support.'); return; } try { - await confirmPayment(bookingId).unwrap(); + // 3️⃣ Call confirm endpoint with paymentIntentId + await confirmPayment({ bookingId, paymentIntentId }).unwrap(); setStatus('success'); toast.success('Payment confirmed! Your order is complete.'); - // Clean up all storage + + // 4️⃣ Clean up stored bookingId document.cookie = 'pendingBookingId=; expires=Thu, 01 Jan 1970 00:00:00 UTC; path=/;'; localStorage.removeItem('pendingBookingId'); sessionStorage.removeItem('pendingBookingId');