'use client'; import '../style.scss'; import { useSearchParams } from 'next/navigation'; // 토스 SDK 에러 코드 → 사용자 친화 안내 (미매핑 코드는 토스가 전달한 message 사용) const CODE_MESSAGES: Record = { PAY_PROCESS_CANCELED: '결제를 취소했습니다.', PAY_PROCESS_ABORTED: '결제가 중단되었습니다. 다시 시도해주세요.', REJECT_CARD_COMPANY: '카드사에서 결제를 거절했습니다. 다른 결제수단을 이용해주세요.', USER_CANCEL: '결제를 취소했습니다.' }; export default function ChargeFailPage() { const searchParams = useSearchParams(); const code = searchParams.get('code') || ''; const rawMessage = searchParams.get('message') || ''; const message = CODE_MESSAGES[code] || rawMessage || '결제가 취소되었거나 실패했습니다.'; const handleRetry = () => { window.location.href = '/charge'; }; const handleClose = () => { if (window.opener) { window.close(); } else { window.location.href = '/'; } }; return (

{message}

{code &&

오류 코드: {code}

}
); }