Устранение неполадок

StateError: YandexQuickPay must be initialized before use

YandexQuickPay.initialize() не был вызван до обращения к SDK. Убедитесь, что вызов происходит в main() до runApp():

void main() async {
  WidgetsFlutterBinding.ensureInitialized();
  await YandexQuickPay.initialize(config: config, listener: listener);
  runApp(const MyApp());
}

OAuth-авторизация не завершается

Проверьте настройку deep links:

  • Android: intent filters в AndroidManifest, вызов handleUserActivity или handleOpenURL при получении URL.
  • iOS: URL Scheme в Info.plist, передача URL в AppDelegate в плагин.

Виджет отображается пустым

  1. Убедитесь, что initialize() вызван до runApp().
  2. Вызовите initUi() перед отображением экрана с виджетом.
  3. Проверьте, что нативные SDK (Android/iOS) настроены по инструкциям.

QR-код не сканируется

  1. Проверьте, что QR сгенерирован из sessionId, полученного через getPaymentSessionId().
  2. Окружение SDK (sandbox / production) должно совпадать с окружением кассового ПО.
  3. Проверьте, что сессия актуальна — при истечении вызывается onSessionExpired().

Сборка example-приложения

Перед сборкой example может потребоваться собрать нативный Android SDK:

scripts/bundle_native_android_sdk.sh --build-type debug --with-init
Предыдущая
Следующая