안성현
안성현2y ago

구 XPay 모듈 안드로이드 앱 cleartexttraffic 문제

안녕하세요 서비스중인 앱이 이전 안드로이드 버전에서 만들어져서 현 안드로이드 버전에서 실행이 안되어 버전업 수정을 진행 중입니다 앱은 하이브리드 앱 형태로 안드로이드 웹뷰상에서 화면을 표시 하고 있고 카드결제는 구 Xpay모듈로 되어 있습니다 앱을 수정하여 카드 결제 테스트 중 안드로이드 앱 상에서 ERR_CLEARTEXT_NOT_PERMITTED 에러가 발생합니다 아마도 안드로이드상에서 보안상의 이슈로 http통신을 못하게 하고 있는것 같은데 구 모듈은 http로 밖에 통신이 안되는 걸까요? 대응 방법이 있으면 알려주시기 바랍니다 감사합니다
50 Replies
토스페이먼츠 BOT
⏳ 잠시만 기다려주세요! 곧 답변드리겠습니다
오류 문의일 경우 아래 정보를 미리 전달해주시면, 빠른 답변에 도움이 됩니다.
- 주문번호(orderId) : - 문의 내용 :
(img를 함께 첨부해주시면 도움이됩니다)
* 계약관련 내용은 1544-7772로 문의주세요. * 주말/공휴일에는 답변이 늦을 수 있어요.
유부장
유부장2y ago
AndroidManifest.xml의 application 태그에 android:usesCleartextTraffic="true" 가 추가 되어 있으실까요?
안성현
안성현OP2y ago
네 추가 되어 있다고 합니다
유부장
유부장2y ago
https://nobase-dev.tistory.com/81 여기 내용도 한번 참고 해보실 수 있으실까요? 이는 안드로이드 앱 설정관련 이슈인 것으로 보여집니다
무근본 개발자
[Android][WebView] ERR_CLEARTEXT_NOT_PERMITTED 오류
Android OS 9 Pie 버전부터는 WebView에 일반적인 텍스트로 "http://" URL 접근이 막혔습니다. (tagetSdkVersion 28 이상일 경우)증상 : WebView에서 Webpage not available, net::ERR_CLEARTEXT_NOT_PERMITTED 오류 발생참고 : https://developer.android.com/training/articles/security-config#CleartextTrafficPermitted검색해보니 이를 수정하기 위해서는 3가지 방법이 있습니다. (https://stackoverflow.com/questions/45940861/andr...
유부장
유부장2y ago
결제모듈은 https 문제 없이 지원 합니다. * http 사이트로의 접근이 제한되어 있는지 안드로이드 설정 보셔야 할것 같고 * 결제 모듈 https 문제 없이 지원하니, 기존 http 사이트에 ssl 인증서 적용 하시면 위의 설정은 살펴볼 필요 없으실것 같아요
안성현
안성현OP2y ago
에러 캡처 화면 첨부 합니다
No description
안성현
안성현OP2y ago
저 checkout url 호출시 http로 통신하여 그런거 같습니다 https로 통신 할수 있도록 설정이 따로 있으실까요?
유부장
유부장2y ago
XPay 모듈내에서, lgdacom / conf / mall.conf 의 설정에서 default_secure_protocols 설정이 어떻게 되어 있는지, 결제 요청하는 payreq_crossplatform 에서 JavaScript 가 바라보고 있는 URL 은 어떻게 되어 있는지 확인 해서 업데이트 부탁 드려요 매우 오래전에 연동 하신것으로 보여지네요 이곳에 올려주시면 됩니다
안성현
안성현OP2y ago
네 알겠습니다 확인 후 여기에 회신 드리겠습니다 우선 default_secure_protocols = 2048
유부장
유부장2y ago
Google Docs
XPAY결제모듈공통사항_v.1.0.4
Xpay-결제모듈_공통사항 Protocol and Core Function Specification Version 1.0.4 2023.03 목차 1. 문서 개요 3 2. 결제창 UI 안내 4 3. 지원하는 개발환경 5 4. 시스템 요구사항 5 4.1 공통사항 5 4.2 TLS 1.2를 지원하기 위한 개발언어별 요구사항 5 4.3 하드웨어 및 OS 요구사항 5 5. 가맹점 결제 서버 보안 Check List 6 6. Xpay 결제를 위한 방화벽 설정 6 6.1 결제,취소,부분취소, 현금...
안성현
안성현OP2y ago
javascript의 src를 말씀하시는 걸까요? 그렇다면 https://xpayvvip.uplus.co.kr/xpay/js/xpay_crossplatform.js 입니다 참고로 서비스 하는 도메인은 ssl이 적용 되어 있습니다
유부장
유부장2y ago
정리하면 서비스하는 웹 도메인은 SSL 적용이 되어 있고, 안드로이드 앱 설정에서 http 허용하는 android:usesCleartextTraffic="true" 로 설정 되어 있음에도 문제가 발생한다, 일까요?
안성현
안성현OP2y ago
네 맞습니다 lgdacom.conf에 url이 https://xpayvvipclient.uplus.co.kr/xpay/Gateway.do 이고 보내주신 문서 링크에는 https://xpayvvipclient.tosspayments.com/xpay/Gateway.do 라고 되어 있는데 이것과는 상관이 없을까요?
유부장
유부장2y ago
프록시 되어 있어서 문제 없는것이 정상이기는한데, 그래도 변경해서 다시 해보시겠어요?
안성현
안성현OP2y ago
네 우선 첫번째로 보내주신 안드로이드 앱 설정 변경 관련하여 다시 수정 진행해 보기로 하겠습니다 그럼 저 checkout이 http로 통신하는걸 https로 통신하게 만드는 설정은 따로 없는걸까요? http://checkout.tosspayments.com~~~~
유부장
유부장2y ago
지금 전달주신 설정으로는 https 로만 통신되어야 하는데, 오래된 uplus 도메인 프록시에 혹여 문제가 있을지 확인은 별도로 해보겠습니다
안성현
안성현OP2y ago
네 확인 부탁드립니다 그럼 lgdacom.conf에 url을 https://xpayvvipclient.tosspayments.com/xpay/Gateway.do 으로 수정해 볼까요? 서비스 재기동은 필요 없을까요?
유부장
유부장2y ago
네, 재기동은 필요 없습니다
안성현
안성현OP2y ago
네 저도 확인해 보겠습니다 lgdacom.conf에 url을 https://xpayvvipclient.tosspayments.com/xpay/Gateway.do 로 수정해 보았지만 여전히 http로 통신을 합니다
유부장
유부장2y ago
음.. 직접 확인할 수 있는 사이트 주소가 어떻게 될까요?
안성현
안성현OP2y ago
사이트에서는 정상적으로 표시가 됩니다 안드로이드 앱 웹뷰 상에서 저런 결과가 나와서 어떻게 해 드려야 할지 모르겠습니다 안드로이드 앱 웹뷰 상에서 결제 화면 자체가 안떠서요....
유부장
유부장2y ago
사이트 주소를 알려주시면, 해당 사이트를 저희가 저희 테스트 앱내 웹뷰에서 띄워서 해볼수 있을것 같아요
안성현
안성현OP2y ago
우선 도메인 주소는 https://tarangge.gwangju.go.kr/index.do 입니다
타랑께
타랑께, 공유자전거
안성현
안성현OP2y ago
확인 감사드립니다
유부장
유부장2y ago
이용권 구매로 해야 할까요?
안성현
안성현OP2y ago
네 맞습니다 제 아이디 비번을 알려드릴까요?
Kimoon Lee
Kimoon Lee2y ago
문제 상황의 영상을 찍어주실수 있을까요?
유부장
유부장2y ago
* 웹뷰에서 띄우고 계시는 사이트 주소는 서비스 프로토콜인 https 로 정상적으로 되어 있으신지도 같이 확인 부탁 드립니다
안성현
안성현OP2y ago
네 알겠습니다 웹뷰의 사이트 주소는 https로 되어 있다고 합니다
안성현
안성현OP2y ago
에러 화면 동영상 첨부 합니다
안성현
안성현OP2y ago
원래는 결제 버튼을 누르면 결제 화면이 표시 되어야 하는데 되질 않습니다
유부장
유부장2y ago
정말 이상하네요 처음에 결제 요청되는 사이트가 http 가 아닌이상, 발생할일이 없습니다.
안성현
안성현OP2y ago
그럼 결제 요청을 하면 lgdacom.conf의 url를 통해서 checkout....url로 이동 한다는 말씀이신 걸까요?
유부장
유부장2y ago
네, 맞습니다 처음에 결제가 요청되는 프로토콜을 인지하고, 이를 기반으로 checkout 으로 프록시 해서, 서비스합니다
안성현
안성현OP2y ago
우선 오랜 시간 대응해 주셔서 감사합니다 다른 서비스의 lgdacom.conf를 보니 url = https://xpayclient.lgdacom.net/xpay/Gateway.do test_url = https://xpayclient.lgdacom.net:7443/xpay/Gateway.do aux_url = http://xpayclient.lgdacom.net:7080/xpay/Gateway.do 이러한 것도 있네요 중간 도메인이 uplus.co.kr, tosspayments.co.kr, lgdacom.net 이게 다 같은 역할을 하는 걸까요?
유부장
유부장2y ago
정말 오래 된 도메인들이네요 네, 프록시로 전부 전환하고 있는 사용가능한 도메인은 맞기는 한데, 그래도 가능하면 tosspayments.com 으로 수정 부탁 드립니다
안성현
안성현OP2y ago
네 알겠습니다
유부장
유부장2y ago
테스트 환경 포트도 위에 전달드린 문서 확인 하시고 수정 필요 하십니다
Kimoon Lee
Kimoon Lee2y ago
혹시 결제 페이지에 import 한 js 파일을 http 로 사용중이신건 아닌가요? <script language="javascript" src="https://xpayvvip.tosspayments.com/xpay/js/xpay_crossplatform.js" type="text/javascript"></script> 이런 부분일겁니다.
안성현
안성현OP2y ago
해당 부분 https로 되어 있습니다 <!-- service일 경우 아래 URL을 사용 --> <script language="javascript" src="https://xpayvvip.uplus.co.kr/xpay/js/xpay_crossplatform.js" type="text/javascript"></script> 아 그럼 저 부분도 tosspayments.com으로 바꾸어야 할까요...... 이걸 개발한 업체가 엄청 오래전 로직을 가지고 현재까지 만들고 있는 모양입니다....
OMG
OMG2y ago
네, 도메인을 tosspayments.com 으로 변경 부탁드려요. https://xpayvvip.tosspayments.com/xpay/js/xpay_crossplatform.js
안성현
안성현OP2y ago
네 알겠습니다 그럼 정리 하자면 구 모듈 XPay를 이용하여 현 안드로이드 버전의 웹뷰 상에서도 카드 결제가 가능하다는 말씀이실까요? 앱 상에 문제가 있을거 같아 업체에게 다시 문의해 볼려고 합니다
유부장
유부장2y ago
네, 웹뷰상에서 사이트 띄워서 진행하는것이 default 입니다
Ayaan이안
Ayaan이안2y ago
요즘 예전 도메인으로 요청이 들어가서 나는 오류가 꽤 많은 것 같네요 😅 새 도메인으로 변경해서 쓰시는 걸 강력하게 추천드려요
안성현
안성현OP2y ago
네 알겠습니다 ^^;;
Ayaan이안
Ayaan이안2y ago
아참 도메인 바꾸실 때는 문서 보시고 방화벽을 추가로 등록해 주셔야 합니다!
안성현
안성현OP2y ago
네 참고하도록 하겠습니다 감사합니다 우선 많은 분들 대응해 주셔서 대단히 감사합니다 일단 이 포스트는 닫고 앱쪽에 문제가 없는지 다시 한번 확인해 보겠습니다 다른 문의가 있을시 다시 포스트를 작성하도록 하겠습니다 dk rmfjsep 아 그런데 checkout페이지에 안드로이드에서 지원하지 않는 웹뷰 속성인 target-densitydpi가 있는거 같습니다
안성현
안성현OP2y ago
이 페이지 입니다
No description
유부장
유부장2y ago
해당 속성은 내부 확인 해보겠습니다 내부 전달 해두었습니다. 의견 감사드립니다
토스페이먼츠 BOT
❤️ 기술문의 경험이 어떠셨나요?!
간단히 코멘트 남겨주세요! 제품 발전에 큰 힘이 됩니다.

Did you find this page helpful?