Устранение неполадок
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 в плагин.
Виджет отображается пустым
- Убедитесь, что
initialize()вызван доrunApp(). - Вызовите
initUi()перед отображением экрана с виджетом. - Проверьте, что нативные SDK (Android/iOS) настроены по инструкциям.
QR-код не сканируется
- Проверьте, что QR сгенерирован из
sessionId, полученного черезgetPaymentSessionId(). - Окружение SDK (
sandbox/production) должно совпадать с окружением кассового ПО. - Проверьте, что сессия актуальна — при истечении вызывается
onSessionExpired().
Сборка example-приложения
Перед сборкой example может потребоваться собрать нативный Android SDK:
scripts/bundle_native_android_sdk.sh --build-type debug --with-init
Была ли статья полезна?
Предыдущая
Следующая