activeX 에서 Non-active로 변경 하는중 에러
현재 가이드를 보고 진행 중인데 결제창을 iframe으로 띄우는 닫기나, 결제정보를 전달하려고 할 때 cross-origin에러가 발생합니다.
보안상의 에러라는데 어떤방법으로 해결해야 될지 모르겠습니다.

49 Replies
⏳ 잠시만 기다려주세요! 곧 답변드리겠습니다
오류 문의일 경우 아래 정보를 미리 전달해주시면, 빠른 답변에 도움이 됩니다.
- 주문번호(orderId) :
- 문의 내용 :
(img를 함께 첨부해주시면 도움이됩니다)
* 계약관련 내용은 1544-7772로 문의주세요.
* 주말/공휴일에는 답변이 늦을 수 있어요.
iframe을 띄우는 도메인과 return 도메인이 달라져서 그렇습니다. 기본적으로는 동일한 도메인을 사용하셔야 합니다.
결제창에서 CORS 대응하기
콘솔창에서 이런 에러 만나본 적 있으시죠? 이번 아티클에서는 CORS를 알아보고 토스페이먼츠 결제창에서 CORS 에러를 만났을 때 해결하는 방법도 알아봅니다.
return 되는 도메인은 어떻게 확인해야 할까요
결제 시작되는 사이트 도메인하고
LGD_RETURNURL 로 넘기는 도메인을 비교 해보시겠어요?
결제 시작하는 사이트 도메인은 https://www.emti.or.kr이고 returnurl 로 넘기는 주소는 https://www.emti.or.kr/lgdacom/returnurl.jsp 이렇게 되어있습니다
네네 맞습니다
도메인 주소를 보니 접근할 수 있을것 같은데,
결제 테스트 어떻게 진행 해볼수 있을까요?
추가로, 저희가 전달하는 변경가이드 확인 하시고 있으신것도 맞을까요?
https://docs.google.com/document/d/1usEqVc__Y9l-8k2rXzWGPRQoXuSDRSmlQiLHOU8EEHg/edit
Google Docs
ActiveX to Non-ActiveX 변경가이드
https://www.emti.or.kr/member/member_edu_history.jsp 아이디 jmg921223
비밀번호 12345678 로 로그인하시면 교육에서 결제하기 누르시면 테스트 가능합니다
변경가이드는 같은 가이드 참고하고 변경하였습니다
아 교육 들어가시면
https://www.emti.or.kr/member/member_edu_reg_cource_ok.jsp?LECT_ID=188&APL_LECT_SEQ=15356 여기주소에서 https://www.emti.or.kr/member/member_edu_reg_cource_ok_test.jsp?LECT_ID=188&APL_LECT_SEQ=15356 로 접근하시면 될거같습니다
<input type="hidden" name="LGD_RETURNURL" id="LGD_RETURNURL" value="https://emti.or.kr/lgdacom/returnurl.jsp">
고정 값으로 이렇게 되어 있습니다.
정말 혹시 모르니, www 추가 해서 배포 해주시겠어요?
www 넣어서 배포하니 이제 다른 오류가 발생합니다

아마 이 payment_return에서 객체에 접근할떄 값이 없어서 뜨는 에러같은데 이런경우는 어떻게 조치해야하나요

제가 진행 했을때 인증은 성공 했습니다.
alert 빼주시고, 인증 성공 값 받아서 바로 승인 될 수 있도록 해주세요.

결제완료를 눌렀을때와 닫기를 눌렀을때 이와 같은 에러가 발생합니다

returnurl에서는 인증 성공했다고 나오구여

