Нативная интеграция Yandex Pay и инвентаря виджетов для Flutter

Разработчики создали Flutter-библиотеки ypay и ypay_inventory для нативной интеграции Yandex Pay, отказавшись от WebView из-за проблем с безопасностью и UX. Обе библиотеки предоставляют унифицированный API для платежей и управления инвентарем виджетов. ypay отвечает за проведение платежей по ссылке, обработку их результатов, абстрагируясь от сложной логики.
Нативная интеграция Yandex Pay и инвентаря виджетов для Flutter
Изображение носит иллюстративный характер

Библиотека ypay_inventory предоставляет нативные виджеты и бейджи Yandex Pay: YPayBadge, YPaySimpleWidgetView, YPayInfoWidgetView и YPayBnplPreviewWidgetView. Виджеты показывают возможность оплаты в рассрочку или получения кэшбека. Размеры виджетов автоматически рассчитываются, но следует учитывать минимальные размеры и корректную настройку темы для Application и Activity.

При разработке учитывалась разница в именовании параметров виджетов на iOS и Android. Было принято решение придерживаться наименований Android SDK. Основные параметры виджетов: сумма заказа, тема (светлая, темная, системная), выравнивание (для бейджей), прозрачность (для виджетов) и типы отображаемых данных (сплит, кэшбэк). Для YPayBnplPreviewWidgetView доступны дополнительные настройки, включая header, background, наличие обводки, отступов, размер, наличие кнопки «Оформить».

При разработке библиотеки возникли сложности с размерами виджетов на платформах. В Android размеры виджетов изменяются через OnLayoutChangeListener и OnGlobalLayoutListener. В iOS размеры виджетов меняются через updateView, updateSize и viewDidLayoutSubviews. Для корректной работы библиотек рекомендуется ознакомиться с примерами приложений и официальной документацией .


Новое на сайте