bootpay / bootpay_js

부트페이 Javascript Library
12 stars 1 forks source link

부트페이 실행시 페이지 뒤로가기 후 다시 부트페이를 실행하면 undefined 오류가 발생합니다. #11

Closed imki123 closed 1 year ago

imki123 commented 1 year ago

안녕하세요. 리액트에서 부트페이 사용 중에 오류가 발생하고있습니다. bootpay-js 라이브러리 이슈인지 확인 요청드립니다.

bootpay commented 1 year ago

먼저 현재 v1 SDK를 사용중이시지만 현재 권장되는 버전은 v2 SDK 입니다. https://docs.bootpay.co.kr 로 오시면 v2 SDK에 대한 개발 가이드를 확인하실 수 있습니다.

부득이하게 v1 SDK를 사용하셔야한다면 다음과 같이 안내드립니다.

해당 증상은 request 가 호출되어 부트페이 창이 뜬 이후 history router로 이동 후에 다시 돌아오게 되면 full change reload가 되지 않는다면 기존 부트페이 창 dom이 남아있게 되어 오류가 발생되게 됩니다.

보통은 버튼에 이벤트를 주어 페이지를 로드하고 iframe으로 결제 완료 및 결제 취소등의 이벤트를 받아 관련 dom과 이벤트 정보를 destroy하지만 진행도중 중간에 hash change혹은 history push를 트리거로 react에서 다른 dom으로 대체되어 제대로 제거가 되지 않은 상태라면 위와 같은 문제가 발생될 수 있습니다.

BootPay.request() 함수 호출 이전에 BootPay.removePaymentWindow() 를 추가로 호출하셔서 이 문제를 해결해주시기 바랍니다.

추가적으로 BootPay.request() 가 DOM Loaded Event ( Document Ready ) 상태에서 호출되지 않는다면 이와 유사한 문제가 발생될 수 있습니다.

위 2가지를 확인 후 수정 부탁드립니다.

두가지를 해보시고 해결되셨다면 피드백 부탁드립니다. 자세한 문의는 https://admin.bootpay.co.kr 부트페이 관리자로 오신 후 오른쪽 하단 채널톡으로 문의하시면 더 자세히 안내받으실 수 있습니다.

imki123 commented 1 year ago

@bootpay BootPay.removePaymentWindow() 추가로 호출하니 정상적으로 동작합니다. 답변 감사합니다.

bootpay commented 1 year ago

@imki123 피드백 감사드립니다! 해당 이슈는 닫도록 하겠습니다. 감사합니다.