자동결제 시 catch 부분이 작동하지 않습니다.
현재 테스트 단계입니다.
리액트를 사용중이고 해당 함수는 컴포넌트 바깥에서 선언하여 컴포넌트 내부 버튼을 누를 시 작동하도록 설계했습니다.
iframe으로 렌더 된 UI 에서
카드 등록 성공 시 successUrl로 잘 이동 되지만,
닫기 버튼을 눌렀을 때 해당 화면에서 리로드 되기만 합니다.
(iframe 내부에서인듯)
catch 블록에서 cancelPayments를 실행해보려고 시도했으나 error가 해당 catch에서 잡히질 않습니다.
다만, 크롬 개발자 도구에 콘솔은 출력이 됩니다.
requestPayments 메서드를 사용했을 땐 catch가 잘 작동하는데 제가 뭘 놓친걸까요??

12 Replies
⏳ 잠시만 기다려주세요! 곧 답변드리겠습니다
오류 문의일 경우 아래 정보를 미리 전달해주시면, 빠른 답변에 도움이 됩니다.
- 주문번호(orderId) :
- 문의 내용 :
(img를 함께 첨부해주시면 도움이됩니다)
* 계약관련 내용은 1544-7772로 문의주세요.
* 주말/공휴일에는 답변이 늦을 수 있어요.
빌링 결제창은 promise 지원 하지 않습니다.
❤️ 기술문의 경험이 어떠셨나요?!
간단히 코멘트 남겨주세요! 제품 발전에 큰 힘이 됩니다.
해당 화면에서 닫기 버튼을 클릭시 iframe이 계속 리로드 되는 상황입니다.
해당 iframe을 닫을 수 없어 새로고침해야 하는 상황인데
이벤트 감지를 할 수 없는걸까요??
promise 지원하지 않기 때문에,
succesUrl 로 이동 되면 저 화면은 이제 보지 않게 되실것 같은데
그럼에도 이벤트가 필요하실까요?
닫기 버튼이라 함은,
아무것도 수행하지 않고 뭔가 다른 액션을 수행 했다는 의미 이실까요?
아무런 액션 없이 해당 화면에서 x 버튼을 눌렀을 경우였습니다.
일시적인 오류가 발생했습니다.
이미 결제가 완료되었습니다
라는 UI가 렌더 됩니다 (iframe 내부)
개발자 도구 Elements 탭에서 UI를 확인해보니
`html`
<a class="p-button p-button--default p-button--inline p-button--fill p-button--default padding--base" aria-disabled="false" href="/pc/cancel?paymentMethod=CARD&token=a0dd22f2f4ff41d6ad4caf7d2c2e3be4e8efb64948a947ab8a03029aa1a37922&gtid=">닫기</a>
닫기 버튼에 href가 해당 UI 페이지 url를 가리키고 있어 iframe이 닫히지 않고 계속 같은 UI가 렌더되는 것 같습니다.
저는 금방 공유드린 UI에서 x 버튼을 눌렀을 때 iframe이 닫히도록 구현하고싶었습니다.
음 구현하신 방법을 조금 더 자세히 알아야 제가 재현을 해볼수 있을것 같습니다.
저는 html header 에 script 추가해서 빌링창 호출하고 있는데, X 버튼 누르면 그냥 닫힙니다.
1) jsSDK 추가는 어떻게 하고 있으신가요? html header 에 script 추가 인가요? 아니면 다른 방식을 사용하고 있으신가요?
2) 혹 창 호출은 frame 또는 iframe 태그 위에서 수행하고 있으신가요?
상황 확인 했습니다.
테스트키로 진행 했을때 재현완료 했습니다.
이 내용은 내부팀에 전달 하도록 하겠습니다
라이브키로 했을때는 X 버튼 동작 문제없이 진행되는 것으로 보여서
라이브키로 X 버튼 액션 한번 수행 해보시겠어요?
테스트 환경에서도 X 버튼 동작 하도록 핫픽스 배포 했습니다.
확인 해보시고 문제 있으시면 말씀 주세요!
아 지금 확인하니 수정 된 부분 적용되어 해결됐습니다!
테스트 클라이언트 키로 진행하고 @tosspayments/payment-sdk 을 설치한 상태로 진행했었습니다.
감사합니다!
저는 아직도 테스트 환경에서 동일한 오류가 납니다.
@tosspayments/payment-sdk
1.7.0
버전 사용중입니다.확인 후 안내드리겠습니다.
어떤 에러창 발생 중일까요?
@Jacob Kim 다시 확인 부탁 드립니다.
디스코드가 익숙치 않아 답변이 늦었습니다. 지금은 테스트 환경에서도 잘 동작합니다.