Toss payments 개발자 커뮤니티Tp개커Toss payments 개발자 커뮤니티
Powered by
진지한사람진
Toss payments 개발자 커뮤니티•2y ago•
17 replies
진지한사람

자동결제 시 catch 부분이 작동하지 않습니다.

    "@tosspayments/payment-sdk": "^1.7.0",
    "@tosspayments/payment-sdk": "^1.7.0",

현재 테스트 단계입니다.

리액트를 사용중이고 해당 함수는 컴포넌트 바깥에서 선언하여 컴포넌트 내부 버튼을 누를 시 작동하도록 설계했습니다.

const loadPayment = async (userId: string) => {
  const tossPayments = await loadTossPayments(clientKey);

  tossPayments
    .requestBillingAuth('카드', {
      customerKey: userId,
      successUrl: `${clientUrl}/credit/purchase?result=success`,
      failUrl: `${clientUrl}/credit/purchase?result=fail`,
    })
    .catch((error: any) => {
      // 여기서 사용자가 결제창을 닫았거나, 기타 오류를 처리합니다.
      if (error.code === 'USER_CANCEL') {
        // 사용자가 결제창을 닫은 경우의 처리 로직
        alert('결제창이 닫혔습니다.');
      }
    });
};
const loadPayment = async (userId: string) => {
  const tossPayments = await loadTossPayments(clientKey);

  tossPayments
    .requestBillingAuth('카드', {
      customerKey: userId,
      successUrl: `${clientUrl}/credit/purchase?result=success`,
      failUrl: `${clientUrl}/credit/purchase?result=fail`,
    })
    .catch((error: any) => {
      // 여기서 사용자가 결제창을 닫았거나, 기타 오류를 처리합니다.
      if (error.code === 'USER_CANCEL') {
        // 사용자가 결제창을 닫은 경우의 처리 로직
        alert('결제창이 닫혔습니다.');
      }
    });
};

iframe으로 렌더 된 UI 에서
카드 등록 성공 시 successUrl로 잘 이동 되지만,
닫기 버튼을 눌렀을 때 해당 화면에서 리로드 되기만 합니다.
(iframe 내부에서인듯)
catch 블록에서 cancelPayments를 실행해보려고 시도했으나 error가 해당 catch에서 잡히질 않습니다.

다만, 크롬 개발자 도구에 콘솔은 출력이 됩니다.
{
    "code": "4246",
    "message": "이미 결제가 완료되었습니다.",
    "data": {
        "bypassMessage": true
    }
}
{
    "code": "4246",
    "message": "이미 결제가 완료되었습니다.",
    "data": {
        "bypassMessage": true
    }
}

requestPayments 메서드를 사용했을 땐 catch가 잘 작동하는데 제가 뭘 놓친걸까요??
2024-02-22_5.50.10.png
Toss payments 개발자 커뮤니티 banner
Toss payments 개발자 커뮤니티Join
Toss payments 개발자 커뮤니티입니다. 결제 연동하며 겪는 기술 문의부터, 결제 시장에 대한 다양한 정보까지 얻어가세요~
15,588Members
Resources
Recent Announcements

Similar Threads

Was this page helpful?

Similar Threads

MCP 서버가 작동하지 않습니다.
hypadev11Hhypadev11 / ❓┃연동개발-문의
7mo ago
계약동의 알림톡의 로그인url이 작동하지 않습니다.
[개발] 이재왕[[개발] 이재왕 / ❓┃연동개발-문의
10mo ago
네이버페이 계약이 완료되었는데 작동하지 않습니다.
JudyJJudy / ❓┃연동개발-문의
12mo ago
상점 관리자 페이지 체크박스가 작동하지 않습니다.
KdhKKdh / ❓┃연동개발-문의
11mo ago