Общая информация
Пример реализации
Чтобы узнать как правильно интегрировать платежи, ознакомьтесь с приложением-примером.
Условия работы платежей
Для работы проведения платежей необходимо соблюдение всех условий:
- На устройстве пользователя установлено приложение RuStore.
- Приложение RuStore поддерживает функциональность платежей.
- Пользователь авторизован в приложении RuStore.
- Пользователь и приложение не должны быть заблокированы в RuStore.
- Для приложения включена возможность покупок в системе RuStore Консоль.
Сервис имеет некоторые ограничения на работу за пределами РФ.
Подключение в проект
Для подключения пакета платежей к проекту выполните команду:
flutter pub add flutter_rustore_billing |
Эта команда добавит строчку в файл pubspec.yaml.
dependencies: flutter_rustore_billing: ^ 0.0 .4 |
Обработка deeplink
Для корректной работы оплаты через сторонние приложения (СБП или SberPay) вам необходимо правильно реализовать обработку deeplink. Для этого укажите в AndroidManifest.xml intent-filter с scheme вашего проекта:
<activity android:name= ".sample.MainActivity" > <intent-filter> <action android:name= "android.intent.action.MAIN" /> <category android:name= "android.intent.category.LAUNCHER" /> </intent-filter> <intent-filter> <action android:name= "android.intent.action.VIEW" /> <category android:name= "android.intent.category.DEFAULT" /> <category android:name= "android.intent.category.BROWSABLE" /> <data android:scheme= "yourappscheme" /> </intent-filter> </activity> |
где «yourappscheme» — схема вашего deeplink, может быть изменена на другую.
Эта схема должна совпадать со схемой, передаваемым в методе initialize().
Инициализация
Перед вызовом методов библиотеки необходимо выполнить ее инициализацию. Для инициализации вызовете метод RustoreBillingClient.initialize():
RustoreBillingClient.initialize( "123456" , "yourappscheme://iamback" , ).then((value) { print( "initialize success: $value" ); }, onError: (err) { print( "initialize err: $err" ); }); |
- 123456 — код приложения из консоли разработчика RuStore (пример: https://console.rustore.ru/apps/123456).
- yourappscheme://iamback — cхема deeplink, необходимая для возврата в ваше приложение после оплаты через стороннее приложение (например, SberPay или СБП). SDK генерирует свой хост к данной схеме.
Важно, чтобы схема deeplink, передаваемая в deeplinkScheme, совпадала со схемой, указанной в AndroidManifest.xml в разделе «Обработка deeplink».