우선 소스는 모두 수정전으로 원복해주시고
member_edu_reg_cource_ok_test.jsp
returnurl.jsp
이 두 파일을 techsupport@tosspayments.com 으로 보내주실수 있으실까요?
매뉴얼상의 수정내용과 일부 맞지 않는 부분이 있어, 좀 꼬인것 같습니다. 두 파일 보내주시면 확인후 회신드리겠습니다
메일로 보내드렸습니다
네 수신확인했습니다. 확인후 회신드리겠습니다
❤️ 기술문의 경험이 어떠셨나요?!
간단히 코멘트 남겨주세요! 제품 발전에 큰 힘이 됩니다.
메일회신드렸습니다. 혹시 테스트 페이지는 test 모드로 설정하신것일까요?
회신드린 내용에는
<script language="javascript" src="https://xpayvvip.tosspayments.com/xpay/js/xpay_crossplatform.js" type="text/javascript"></script>
로 설정했는데, 위 url은 운영용이기 때문에, 테스트모드일때는 스크립트 주소만 아래 주소로 변경 후 테스트 부탁드립니다.
<script language="javascript" src="https://pretest.tosspayments.com:9443/xpay/js/xpay_crossplatform.js" type="text/javascript"></script>
파일전달드린후 사이트에서 테스트시 아래 에러가 발생하는데요
org.apache.jasper.JasperException: Unable to compile class for JSP:
An error occurred at line: 333 in the jsp file: /member/member_edu_reg_cource_ok_test.jsp
LGD_WINDOW_TYPE cannot be resolved to a variable
330: /*
331: * 수정불가.
332: /
333: var LGD_window_type = '<%=LGD_WINDOW_TYPE%>';
334:
335: /
336: * 수정불가
아래부분 추가로 수정해보시기 바랍니다
수정전:
var LGD_window_type = '<%=LGD_WINDOW_TYPE%>';
수정후
var LGD_window_type = 'iframe';
네네 방금 찾아서 수정했습니다
넵 위에 안내주신 테스트페이지를 들어가면 나의수강내역-결제가 빈 공백으로 나오는데, 혹시 확인되실까요?
수정했는데 다시 한번 확인해보실래여??
혹시 성공했을떄 payres로 값을보내줘서 디비 처리를 해줘야하는데 payres로 넘기는건 returnurl 페이지에서 처리해 ㅜ줘야하나여?
네 정상적으로 결제창호출됩니다.
현재 payres는 /education/edu_req_cource_pay_test.jsp 로 지정되어 있습니다.
결제창 호출페이지의 아래 부분을 payres로 지정하시면 됩니다. payres에서 승인요청 및 승인결과를 받습니다.

여기를 동일한 주소로 변경해주세요, 그럼 returnurl 에서 여기에 지정한 url로 넘어갈겁니다.
여기부분 보면은

취소나 닫기를 눌렀을떄 alert로 코드와 메세지를 출력하게 되어있는데
이 부분이 실행이 안되고 그냥 returnurl에서 만들어 주는 화면으로 떠버리는데
일단 결제진행이 끝까지 진행은 되시나요?
일단 여기까지는 문제없이 진행됩니다

payment_return 함수타서 값이랑 전달해야되는데 저기를 안타서 지금 디비처리가 안되는거 같아여
여기서 payres 로 submit이 되어야 하는데, 스크립트 에러가 나면서 진행이 안되는 것이죠?
네네
네 추가로 좀더 보고 회신드리겠습니다.

콘솔 에러입니다
dk
아 returnurl에 도메인쪽에 www. 생략되서 오류뜨는거였어요

지금 웹소스보기를 하면 아래와 같이 되어 있는데요
<input type="hidden" name="LGD_RETURNURL" id="LGD_RETURNURL" value="https://emti.or.kr/lgdacom/returnurl.jsp">
이걸 아래와 같이 수정해보시겠어요?
<input type="hidden" name="LGD_RETURNURL" id="LGD_RETURNURL" value="https://www.emti.or.kr/lgdacom/returnurl.jsp">
수정해서 DB처리까지 확인했습니다 감사합니다
네 크롬하고 엣지에서 정상적으로 결제진행이 됬을까요?
네네 일단은 정상적으로 진행되는거 같습니다. 테스트 후에 문의사항 있으면 말씀 드리겠습니다. 감사합니다
안녕하세요 혹시 결제완료 후 주문번호를 DB에 저장하고 싶은데 LGD_OID이 값을 받아서 저장하면 되나여?
네
혹시 토스에서는 결제가 정상적으로 이루어졌는지 아닌지를 어떤 값으로 확인하나요??
상점관리자 로그인 하신후 주문번호로 결제 조회하시면 됩니다.
결제모듈상의 응답결과는
xpay.m_szResCode = "0000" 일때 결제성공, 이외는 결제실패입니다
기존에 active-x 방식으로 이미 연동해서 사용하셨다면, 이 부분은 따로 수정할 곳은 없습니다.