iamport-react-example icon indicating copy to clipboard operation
iamport-react-example copied to clipboard

IMP.init() infinite call error

Open juyupsung-fitpet opened this issue 3 years ago • 1 comments

안녕하세요~

  • 맥: Big Sur 11.5.2
  • 크롬: 97.0.4692.99(공식 빌드)
  • 연결된 PG: 토스페이먼츠

이 환경에서 IMP 결제를 하기 위해 아래와 같이 IMP.init()을 호출했습니다.

<script type="text/javascript" src="https://code.jquery.com/jquery-1.12.4.min.js" />
<script type="text/javascript" src="https://cdn.iamport.kr/js/iamport.payment-1.2.0.js" />

const IMP = window.IMP 
IMP.init( IAMPORT.MERCHANT_CODE ) // string marchant_code

local storage에서 https://service.iamport.kr이 제거되었다가 다시 로드되는 무한 반복 현상이 나타납니다.

iamport.payment-1.2.0.js 코드 내부에서 확인했을 때

if ("https://service.iamport.kr" !== d.origin) return !1;

다음에서 사용하는 d.data 값이 "IS_NEED_PIXEL_INJECT"가 들어와 JSON.parse(d.data) 구문에서 파싱 에러 발생 후

r.close();
r.reload();

가 계속 실행되며 반복되는 현상입니다.

그 결과 결제를 실행할 수 없는 상황으로 확인 부탁드릴 수 있을까요?

참고로 시크릿 창에서는 잘 되는 것 확인했으며 일반 크롬에서는 재부팅을 해도 100% 재현됩니다!

resolve

Tiktok pixel 크롬 확장 프로그램을 설치하였을 경우 Iamport init 시 발생하는 문제로 확인되었습니다. 유사 문제를 겪고 계실 분들을 위해 히스토리 남겨둡니다.

juyupsung-fitpet avatar Jan 21 '22 02:01 juyupsung-fitpet

감사합니다. 덕분에 확장 프로그램으로 인한 문제임을 인지하고 빠르게 해결할 수 있었습니다.

저의 경우에는

  • 맥: Monterey 12.1
  • 크롬: 97.0.4692.99 (Official Build)
  • PG: 다날

환경에서 init 시 무한 루프 이슈 발생하였으며 크롬에서 사용중이던 Dark Mode - Night Eye 4.7.2 확장 프로그램 제거 후 해결되었습니다.

크롬 내 특정 확장 프로그램과 아임포트 기능간의 로직 충돌이 있는듯 보이네요.

tinyjin avatar Jan 26 '22 06:01 tinyjin