나상엽
나상엽7mo ago

flutter 웹뷰에서 kb만 결제진행할수없는 현상이 있습니다.

안녕하세요, flutter개발자입니다. 사내에서 webview_flutter를 웹뷰를 관리하고있고, tosspayments결제를 사용하고있습니다. 하지만 kb만결제가 진행이 되질않네요. kb pay 결제버튼을 선택해 앱을 실행하려고하면, 다음 이유로 intent://pay?srCode=3970159&tcodeSeq=1085099934&kb-acp://#Intent;scheme=kb-acp;package=com.kbcard.cxh.appcard;end;의 웹페이지를 로드할 수 없습니다. net::ERR_UNKNOWN_URL_SCHEME 이와같은 오류가 발생합니다. 다른 kb 스타뱅킹, 리브 next 도 동일합니다. 앱스킵은 manifest.xml파일에 모두 추가되어있습니다. 클라이언트 내에서 intents:// 로시작하는 url의경우 webview_flutter 패키지의 onNavigationRequest에서 따로 처리를 하고있습니다만, 문제는 onNavigationRequest에서 핸들링 자체가 되질 않습니다. 타사결제의 경우 정상적으로 onNavigationRequest로 핸들링되어 후속로직을 타지만, kb의 경우에만 onNavigationRequest에 전혀 잡히질 않습니다. 놓치고있는부분이있을까요?
94 Replies
토스페이먼츠 BOT
⏳ 잠시만 기다려주세요! 곧 답변드리겠습니다
오류 문의일 경우 아래 정보를 미리 전달해주시면, 빠른 답변에 도움이 됩니다.
- 주문번호(orderId) : - 문의 내용 :
(img를 함께 첨부해주시면 도움이됩니다)
* 계약관련 내용은 1544-7772로 문의주세요. * 주말/공휴일에는 답변이 늦을 수 있어요.
이실장
이실장7mo ago
intentc처리는 어떤걸로 하고 계세요?
나상엽
나상엽OP7mo ago
[Flutter] 안드로이드 WebView 이니시스 ERR_UNKNOWN_URL_SCHEME 오류 해결
Flutter WebView 내에서 KG이니시스를 연동하여 결제 시스템 구현중 각 은행 사 어플로 인텐트 처리가 되지 않는 오류가 발생했다. WebView 에서 띄운 것이기도 하고 네이티브에서 뭘 설정해야 할 게 있을까 웹쪽에서 해결해야하는 게 아닌가 했지만! 클라이언
나상엽
나상엽OP7mo ago
이블로그의 해결방법을 보고 적용했습니다
이실장
이실장7mo ago
저 블로그는 저희가 작성한게 아니라 따로 첨언하지 않을게요
이실장
이실장7mo ago
웹뷰(WebView) 연동하기 | 토스페이먼츠 개발자센터
모바일 웹뷰 결제는 앱투앱(App to App) 이동이 필요한데요. 결제기관의 앱스킴 목록과 OS별 이동 방법을 알아보세요.
이실장
이실장7mo ago
여기 확인해보세요 webview flutter가 ://를 하나만 읽을거에요 아마 두번째 acp://에서 터지지 않을까 싶네요
나상엽
나상엽OP7mo ago
링크감사합니다. 말씀해주신 두번째 ac://가능성도 확인해보겠습니다
이실장
이실장7mo ago
아 ://를 하나만 일근ㄴ게 아니라 두번째 : 부터는 뒤에를 port로 인식했던 것 같네요
나상엽
나상엽OP7mo ago
혹시 flutter의 경우에도 WebViewClient의 shouldOverrideUrlLoading 오버라이딩 이 필수인가요?
이실장
이실장7mo ago
그거는 연동방식에 따라 다를것 같아요 일단 저희 가이드상으론 필요없습니다.
나상엽
나상엽OP7mo ago
보내주신 가이드 읽어봤는데요, tossPaymentsWebview 이 함수는 flutter에서 실행시켜야 하는 함수 인것 같은데, kb pay 결제 버튼을 누를때 webview_flutter 패키지내 핸들링 함수에서 핸들링을 할수 없어서 tossPaymentsWebview를 실행시킬수가 없습니다. 제가 잘 이해한게 맞을까요?
이실장
이실장7mo ago
지금 webview_flutter위에 웹서버 띄워서 사용중이시죠?
나상엽
나상엽OP7mo ago
이실장
이실장7mo ago
GitHub
GitHub - youjun-lee/flutter_webview_sample_app: flutter webview sample
flutter webview sample. Contribute to youjun-lee/flutter_webview_sample_app development by creating an account on GitHub.
이실장
이실장7mo ago
여기 참고해보세요
이실장
이실장7mo ago
GitHub
flutter_webview_sample_app/lib/screens/webview_flutter_screen.dart ...
flutter webview sample. Contribute to youjun-lee/flutter_webview_sample_app development by creating an account on GitHub.
이실장
이실장7mo ago
webview위에 띄울 url을 tossPaymentsWebview한번 거쳐서 태우는겁니다
나상엽
나상엽OP7mo ago
맞습니다 동일하게 잘처리가되어있습니다
이실장
이실장7mo ago
그 혹시 지금 핸드폰 usb연결된채로 쓰고계신가요? 디버깅모드로요
나상엽
나상엽OP7mo ago
이실장
이실장7mo ago
빼고한번해보세요
나상엽
나상엽OP7mo ago
현재 상용에 배포된 앱도 동일한증상입니다
이실장
이실장7mo ago
일단 저는 저 샘플대로 kbpay앱 잘 실행됩니다.
나상엽
나상엽OP7mo ago
샘플로 한번해보겠습니다 동일한증상이 나타나네요
나상엽
나상엽OP7mo ago
No description
나상엽
나상엽OP7mo ago
신한의 경우 onNavigationRequest로 핸들링이 가능한데, kb의 경우는 불가합니다.
나상엽
나상엽OP7mo ago
혹시 토스페이먼츠에서 kb의 경우에만 새창?을 띄우나요? 타사는 그렇지 않은데 kb만 우측 상단에 x버튼이 생겨서요. 혹이 이부분과 관련이 있진 않을까요?
No description
이실장
이실장7mo ago
샘플그대로 실행하신건가요?
나상엽
나상엽OP7mo ago
네 샘플그대로 두고, url만 저희 웹사이트사용했습니다
이실장
이실장7mo ago
혹시 url 공유가능한가요?
나상엽
나상엽OP7mo ago
개인메시지로 드릴수있나요?
토스페이먼츠 BOT
💡 정보 제출
민감 정보를 안전하게 제출해주세요
이실장
이실장7mo ago
경로도 같이 안내해주세요
나상엽
나상엽OP7mo ago
최대한 자세하게 전달드렸는데 혹시 부족하면 말씀해주세요
이실장
이실장7mo ago
블루팜이셨군요 확인 후 안내드릴게요
나상엽
나상엽OP7mo ago
이실장
이실장7mo ago
앱설치 페이지로 리다이렉트 되어 확인이 불가하네요 ㅠ
나상엽
나상엽OP7mo ago
그 모바일 웹으로 볼게요 선택불가능할까요?
이실장
이실장7mo ago
다시한번볼게요 저희 샘플에서 아래 Url도 한번 실행시켜보시겠어요? (삭제)
나상엽
나상엽OP7mo ago
이실장
이실장7mo ago
No description
이실장
이실장7mo ago
해당 진입점이 없습니다.
나상엽
나상엽OP7mo ago
잠시만요! 똑같이뜹니다;;
이실장
이실장7mo ago
/pubspec.yaml 한번 올려주시겠어요 flutter 버전 및 webview_flutter / url_launcher 3개가 궁금합니다.
나상엽
나상엽OP7mo ago
environment: sdk: '>=3.0.6 <4.0.0' flutter: ">=3.3.0" webview_flutter: ^4.8.0 webview_flutter_android: ^3.12.1 url_launcher: ^6.1.14\
이실장
이실장7mo ago
저희가 3.22버전으로 확인중이라 3.3 올려서 확인해보고 알려드릴게요
나상엽
나상엽OP7mo ago
네 알겠습니다
이실장
이실장7mo ago
시간이 조금 소요될 수 있습니다.
나상엽
나상엽OP7mo ago
아그리고 저희 웹사이트 테스트하시는거는 webviewcontroller에 useragent 세팅하시면 확인가능하실겁니다 await webViewController.setUserAgent('#bluepharm_app #app_ver_1.3') (앱설치페이지 노출문제)
이실장
이실장7mo ago
아 아니네요. 지금 flutter 3.3.0버전 쓰시는거죠?
나상엽
나상엽OP7mo ago
No description
나상엽
나상엽OP7mo ago
3.22네요
이실장
이실장7mo ago
https://discord.com/channels/864296203746803753/1258245049653788733 유사한 현상 있던 곳이네요 해결되었는지 한번 문의드려볼게요
나상엽
나상엽OP7mo ago
쭉읽어보았는데 같은증상이네요 저희도 우리은행 안되네요
이실장
이실장7mo ago
네 저때도 apk로 말아서 드리니까 정상적으로 되었었거든요
나상엽
나상엽OP7mo ago
apk를 말아서 주셨다는게 어떤 문제가 해결된건지 잘모르겠습니다
이실장
이실장7mo ago
일단 해당가맹점도 해결은 안된 것 같네요. (우리 / 국민을 내로놓음) flutter build 환경 문제인 것 같아요 왜냐하면 지난번에도 지금 안내드리고 있는 내용 그대로 진행했닥 결국 저희 샘플을 귀사 컴퓨터에서 빌드한게 아니라, 제 컴퓨터에서 빌드해서 apk파일을 전달드리니 정상적으로 되었었거든요 뭐가 특정환경에서 intent처리하는 부분에 이슈가 있지 않을까 싶습니다.
나상엽
나상엽OP7mo ago
음... 저희도 최근에 업데이트한것이 있는지 봐야겠네요
이실장
이실장7mo ago
이게 갑자기 안되기 시작한건가요?
나상엽
나상엽OP7mo ago
전에는 webview_flutter 4.4.2버전을 쓰다가 4.8.0으로 업데이트를했는데요,
이실장
이실장7mo ago
flutter가 url처리방식이 독특해서 예를들어 "표나 : 를 제대로 인식하지 못하든가 하는경우가 있더라고요
나상엽
나상엽OP7mo ago
하지만 4.4.2버전도 특정 업체가 자체적으로 깃저장소에 보관해둔걸 썼어서 문제가좀있네요
이실장
이실장7mo ago
일단 저희도 한번 살펴 보겠습니다. 다만 재현환경이 갖추어지면 디버깅해가며 원인을 찾아볼텐데 지금 쉽지 않네요 저희 샘플에서 flutter inappwebview로도 한번 실행해보시겠어요?
나상엽
나상엽OP7mo ago
네알겠습니다 업데이트 이전버전에선 동작합니다
이실장
이실장7mo ago
4.4.2에서는 정상동작하나요?
나상엽
나상엽OP7mo ago
정확히는 4.4.2버전이아니고 안드로이드 마켓 이전버전입니다
이실장
이실장7mo ago
아 귀사 앱 이전 버전 말씀이시군요
나상엽
나상엽OP7mo ago
이실장
이실장7mo ago
일단 차이점을 한번 살펴볼 필요가있을 것 같습니다. 어느 PG사를 쓰던 kbpay앱으로 이동하는 링크는 동일할거라 flutter webview처리하는 부분에 이슈가 있을 것 같네요
나상엽
나상엽OP7mo ago
inappwebview는 버그가 있는것같네요 샘플에
이실장
이실장7mo ago
흰색화면으로 뜨나요?
나상엽
나상엽OP7mo ago
I/flutter (12486): inappwebview Launch D/InAppWebView(12486): Using InAppWebViewClientCompat implementation W/cr_WebSettings(12486): setForceDark() is a no-op in an app with targetSdkVersion>=T W/cr_SupportWebSettings(12486): setForceDarkBehavior() is a no-op in an app with targetSdkVersion>=T
나상엽
나상엽OP7mo ago
No description
나상엽
나상엽OP7mo ago
넵 흰화면입니다
이실장
이실장7mo ago
저는 정상동작하는데 위 드린 가맹점이랑 그것도 동일 현상이네요..
나상엽
나상엽OP7mo ago
음....... 정말이상하네요
이실장
이실장7mo ago
일단 저희가 재현이 안되는 상황이라 디버깅이 어렵네요. 이전/현재버전 한번 비교해주심 좋을 것 같아요
나상엽
나상엽OP7mo ago
네 알겠습니다 확인해보겠습니다
이실장
이실장7mo ago
확인 후 공유해주시면 감사하겠습니다
나상엽
나상엽OP7mo ago
지금까지 확인결과 공유해드리자면 운좋게 문제없던 상태의 소스코드를 발견해서 이리저리 테스트해봤는데요, 패키지 업데이트 조차도 문제가 아니더라구요 정말 그냥 이래저래 개발을 진행해오고 수정을 거듭하면서 특정할수없는 어떤 부분을 건드린것같아요.. 초기상태에서 지금까지의 업데이트된사항을 모두 코드만 고대로 옮겨오고 실행해봤는데 문제없이 작동합니다 생각해볼수있는건 휴먼에러밖엔 없는것 같고..
이실장
이실장7mo ago
코드는 이상없으면 빌드하는 과정에서 뭔가 설정 이슈려나요..
나상엽
나상엽OP7mo ago
예를 들자면 수많은 패키지들을 설치하고 지우고, flutter clean, pod install 등등 어디선가 꼬여버린것같습니다
이실장
이실장7mo ago
그래도 해결이 되셔서 다행입니다
나상엽
나상엽OP7mo ago
도와주셔서 감사합니다 뭔가 개운치는 않지만 해결되서 다행입니다
이실장
이실장7mo ago
일단 예전버전과 지금 버전 pacagage, kotlin, flutter버전 모두 동일한 상태라는 말씀이시죠?
나상엽
나상엽OP7mo ago
네 맞습니다 @이실장 안녕하세요 원인을 알게되서 공유드리려고 왔습니다. 문제는 webview_flutter_android 패키지의 문제였구요 원활히 작동되는 패키지의 버전은 3.16.0 이고, 계속 오류가 났던 버전은 3.16.7이였습니다 3.16.7버전을 3.16.0으로 다운그레이드 하니 잘작동하네요.. 원인찾느라 시간많이썼지만.. 혹시나 저같은 분들있을까봐 공유 드리고 혹시 개선이 가능한 부분이 있다면 부탁드리겠습니다!
나상엽
나상엽OP7mo ago
No description
나상엽
나상엽OP7mo ago
webview_flutter_android changlog인데요 이 버전 이후로 문제가 있는거네요
Kimoon Lee
Kimoon Lee7mo ago
네 확인해 주셔서 감사합니다. 해당 패키지는 저희가 제공하는게 아니라 말씀하신것처럼 버전을 가이드 해드려야 겠네요.
Ayaan이안
Ayaan이안7mo ago
지금당장은 버전을 가이드드리고, 나중에 개발검토해서 최신버전 지원도 되도록 개선되면 좋을거 같습니다!
Kimoon Lee
Kimoon Lee7mo ago
지금 최신버전 웹뷰 패키지에 문제가 있어서 저희가 최신버전을 지원해 드릴수가 없는 상황으로 이해 됩니다.
토스페이먼츠 BOT
❤️ 기술문의 경험이 어떠셨나요?!
간단히 코멘트 남겨주세요! 제품 발전에 큰 힘이 됩니다.

Did you find this page helpful?