pax
pax7mo ago

플러터 웹뷰에서 카드결제시 오류

인앱 웹뷰에서 카드사 결제요청시 스킴호출 에러가 발생하는데 어떤부분에서 문제가 될수 있는지 궁금합니다.
No description
117 Replies
토스페이먼츠 BOT
⏳ 잠시만 기다려주세요! 곧 답변드리겠습니다
오류 문의일 경우 아래 정보를 미리 전달해주시면, 빠른 답변에 도움이 됩니다.
- 주문번호(orderId) : - 문의 내용 :
(img를 함께 첨부해주시면 도움이됩니다)
* 계약관련 내용은 1544-7772로 문의주세요. * 주말/공휴일에는 답변이 늦을 수 있어요.
pax
paxOP7mo ago
크롬브라우저에서는 잘되는데 인앱 웹뷰에서만 문제가 발생하고있네요 우리카드와 국민 카드만 안됩니다
today.lastday
today.lastday7mo ago
플러터 코드는 어떤걸 참조하셨을까요?
today.lastday
today.lastday7mo ago
결제위젯 Flutter SDK | 토스페이먼츠 개발자센터
결제위젯 Flutter SDK를 추가하고 메서드를 사용하는 방법을 알아봅니다.
pax
paxOP7mo ago
확인해보겠습니다 아 플러터 sdk를 쓴건아니구요 웹뷰입니다
유부장
유부장7mo ago
웹뷰면 아래링크 참고 해주세요. https://docs.tosspayments.com/guides/v2/webview
웹뷰(WebView) 연동하기 | 토스페이먼츠 개발자센터
모바일 웹뷰 결제는 앱투앱(App to App) 이동이 필요한데요. 결제기관의 앱스킴 목록과 OS별 이동 방법을 알아보세요.
pax
paxOP7mo ago
감사합니다
harry
harry7mo ago
저희가 도입했을 때에는 따로 토스웹뷰를 지원하지 않아서 자체적으로 개발하여 사용하고 있습니다. 특정 은행(우리, 국민)만 안되는것도 위 설정대로 하면 해결되는 부분이 맞나요? 다른 은행들은 타앱 실행 및 미설치자 마켓 랜딩도 잘 되는 상황입니다. 일단 저 설정대로 해보고 다시 말씀드리겠습니다.
유부장
유부장7mo ago
저 웹뷰는 저희가 지원 하는게 아닌, Native 에서 3rd party redirection 을 위해서는 어떤 설정을 해야 하는지 가이드 하는 문서 입니다. 스킴 / 패키지 등이 Native 단에서 허용 처리가 정상적으로 되었는지, intent 처리는 정상적으로 하고 있는지 등 저희가 가이드한 내용을 살펴보고 비교 해보시면 좋습니다.
이실장
이실장7mo ago
네 위에 guide보시고 저희 sdk 통해서 intent 변환하시면 해결되실거에요~ @harry flutter 말씀하시는건가요? 아니면 다른 플랫폼이신가요?
harry
harry7mo ago
현재 상황 공유드리겠습니다. 모든 결제 수단은 결제하기를 누른 뒤에 플러터 웹뷰의 onNavigationRequest 에 트리거된 뒤에 해당 함수에서 url이 타앱 실행인지 여부를 판단하여 로직을 분기해서 처리하고 있었습니다. 근데 저 은행 두개만 onNavigationRequest 트리거 되지 않습니다. 위에 설정은 이전에 이미 완료된 상황이었고 새로 추가된 앱스킴들이 있어서 추가한 뒤에 다시 시도해보았지만 여전히 같은 상황입니다. flutter 입니다.
이실장
이실장7mo ago
저희 sdk없이 직접 구현하신 상황에서 그런단 말씀이시죠?
harry
harry7mo ago
네 맞습니다. 웹뷰로 처리했고 웹뷰에서 url을 해당 로직으로 처리했습니다.
No description
이실장
이실장7mo ago
그 webview lib는 뭐쓰셨나요
harry
harry7mo ago
공식 웹뷰입니다.
이실장
이실장7mo ago
webview_flutter 쓰셨다는거죠?
harry
harry7mo ago
Dart packages
webview_flutter | Flutter package
A Flutter plugin that provides a WebView widget on Android and iOS.
harry
harry7mo 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
여기 한번 참고해보시겠어요?
harry
harry7mo ago
모든 호출이 onNavigationRequest 이쪽으로 무조건 트리거됩니다. 이상하게 저 두개 은행만 트리거가 안됩니다. 위 예제랑 로직은 동일합니다.
이실장
이실장7mo ago
트리거안될 때 사용한 주문번호 하나 알려주세요
harry
harry7mo ago
저희 서비스 안드로이드 모든 폰, 모든 주문에서 항상 발생합니다. 주문번호는 동료 개발자분에게 물어봐서 알려드리겠습니다.
이실장
이실장7mo ago
mid는 어떻게 되시나요? 영상도 하나 부탁드려요
pax
paxOP7mo ago
pilrarazqc mid입니다
harry
harry7mo ago
일단 다른 결제수단들은 잘 작동해서 웹뷰 로직에 문제가 있는것 같지는 않습니다.
harry
harry7mo ago
안드로이드 네이티브 설정에 문제가 있는지, 다시한번 확인해보겠습니다.
이실장
이실장7mo ago
저도 추측으로만 답변드릴 수 없으니 주문번호도 전달주세요 지금 pax harry 2분은 같은 서비스에 대해 문의주시는건가요?
harry
harry7mo ago
네 같은 서비스입니다.
이실장
이실장7mo ago
확인 후에 안내드리겠습니다. @harry 위에 repo 그대로 한번 실행도 해보실 수 있으세요? 저희는 재현이 안되서 추가로 문의드려요
harry
harry7mo ago
네 한번 해보겠습니다.
pax
paxOP7mo ago
저희쪽 주문 번호드리면될까요? 202407041205_0GHTKBD9RRHM8
이실장
이실장7mo ago
네 주문번호는 확인해보겠습니다. 레포도 확인요청드려요 추가로 작년에 오픈하신걸로 아는데 계속 동일한 현상이었나요?
Kimoon Lee
Kimoon Lee7mo ago
그리고 혹시나 앱에서 URL 에 특정 문자가 있으면 별도로 처리하는 로직이 있는지도 확인부탁드립니다
harry
harry7mo ago
추가 로직이 있습니다. 그런데 이게 문제가 되려면 onNavigationRequest 해당 함수가 트리거되어야할텐데, 트리거 자체가 안되기 때문에 이 문제는 아닌 것 같습니다.
No description
harry
harry7mo ago
위 레포로 제가 실행해보겠습니다.
이실장
이실장7mo ago
네네 일단 혹시 결제요청 자체에 문제가 있을까해서 로그봤는데 요청에는 문제가 없네요 native 쪽 웹뷰 설정을 위주로 살펴봐야할 것 같스빈다.
harry
harry7mo ago
안드로이드 네이티브 설정은 위 사항만 하면 될까요? 플러터 웹뷰라서 다른건 따로 처리하지 않고 허용앱만 추가했습니다.
No description
이실장
이실장7mo ago
공유드린 repo가 정상동작한다는 가정하에 필요없습니다.
harry
harry7mo ago
네 확인했습니다.
이실장
이실장7mo ago
tosspaymentWebview(url)이 intent url을 webview에서 읽을 수 있도록 물리적(?)으로 재조합하는 역할을 하거든요
harry
harry7mo ago
네 맞아요, 해당 코드는 제가 정확히 이해하고 있는것 같습니다. 다만 해당 이벤트가 전혀 발동되지 않아서 원인을 모르겠네요. 레포 곧 테스트 설정 완료되니 이거로 테스트 해보고 결과 말씀드리겠습니다. 감사합니다.
이실장
이실장7mo ago
네네 repo가 이상이 없다면 귀사 webview 로직등을 중간중간 log찍어가며 디버깅해봐야할 것같습니다.
harry
harry7mo ago
네 이해했습니다.
harry
harry7mo ago
harry
harry7mo ago
데모에서도 동일 현상이 발생합니다. 저희 유저정보때문에 쿠키에 저희 토큰 심는 작업 외에는 코드 수정사항은 없습니다.
이실장
이실장7mo ago
흠.. 혹시 귀사 url 한번 공유해주시면 한번 테스트해볼 수 있나요?
토스페이먼츠 BOT
💡 정보 제출
민감 정보를 안전하게 제출해주세요
이실장
이실장7mo ago
더불어 작년 11월부터 계속 발생해왔나요?
harry
harry7mo ago
언제부터 발생했는지 파악이 안되고 있습니다. 거래건수가 최근에 많아지면서 오늘 발견된 이슈라서요. url 및 정보는 3시전까지 전달드리도록 하겠습니다.
pax
paxOP7mo ago
결제해보실수있는 url과 토큰 전달드렸습니다
이실장
이실장7mo ago
뭔가 웹쿠키가 문제가 될 수도 있겠다라는 생각이 드네요 @pax @harry 메일주소 하나 공유주시겠어요?
pax
paxOP7mo ago
pax@pillyze.com 입니다
이실장
이실장7mo ago
방금 메일로 testurl 하나 보내드렸습니다. 일반적인 웹페이지에서도 재현되는지 한번 봐주시겠어요? (해당 url을 flutter에 띄워을때)
pax
paxOP7mo ago
메일 확인했습니다
harry
harry7mo ago
harry
harry7mo ago
같은 현상이 발생합니다.
이실장
이실장7mo ago
저희 샘플에서 실행하신거죠? 웹쿠키 설정이 웹뷰에 들어가있따면 한번 빼고 해주세요
harry
harry7mo ago
저희 앱에서 했습니다. 샘플에서 쿠키 날리고 해보겠습니다.
이실장
이실장7mo ago
넵 샘플 수정상태로 함 부탁드려요
harry
harry7mo ago
똑같이 안됩니다. 내부에서는 재현이 안되어서 요청 주시는 상황이시죠?
이실장
이실장7mo ago
네 ㅠㅠ 앱설치도 되어있으신거죠..?
harry
harry7mo ago
아뇨, 안되어있습니다. 미설치자는 스토어로 가야 하는것으로 알고있어서 따로 설치는 안했습니다.
이실장
이실장7mo ago
아 지금 설치안되있는 상황에서 발생하신다는건가요?
harry
harry7mo ago
네~! 그런데 설치자에게도 발생한 것으로 알고있어요.
이실장
이실장7mo ago
전혀 다른 이야기를 하고 있었구뇨
harry
harry7mo ago
하지만 저는 설치되어있지 않습니다.
이실장
이실장7mo ago
설치해보면 잘되는지까지만 확인가능한가요?
harry
harry7mo ago
네 잠시만요 설치 이후에도 작동하지 않습니다..
이실장
이실장7mo ago
네 ㅎㅎ 이거 오늘 중으로 한번 살펴보고 공유드릴게요
harry
harry7mo ago
네 알겠습니다.
이실장
이실장7mo ago
flutter 버전은 몇버전 쓰세요
이실장
이실장7mo ago
일단 저희 이상없는 영상 공유드립니다. flutter버전만 확인요청드려요
harry
harry7mo ago
최신버전 3.22.2 입니다.
이실장
이실장7mo ago
flutter 버전 문제는 아니고.. dart 버전은 혹시 어떻게 되나요?
harry
harry7mo ago
Dart SDK version: 3.4.3 (stable) 입니다.
이실장
이실장7mo ago
원인 확인이 어렵군요.. apk 하나 말아서 메일로 보내드릴게요. 한번 더 확인 요청드립니다.
harry
harry7mo ago
네 알겠습니다. 으로 부탁드립니다. harry@ 로 메일 부탁드립니다.
이실장
이실장7mo ago
메일 보냈습니다.
harry
harry7mo ago
지금봤습니다. 확인해보겠습니다. 페이지 자체 연결이 안됩니다.
harry
harry7mo ago
No description
유부장
유부장7mo ago
와이파이 풀고 접속 해보시겠어요
harry
harry7mo ago
해당 앱에서 naver도 안열립니다. 와이파이 끄고도 해봤는데 안되네요 혹시 앱에 인터넷 퍼미션 넣으셨나요?
유부장
유부장7mo ago
음.. 다른 디바이스에서도 시도 가능 할까요? 저희 매니저 분께서 테스트 다 해보고 보내신 거라서요.
harry
harry7mo ago
내부에 안드로이드 폰 2개가 있는데 2개에서 전부 작동을 하지 않습니다..ㅜㅜ 와이파이도 안되고 꺼도 안됩니다.
유부장
유부장7mo ago
그 2개 폰에서, 웹뷰 접속 url 을 전부 다 naver 등으로 변경해도 접속이 안된다는 말씀 맞으신가요?
harry
harry7mo ago
네 맞습니다.
유부장
유부장7mo ago
그럼 앱 말고 폰 웹브라우저에서는 어떤가요?
harry
harry7mo ago
잘 열립니다. 전달주신 apk로 내부 테스트 해보신건 맞으실까요?
유부장
유부장7mo ago
네 그건 다시 확인해보고 말씀 드릴거요 드릴거고 네이버도 접속 안되신다고요?
harry
harry7mo ago
네 안됩니다.
유부장
유부장7mo ago
네네
harry
harry7mo ago
No description
No description
유부장
유부장7mo ago
지금 미팅 중 이시니까 이따 다시 말씀 드릴게요~
이실장
이실장7mo ago
@harry apk build과정에서 문제가 있었나보네요. 확인해보고 다시 공유드리겠습니다.
harry
harry7mo ago
네 알겠습니다
이실장
이실장7mo ago
방금 다시 메일 보냈습니다.
harry
harry7mo ago
확인해보겠습니다. 우리은행 정상 작동합니다. 국민 은행 최초 진입시에 앱이 안열림 (설치되어있음) 나갔다 다시 들어오니 그때부터는 국민은행도 잘 작동합니다.
이실장
이실장7mo ago
제 생각엔 이 시점에서도 웹뷰 내 캐시 한번 날리고 했으면 되었을 수도 있을 것 같아요
No description
harry
harry7mo ago
혹시 웹 캐시 이슈로 보고계신가요?! 캐시 -> 쿠키
이실장
이실장7mo ago
아니요 뭔가 웹쿠키 보내셨던게 문제가 되지 않았을까 쿠키 지운 이후에도 캐시에 뭔가 설정이 남아있지 않았을까 정도 생각하고 있습니다.
harry
harry7mo ago
쿠키 클리어는 했지만 캐시가 남아있을 수 있겠네요. 플러터, 다트 버전 이슈는 아니라고 하셨고, 빌드해서 주신 apk에서는 작동을 하는 것으로 확인했으니 제가 저희 웹뷰에서 쿠키, 캐시 전부 다 날리고 테스트 해서 되는지 확인해보겠습니다. 혹시 웹 쿠키가 왜 문제가 될수 있는지 알려주실 수 있나요?
이실장
이실장7mo ago
네 우선 플러터/다트도 최신버전으로 올려서 빌드해서 보내드린 상황입니다. 다른게 그것 밖에 없을 것 같아서 말씀드려보았습니다 ㅎㅎ 이게 정답이 아니라면 다시 찾아보시죠 ~!
harry
harry7mo ago
그렇군요..ㅎㅎ 그렇다면 이부분은 제가 검증해보고 내일 다시 결과 남기도록 하겠습니다. 오늘 고생많으셨어요. 감사합니다. 확인해보니 쿠키 문제는 아닌 것 같습니다. 저희 서비스 과거 버전에서는 작동하는 것 확인했습니다. 최근에 플러터 버전을 3.13.* -> 3.22.* 로 업데이트 했는데 버전 업데이트 이후에 안되는것으로 확인됐습니다. 다만 토스측에서 최신버전으로 빌드한 버전에서 작동하는 것을 보면 플러터 버전 문제는 아닌 것 같고, 다른 버전 문제인가 싶네요.
이실장
이실장7mo ago
네 어제 이상태로 빌드해서 전달드렸습니다.
No description
harry
harry7mo ago
혹시 코틀린 버전이 영향을 줄수도있나요?
이실장
이실장7mo ago
그건 모르겠네요 제가 flutter개발자는 아니어서 그런데 pc flutter 최신버전 업데이트하고 빌드하면 되는거죠? pubspec.yaml에서 뭔가 설정을 또해줘야하나요? 특정버전을 바라보게?
harry
harry7mo ago
pc flutter 버전을 따라가는것으로 알고있습니다.
이실장
이실장7mo ago
그럼 맞겠네요 flutter가 webview쪽에 좀 이슈가 많아서 .. 정확히 어디가 원인이라고 말씀드리기가 어렵네요
harry
harry7mo ago
최근에 플러터 버전 업그레이드하면서 코틀린 버전이 이슈가 된 케이스가 있었습니다. 혹시 코틀린 버전이 영향을 줄수있는지 내부에 안드로이드 개발자가 계시다면 문의 해주실수있을까요?
이실장
이실장7mo ago
저희가 PG사이고 앱을 운영하지 않다보니 내부 안드로이드 개발자는 없습니다. kotlin버전이 문제였으면 많은 안드로이드앱에서 연락이 왔어야했는데 이런 문의는 필라이즈가 처음이네요
harry
harry7mo ago
이해했습니다, 저희가 해결해야 하겠네요. 제가 추가적으로 발견되는 사항이 있다면 여기에 남기도록 하겠습니다.
harry
harry7mo ago
마지막으로 빌드하신 웹뷰 버전만 확인 부탁드립니다.
No description
이실장
이실장7mo ago
name: flutter_webview_sample_app
description: tp webview
publish_to: 'none'

