From 44cadaee3c5a62516753c317e5b5afd19a3f45d9 Mon Sep 17 00:00:00 2001 From: HyeonJongKim Date: Thu, 13 Nov 2025 19:51:33 +0900 Subject: [PATCH] =?UTF-8?q?-=20=EB=A7=81=ED=81=AC=EA=B2=B0=EC=A0=9C=20?= =?UTF-8?q?=EA=B2=B0=EC=A0=9C=EC=8B=A0=EC=B2=AD=ED=99=95=EC=9D=B8,?= =?UTF-8?q?=EC=99=84=EB=A3=8C=20=ED=8E=98=EC=9D=B4=EC=A7=80=20=EB=92=A4?= =?UTF-8?q?=EB=A1=9C=EA=B0=80=EA=B8=B0=20=EB=B2=84=ED=8A=BC=20=EC=82=AD?= =?UTF-8?q?=EC=A0=9C?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../apply/link-payment-apply-confirm-page.tsx | 32 +++++++++++++++---- .../apply/link-payment-apply-success-page.tsx | 2 +- 2 files changed, 26 insertions(+), 8 deletions(-) diff --git a/src/pages/additional-service/link-payment/apply/link-payment-apply-confirm-page.tsx b/src/pages/additional-service/link-payment/apply/link-payment-apply-confirm-page.tsx index 2ad2852..2a827f4 100644 --- a/src/pages/additional-service/link-payment/apply/link-payment-apply-confirm-page.tsx +++ b/src/pages/additional-service/link-payment/apply/link-payment-apply-confirm-page.tsx @@ -19,9 +19,19 @@ export const LinkPaymentApplyConfirmPage = () => { const { mutateAsync: linkPayRequest } = useExtensionLinkPayRequestMutation(); useSetHeaderTitle(t('additionalService.linkPayment.messagePreview')); - useSetHeaderType(HeaderType.LeftArrow); useSetFooterMode(false); + const getErrorMessage = (errorData: any, validationErrors: any, defaultMessage: string): string => { + // validation 에러가 있으면 첫 번째 에러 메시지 반환 + if (validationErrors && typeof validationErrors === 'object') { + const errorValues = Object.values(validationErrors); + if (errorValues.length > 0 && errorValues[0]) { + return errorValues[0] as string; + } + } + return errorData?.message || defaultMessage; + }; + const onClickToConfirm = () => { if (!formData) { console.error('Form data is missing'); @@ -50,21 +60,29 @@ export const LinkPaymentApplyConfirmPage = () => { language: formData.language, linkContentType: formData.linkContentType }; + linkPayRequest(requestParams) .then((rs: ExtensionLinkPayRequestResponse) => { if (rs.status) { navigate(PATHS.additionalService.linkPayment.confirmSuccess); } else { - // 일반 에러 메시지 - const errorMessage = rs.error?.message || t('additionalService.linkPayment.requestProcessingError'); + const errorMessage = getErrorMessage( + rs.error, + rs.error?.details?.validationErrors, + t('additionalService.linkPayment.requestProcessingError') + ); snackBar(`[${t('common.failed')}] ${errorMessage}`); } }) .catch((error) => { - const errorMessage = error?.response?.data?.error?.message || - error?.message || - t('additionalService.linkPayment.requestError'); - if (error.response?.data?.error?.root !== "SystemErrorCode") { + const errorData = error?.response?.data?.error; + const errorMessage = getErrorMessage( + errorData, + errorData?.details?.validationErrors, + error?.message || t('additionalService.linkPayment.requestError') + ); + + if (errorData?.root !== "SystemErrorCode") { snackBar(`[${t('common.failed')}] ${errorMessage}`); } else { showAlert(`[${t('common.failed')}] ${errorMessage}`) diff --git a/src/pages/additional-service/link-payment/apply/link-payment-apply-success-page.tsx b/src/pages/additional-service/link-payment/apply/link-payment-apply-success-page.tsx index 7ed2721..34f6381 100644 --- a/src/pages/additional-service/link-payment/apply/link-payment-apply-success-page.tsx +++ b/src/pages/additional-service/link-payment/apply/link-payment-apply-success-page.tsx @@ -9,7 +9,7 @@ export const LinkPaymentApplySuccessPage = () => { const { navigate } = useNavigate(); useSetHeaderTitle(t('additionalService.linkPayment.applyTitle')); - useSetHeaderType(HeaderType.LeftArrow); + //useSetHeaderType(HeaderType.LeftArrow); useSetFooterMode(false); const onClickToHome = () => {