마스터Q&A 안드로이드는 안드로이드 개발자들의 질문과 답변을 위한 지식 커뮤니티 사이트입니다. 안드로이드펍에서 운영하고 있습니다. [사용법, 운영진]

웹뷰에서 PG사 결제방식에 대해 이해가 안되어 질문있습니다.

0 추천
이번에 하이브리드 앱을 개발 하고 있는데요 .

PC에서 PG사 결제 처리 과정을 보니 PC에서는 팝업이 생성되면서 진행되길래..

웹뷰에서팝업이 실행되게끔 WebChromeClient를 상속받은 클래스에서 onCreateWindow를 구현해줬고,

 추가로

webView.getSettings().setJavascriptCanOpenWindowsAutomatically(true) , webView.getSettings().setSupportMultipleWindows(true)를  설정해 주었습니다.

그런 다음 onCreatewindow에서 새로 웹뷰를 다시 만들어야 한다고 알고 있습니다.

하지만 위와 같은 방식으로 구현을 하고 나면 결제 버튼을 눌러도 새 창이 띄워주지도 않고 진행이 안되는데요.

혹시 몰라  webView.getSettings().setJavascriptCanOpenWindowsAutomatically(true) , webView.getSettings().setSupportMultipleWindows(true)를 주석처리 하니 정상적으로 결제화면이 나오더군요

 문제는 새 웹뷰가 생성되는게 아니라 기존 웹뷰에서 진행이 되고 있습니다. (당연한거긴 한데 ㅠㅠ)

그리고 제가 본 블로그 자료들에 의하면 대부분 결제 처리 할 때 shoudOverrideUrlLoading 에서  아래와 같은 방식으로 url을 구분하여 Intent로 처리한다고 알고 있는데

if(!url.startWith("http://") && !url.startsWith("https://") && !url.startsWith("javfascript:")){

}

하지만 저희는 결제 버튼을 누른후 url을 확인하면 https:를 포함되어 있더군요 .. 저희가 만든 쇼핑몰 결제 프로세스가 특이한건지 PG사 메뉴얼에 이렇게 하라고 있는지는 확인을 해봐야 알겠지만

webview에서 결제 기능 때문에 window.open 기능을 사용 못하게 처리하는게 맞는건가요?
이잉 1 (380 포인트) 님이 2019년 10월 16일 질문

1개의 답변

0 추천
제가 테스트가 부족했었나 봅니다. intent 부분은 해결했습니다. 카드 선택 직전의 화면 까지는 스키마가 https://로 시작을 하지만 카드 선택 후 부터는 카드사 별로 스키마가 다르게 출력이 되네요 ㅠㅠ 혼란을 드려 죄송합니다.
이잉 1 (380 포인트) 님이 2019년 10월 16일 답변
...