Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Не работает отмена в веб-форме 3ds v2 #7

Closed
alex-dorokhov opened this issue Apr 19, 2021 · 2 comments
Closed

Comments

@alex-dorokhov
Copy link
Contributor

alex-dorokhov commented Apr 19, 2021

Спасибо за библиотеку, весьма полезна, особенно функция проксирования запросов.

Тестирую последнюю версию с помощью встроенного примера и stable версии flutter (2.0.5).

  1. Включаю 3ds v2.
  2. Ожидаю появления веб-формы для ввода кода.
  3. Нажимаю "Отмена", но ожидаемой реакции на нажатие не происходит (закрытие веб-формы).

В консоли выводится следующее сообщение:

W/cr_WebViewCallback( 3575): Unable to create JsDialog without an Activity
E/InputMethodManager( 3575): b/117267690: Failed to get fallback IMM with expected displayId=28 actual IMM#displayId=0 view=io.flutter.plugins.webviewflutter.InputAwareWebView{db26a0b VFEDHVC.. .F...... 0,0-1080,2154}

Предполагаю, что связано с тем что страница пытается использовать браузеровский window.alert для отображения окна подтверждения. Вероятно связано с этим багом: flutter/flutter#30358 .

В целом так же хотелось бы иметь и какой-то колбэк / результат от CollectData, указывающий, что пользователь отменил процесс оплаты (и соответственно платежная сессия должна быть закрыта в использующем приложении).

device-2021-04-19-215625

@mit-73
Copy link
Collaborator

mit-73 commented Apr 22, 2021

Здравствуйте @alex-dorokhov, да мы знаем о данной проблеме.
Она связанно с багом flutter/flutter#30358, но отличается тем что там используется своя реализация alert, которую не удается поймать с помощью JavascriptChannel.

На данный момент есть способ как это исправить на android:

if (defaultTargetPlatform == TargetPlatform.android) {
    WebView.platform = SurfaceAndroidWebView();
}

Но к сожалению с ios такое не пройдет...

В целом так же хотелось бы иметь и какой-то колбэк / результат от CollectData, указывающий, что пользователь отменил процесс оплаты (и соответственно платежная сессия должна быть закрыта в использующем приложении).

Вы скорее всего путаете CollectData с WebView3DS, так как CollectData не показывает WebView с 3DS проверкой.
Когда происходит отмена проверки 3DS WebView3DS вызывает колбэк onFinished с null параметром.

Если у вас есть решение данной проблемы, мы открыты к PR.

@mit-73
Copy link
Collaborator

mit-73 commented May 17, 2021

Закрываю данный вопрос, так как нет активности.

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
None yet
Projects
None yet
Development

No branches or pull requests

2 participants