version: 1.0.0+1

environment:
sdk: '>=3.0.1 <4.0.0'

dependencies:
flutter:
sdk: flutter
cupertino_icons: ^1.0.2
webview_flutter: ^4.7.0
flutter_inappwebview : ^6.0.0
url_launcher: ^6.2.6
tosspayments_widget_sdk_flutter: ^2.0.2

dev_dependencies:
flutter_test:
sdk: flutter
flutter_lints: ^2.0.0

flutter:
uses-material-design: true
name: flutter_webview_sample_app
description: tp webview
publish_to: 'none'

version: 1.0.0+1

environment:
sdk: '>=3.0.1 <4.0.0'

dependencies:
flutter:
sdk: flutter
cupertino_icons: ^1.0.2
webview_flutter: ^4.7.0
flutter_inappwebview : ^6.0.0
url_launcher: ^6.2.6
tosspayments_widget_sdk_flutter: ^2.0.2

dev_dependencies:
flutter_test:
sdk: flutter
flutter_lints: ^2.0.0

flutter:
uses-material-design: true
harry
harry7mo ago
확인했습니다.
토스페이먼츠 BOT
❤️ 기술문의 경험이 어떠셨나요?!
간단히 코멘트 남겨주세요! 제품 발전에 큰 힘이 됩니다.
이실장
이실장5mo ago
@harry 안녕하세요

Did you find this page helpful?