flutter Webview 결제 오류 문의
https://techchat.tosspayments.com/m/1336953556153925683
여기랑 증상 똑같습니다.
https://docs.tosspayments.com/guides/v2/webview
여기참고해서 앱스킴 등록해주고
https://github.com/youjun-lee/flutter_webview_sample_app
여기 참고해서 버전 완전히 일치 시켯습니다.
onNavigationRequest: (NavigationRequest request) {
print('test:dd');
if (request.url.startsWith('https') || request.url.startsWith("http")) { // 표준 웹 URL 체크
return NavigationDecision.navigate;
}
tossPaymentsWebview(request.url); // 그 외의 경우에는 tossPaymentsWebvew 함수로 검증
return NavigationDecision.prevent;
},
tossPaymentsWebview(url) {
final appScheme = ConvertUrl(url); // Intent URL을 앱 스킴 URL로 변환
print('applink : ${appScheme.url}');
if (appScheme.isAppLink()) {
// 앱 스킴 URL인지 확인
appScheme.launchApp(mode: LaunchMode.externalApplication); // 앱 설치 상태에 따라 앱 실행 또는 마켓으로 이동
return NavigationDecision.prevent;
}
}
여기 자체에서 kb랑 카카오뱅크만 Err_unknown_urlscheme 오류뜹니다.....
최초는
https://cdn.answeroverflow.com/1072747046492184636/Flutter-Tosspayments__.pdf
해당 예시로 구현했는데 여기도 마찬가지로 kb랑 카뱅만 onNavigationRequest
이게 실행이 안됩니다.
flutter Webview 결제 오류 문의 - Toss payments 개발자 커뮤니티
현재 상황이 웹 용으로 로컬 서버를 구성하고 [ 웹으로 접속 가능 ]
Flutter 앱을 이용해서 Android / IOS 용 App 을 만들어 Webview로 접속을 하려고 합니다.
근데 현재 확인해봤을 때 다른 결제 앱들은 문제가 없는거 같은데 KB Pay 를 선택하고 KB Pay 결제하기를 누르면 이미지와 같은 화면이 발생합니다.
처음에 Webview 세팅을 잘못한 줄 알고 참고 예제 : ( https://github.com/youjun-lee/flutter_webview_sample_app ) 참고하여 코드만 가져와서 사용했는데, KB pay 쪽만 intent 오류가 발생했습니다.
해결 할 수 있을까...
웹뷰(WebView) 연동하기 | 토스페이먼츠 개발자센터
모바일 웹뷰 결제는 앱투앱(App to App) 이동이 필요한데요. 결제기관의 앱스킴 목록과 OS별 이동 방법을 알아보세요.
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.
22 Replies
⏳ 잠시만 기다려주세요! 곧 답변드리겠습니다
오류 문의일 경우 아래 정보를 미리 전달해주시면, 빠른 답변에 도움이 됩니다.
- 주문번호(orderId) :
- 문의 내용 :
(img를 함께 첨부해주시면 도움이됩니다)
* 계약관련 내용은 1544-7772로 문의주세요.
* 주말/공휴일에는 답변이 늦을 수 있어요.
iOS 만 에러 발생하시는 건가요?>
sdk 버전 확인해주세요
안드로이드 ios 둘다 발생합니다.
tosspayments_widget_sdk_flutter: ^2.0.2
2.0.9로 한번 해보겠습니다
똑같습니다 . kb로 했을때 onNavigationRequest 여기 자체를 안타네요.
이거 잠시만요 전에 비슷한 이슈가 있었던 것 같은데
웹뷰로 실행하는게 아니라 앱으로 바로실행하는건가 .. kb는 .. 그래서 flutter_inappwebview으로 shouldoverrideurlloading에서 무조건 처리를 해줘야하나 ..
웹뷰는 어떤거쓰세요
지금은 webview_flutter: ^4.7.0 입니다
요거 내일오전까지 답변드릴게요
넵 ㅠㅠ 부탁좀 드립니다 4일째 이러고있습니다..
오만 예제 다찾고 gpt 다검색해도 도저히 처리가안됩니다 ㅠㅠ
flutter이슈였던걸로 기억하는데 혹시 usb꼽아둔상태에서 하시는지도 확인부탁드려요
로컬에서 테스트하고 있어서 usb 꼽아놓고 빌드하면서 테스트 하긴해요 디버그모드는 아닙니다 .
@이실장 webview_flutter에선 kb, kakao bank 클릭하면 onNavigationRequest자체를 안타는데,
flutter_inappwebview으로 변경하면 shouldoverrideurlloading 타서 여기서 정상적으로 실행가능하네요.
shouldOverrideUrlLoading: (controller, navigationAction) async {
var uri = navigationAction.request.url!;
if (!navigationAction.isForMainFrame) {
await controller.stopLoading();
}
if (uri.scheme == 'https' || uri.scheme == 'http') { return NavigationActionPolicy.ALLOW; }
tossPaymentsWebview(uri.toString()); return NavigationActionPolicy.CANCEL; }, 이런식으로 .. webview_flutter으론 방법이 없는걸까요? 그전에 webview_flutter 버전 바꾸는것만해도 안드로이드에서 해상도가 달라졌다. 뭐 이러면서 고객분들이 엄청 컴플레인이 올라왔거든요 flutter_inappwebview으로 했을시 이부분이 걱정되긴하네요
if (uri.scheme == 'https' || uri.scheme == 'http') { return NavigationActionPolicy.ALLOW; }
tossPaymentsWebview(uri.toString()); return NavigationActionPolicy.CANCEL; }, 이런식으로 .. webview_flutter으론 방법이 없는걸까요? 그전에 webview_flutter 버전 바꾸는것만해도 안드로이드에서 해상도가 달라졌다. 뭐 이러면서 고객분들이 엄청 컴플레인이 올라왔거든요 flutter_inappwebview으로 했을시 이부분이 걱정되긴하네요
webview flutter의 버전을 탓던 것같아요
@이실장 내일 오전에 맞는 버전으로 답변달아주시나요 ?
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.
여기서 실행했을 때도 동일하신가요?
확인한번 부탁드려요
그대로 실행시키면 어떤가요?
일단 저희는 샘플 그대로 실행했을 때 재현이 안되서요. 한번 샘플 그대로 실행 테스트 한번 해주시ㅜ겠어요
과거에 위 이슈로 해결된 사례도 있습니다. webview_flutter 쪽 이슈라 필요시 inappwebview로 해주셔야할 것 같아요
flutter, dart, webview버전에 따라 변수가 너무 많더라고요
@이실장 패키지 의존성때문에 3.16.0 까지는 못내리는데, 예제 버전은 webview_flutter: ^4.7.0일텐데 저건 왜 되는걸까요 ?...
예제는 webview_flutter_android 패키지가 3.16.0 이하 일 것 같아요
아 이해했습니다.감사합니다
❤️ 기술문의 경험이 어떠셨나요?!
간단히 코멘트 남겨주세요! 제품 발전에 큰 힘이 됩니다.