hhssssb
hhssssb2mo ago

웹앱에서 kbpay 로 결제하려고 하면 ERR_UNKNOWN_URL_SCHEME 발생

현재 웹앱에서 토스 결제가 이루어지고 있는데 kb pay 를 사용할 경우 토스 결제창에서 첫번째 사진과 같은 에러 페이지가 발생하고 있습니다 그리고 웹을 띄우고 있는 flutter 에서는 두번째 사진과 같은 에러 메시지가 발생하고 있습니다 flutter 자체에서 웹뷰로 토스창을 띄운 후 결제할 경우의 intent 관련한 오류는 보이는데 웹 sdk 사용 중 kb-pay scheme 오류 관련 정보를 찾을 수 없어서 글 올립니다
웹에서는 @tosspayments/payment-sdk": "^1.7.1" 를 사용하고 있으며 flutter 에서는 flutter_inappwebview: ^6.0.0 라이브러리를 사용하여 띄우고 있습니다
No description
No description
11 Replies
토스페이먼츠 BOT
⏳ 잠시만 기다려주세요! 곧 답변드리겠습니다
오류 문의일 경우 아래 정보를 미리 전달해주시면, 빠른 답변에 도움이 됩니다.
- 주문번호(orderId) : - 문의 내용 :
(img를 함께 첨부해주시면 도움이됩니다)
* 계약관련 내용은 1544-7772로 문의주세요. * 주말/공휴일에는 답변이 늦을 수 있어요.
이실장
이실장2mo ago
kb pay만 안되나요?
hhssssb
hhssssbOP2mo ago
이외에도 kb 스타뱅킹 결제, kb 스타틴즈 결제가 불가능합니다 kb 국민카드 - 다른결제 - payco 도 불가능합니다 isp 결제는 가능합니다
이실장
이실장2mo ago
kb외 삼성현대 이런건 잘되나요?
hhssssb
hhssssbOP2mo ago
네 나머지는 문제 없습니다 저 에러페이지가 뜨는것과 별개로 앱은 띄워지고 있습니다 앱이 띄워는 지는데 이미 페이지가 에러페이지로 떨어져서 결제 자체는 안되고 있습니다 <Bad state: Origin is only applicable schemes http and https: intent://pay?srCode=7005471&tcodeSeq=1196340728&kb-acp://#Intent;scheme=kb-acp;package=com.kbcard.cxh.appcard;end;> 저 페이지에서 뜨고있는 오류는 이것입니다
이실장
이실장2mo ago
지금 intent url 처리는 어떻게 하고 계세요?
hhssssb
hhssssbOP2mo ago
Future<String> _convertIntentToAppUrl(String text) async { return await ReserveWebView.channel .invokeMethod('getAppUrl', <String, Object>{'url': text}); } Future<String> _convertIntentToMarketUrl(String text) async { return await ReserveWebView.channel .invokeMethod('getMarketUrl', <String, Object>{'url': text}); } shouldOverrideUrlLoading: (controller, navigationAction) async { var currentUrl = navigationAction.request.url; var finalUrl = navigationAction.request.url.toString(); if (currentUrl == null) { return NavigationActionPolicy.CANCEL; } if (currentUrl.scheme == 'http' currentUrl.scheme == 'https' currentUrl.scheme == 'about' || currentUrl.scheme == 'data') { return NavigationActionPolicy.ALLOW; } if (Platform.isAndroid) { await _convertIntentToAppUrl(currentUrl.toString()) .then((value) async { finalUrl = value; }); try { await launchUrlString(finalUrl); } catch (err) { finalUrl = await _convertIntentToMarketUrl(currentUrl.toString()); await launchUrlString(finalUrl); } } else if (Platform.isIOS) { if (currentUrl.scheme == 'ispmobile') { await launchUrlString(finalUrl); } else { await launchUrlString(finalUrl); } } return NavigationActionPolicy.CANCEL; }, 이런식으로 처리하고 있습니다 앱이 안열리면 써드파티 앱 대응미스겠구나 생각하겠는데 앱은 열리는 와중에 베이스 페이지는 오류로 연결되어서 문제입니다
이실장
이실장2mo ago
https://github.com/youjun-lee/flutter_webview_sample_app 일단 여기서 실행했을 때 재현안되는데
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.
이실장
이실장2mo ago
한번 비교해보시겠어요?
토스페이먼츠 BOT
❤️ 기술문의 경험이 어떠셨나요?!
간단히 코멘트 남겨주세요! 제품 발전에 큰 힘이 됩니다.
hhssssb
hhssssbOP2mo ago
onLoadResourceWithCustomScheme 이 부분 적용으로 문제를 해결했습니다 감사합니다 🙂

Did you find this page helpful?