Yandex Quick Pay SDK for Flutter

Flutter-плагин для интеграции быстрой оплаты Яндекс Пэй в мобильные приложения (Android и iOS).

Установка

Добавьте зависимость в pubspec.yaml:

dependencies:
  yandex_quick_pay: ^1.0.0

Затем:

flutter pub get

Быстрый старт

  1. Инициализация в main() до runApp():
import 'package:yandex_quick_pay/yandex_quick_pay.dart';

void main() async {
  WidgetsFlutterBinding.ensureInitialized();

  // Инициализация SDK
  await YandexQuickPay.initialize(
    config: const QuickPayConfig(
      merchantId: 'YOUR_MERCHANT_ID',
      environment: QuickPayEnvironment.sandbox,
    ),
    listener: QuickPaymentStateListener(
      onPaymentEnabledStateChanged: (isEnabled) {
        print('Быстрая оплата ${isEnabled ? "включена" : "выключена"}');
      },
      onSessionExpired: () {
        print('Платежная сессия истекла');
      },
      onPaymentResult: (result) {
        if (result is QuickPaySuccess) {
          print('Оплата успешна');
        } else if (result is QuickPayFailure) {
          print('Ошибка оплаты');
        }
      },
    ),
  );

  runApp(const MyApp());
}
  1. Вызов нативной UI перед оплатой:
await YandexQuickPay.instance.initUi();
  1. Виджеты для экрана настроек/оплаты:
  • YandexPaymentMethodsWidget — список способов оплаты и управление быстрой оплатой.
  • YandexActivePaymentMethodBadge — бейдж активного способа оплаты (например, на кнопке «Оплатить»).

Конфигурация

  • QuickPayConfig: merchantId, environment (sandbox/production), locale, theme.
  • QuickPayEnvironment: sandbox, production.

Обработка возврата из приложения банка/Яндекс Пэй:

  • Android: в AndroidManifest и в коде вызвать YandexQuickPay.instance.handleUserActivity(uri) или handleOpenURL(uri).
  • iOS: в AppDelegate передать URL в YandexQuickPay.instance.handleOpenURL(url).

Требования

  • Flutter 3.0+
  • Dart 3.0+
  • Android: API 24+ (Android 7.0)
  • iOS: 15.0+ (реальное устройство; сборка на iOS Simulator при подключении через pub.dev не поддерживается из-за лимита размера пакета)

Документация

Полная документация и описание API: pay.yandex.ru/docs.

Лицензия

Proprietary License — см. LICENSE.

Libraries

yandex_quick_pay