Общая информация

Пример реализации

Чтобы узнать как правильно интегрировать платежи, ознакомьтесь с приложением-примером.

Условия работы платежей

Для работы проведения платежей необходимо соблюдение всех условий:

  1. На устройстве пользователя установлено приложение RuStore. 
  2. Приложение RuStore поддерживает функциональность платежей.
  3. Пользователь авторизован в приложении RuStore.
  4. Пользователь и приложение не должны быть заблокированы в RuStore.
  5. Для приложения включена возможность покупок в системе RuStore Консоль.

Сервис имеет некоторые ограничения на работу за пределами РФ.

Подключение в проект

Для подключения пакета платежей к проекту выполните команду:

flutter pub add flutter_rustore_billing

Эта команда добавит строчку в файл pubspec.yaml.

dependencies:
  flutter_rustore_billing: ^0.0.4

Для корректной работы оплаты через сторонние приложения (СБП или 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».

Обновлено 7 июля 2023 г.
Was this information helpful?