김퓨전
김퓨전5mo ago

구 XPay 결제연동 마무리가 되지 않고 있습니다

기존에 XPayClient 로 결제 기능이 작동중이던 서비스가 프로젝트 war 파일을 새로 배포하면서 동작하지 않고 있습니다. 처음에는 결제 팝업창엔 사진처럼 뜨고 개발자 콘솔에는 Refused to display '도메인명' in a frame because it set 'X-Frame-Options' to 'sameorigin'. 라는 오류가 출력되어서 건든적 없는 서버의 web.xml 에서 sameorigin 이 존재하는 httpHeaderSecurity를 주석 처리하고 customHeaderFilter 라는 필터를 만들어서 httpResponse.setHeader("Content-Security-Policy", "frame-ancestors 'self' https://payment-gateway.tosspayments.com"); 를 추가해줬습니다. 이후에는 다시 아래와 같은 에러가 나오며 Refused to frame '도메인명' because an ancestor violates the following Content Security Policy directive: "frame-ancestors 'self' https://payment-gateway.tosspayments.com". 접근 방법이 잘못되었나 하는 의구심이 듭니다..
No description
13 Replies
토스페이먼츠 BOT
⏳ 잠시만 기다려주세요! 곧 답변드리겠습니다
오류 문의일 경우 아래 정보를 미리 전달해주시면, 빠른 답변에 도움이 됩니다.
- 주문번호(orderId) : - 문의 내용 :
(img를 함께 첨부해주시면 도움이됩니다)
* 계약관련 내용은 1544-7772로 문의주세요. * 주말/공휴일에는 답변이 늦을 수 있어요.
Kimoon Lee
Kimoon Lee5mo ago
웹서버 쪽에 Content Security Policy 세팅을 하신것 같습니다. 일단 해당 세팅을 제거하고 확인부탁드립니다.
김퓨전
김퓨전OP5mo ago
서버쪽 Content Security Policy 세팅을 하게 된 계기는 이전에 개발자도구 콘솔에 Refused to display '도메인명' in a frame because it set 'X-Frame-Options' to 'sameorigin'. 라는 오류가 찍혀서 입니다. 혹시 세팅 제거 후 해당 오류는 어떻게 조치하면 좋을까요?
Kimoon Lee
Kimoon Lee5mo ago
그건 X-Frame-Options 을 삭제하거나 수정해 주시면 될텐데요. 그리고 혹시 주문서 페이지와 returnURL 의 도메인이 다르신가요?
김퓨전
김퓨전OP5mo ago
주문서 페이지(윈도우팝업창) 의 URL 과 returnURL 은 동일합니다
Kimoon Lee
Kimoon Lee5mo ago
Refused to display '도메인명' in a frame because it set 'X-Frame-Options' to 'sameorigin'. 이 에러가 어떤 URL 로 이동할때 찍힌건지 봐야 합니다. 혹시 결제창이 아예 안뜬건가요?
김퓨전
김퓨전OP5mo ago
결제창 정상적으로 떳고 returnUrl 까지 정상 진입 했습니다. 결제 비밀번호 치고 나서 결제완료가 되어야 하는데 마무리가 안되고 나오는 오류입니다. <filter> <filter-name>httpHeaderSecurity</filter-name> <filter-class>org.apache.catalina.filters.HttpHeaderSecurityFilter</filter-class> <init-param> <param-name>antiClickJackingOption</param-name> <param-value>SAMEORIGIN</param-value> </init-param> </filter> 해당하는 필터입니다
Kimoon Lee
Kimoon Lee5mo ago
결제비밀번호 라는게 어떤걸 말씀하시는 건가요?
김퓨전
김퓨전OP5mo ago
클라이언트가 상품을 구매 후 결제 시도하는 행위를 말하는 겁니다
Kimoon Lee
Kimoon Lee5mo ago
일단 관련 필터를 모두 빼고 테스트 해주셔야 할것 같습니다.
김퓨전
김퓨전OP5mo ago
넵 일단 진행 해보도록 하겠습니다. 감사합니다 관련 필터 전부 주석처리 하고나니 Refused to display 'https://www.rais.co.kr/' in a frame because it set multiple 'X-Frame-Options' headers with conflicting values ('sameorigin, DENY'). Falling back to 'deny' 라고 오류가 나옵니다. 부모창과 자식창(결제를 위한 팝업창)의 도메인이 동일함에도 불구하고 기존 필터조건인 sameorigin 이 왜 문제가 되는지 모르겠습니다..
Ayaan이안
Ayaan이안5mo ago
메시지로 보니 DENY랑 sameorigin이 다 같이 전송이 오고있는거 같아요. DENY를 넣는 부분이 없는지 다시한번.. .확인해주세요
토스페이먼츠 BOT
❤️ 기술문의 경험이 어떠셨나요?!
간단히 코멘트 남겨주세요! 제품 발전에 큰 힘이 됩니다.

Did you find this page helpful?