'use client'; import React, { useEffect, useMemo, useState } from 'react'; import Link from 'next/link'; import { CreditCard, Landmark, RefreshCw, ShieldCheck, Smartphone, Wallet } from 'lucide-react'; import { AnnouncementBar } from '@/layout/AnnouncementBar'; import { Header } from '@/layout/Header'; import { Navbar } from '@/layout/Navbar'; import { Footer } from '@/layout/Footer'; import { StickyHeaderSpacer } from '@/components/StickyHeaderSpacer'; import { FloatingButtons } from '@/components/FloatingButtons'; import { storefrontService, type FooterInfo, type StorefrontSettings, MOCK_FOOTER_INFO, } from '@/services/api/storefrontService'; import { buildPaymentsDoc } from '@/lib/paymentsContent'; import { PaymentMethodBadges } from '@/components/PaymentMethodBadges'; const HIGHLIGHT_ICONS = { cards: CreditCard, upi: Smartphone, netbanking: Landmark, wallets: Wallet, } as const; function telHref(phone: string): string { return `tel:${phone.replace(/[^\d+]/g, '')}`; } export default function PaymentsPage() { const [footer, setFooter] = useState(MOCK_FOOTER_INFO); const [settings, setSettings] = useState({ store_name: 'iFixKart' }); useEffect(() => { let cancelled = false; Promise.all([ storefrontService.getFooterInfo(), storefrontService.getSettings(), ]).then(([info, store]) => { if (cancelled) return; if (info) setFooter(info); if (store) setSettings(store); }); return () => { cancelled = true; }; }, []); const storeName = settings.store_name || 'iFixKart'; const phone = footer.phone || settings.support_phone || ''; const email = footer.email || ''; const doc = useMemo(() => buildPaymentsDoc(storeName), [storeName]); const methods = (footer.payment_methods || []).filter((p) => p?.name || p?.icon_url); return (

{doc.heading}

{doc.intro}

{doc.highlights.map((item) => { const Icon = HIGHLIGHT_ICONS[item.id as keyof typeof HIGHLIGHT_ICONS] || CreditCard; return (

{item.title}

{item.detail}

); })}

We accept

Checkout is processed on a secure payment page. Last updated: 11 September 2026

{doc.sections.map((section) => (

{section.title}

{section.paragraphs.map((p, i) => (

{p}

))}
))}

Need help with a payment?

Share your order number and payment reference with {storeName} support. You can also read{' '} payment FAQs {' '} or our{' '} Terms & Policy .

{email ? (

Email:{' '} {email}

) : null} {phone ? (

Phone:{' '} {phone}

) : null}

Monday to Saturday, 10:00 AM – 6:30 PM

); }