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

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

Для того, чтобы узнать как правильно интегрировать платежи, рекомендуется ознакомиться с приложением-примером в папке example:

https://gitflic.ru/project/rustore/react-native-rustore-billing-sdk/file?file=example

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

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

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

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

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

// HTTPS
npm install git+https://git@gitflic.ru:rustore/react-native-rustore-billing-sdk.git
 
// SSH
npm install git+ssh://git@gitflic.ru:rustore/react-native-rustore-billing-sdk.git

Для корректной работы оплаты через сторонние приложения (СБП или SberPay), вам необходимо правильно реализовать обработку deeplink. Для этого необходимо указать в AndroidManifest.xml intent-filter со схемой вашего проекта:

<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, может быть изменена на другую.

Эта схема должна совпадать со схемой, передаваемой в методе RustoreBillingClient.initialize() .

Инициализация

Перед вызовом методов библиотеки необходимо выполнить ее инициализацию. Для инициализации вызовете метод RustoreBillingClient.initialize():

try {
  RustoreBillingClient.initialize({
    consoleApplicationId: 'appId',
    deeplinkScheme: 'scheme',
  });
  console.log(`initialize success: ${result}`);
catch (err) {
  console.log(`initialize err: ${err}`);
}
  • consoleApplicationId  код приложения из консоли разработчика RuStore (пример: https://console.rustore.ru/apps/123456). 
  • deeplinkScheme  cхема deeplink, необходимая для возврата в ваше приложение после оплаты через стороннее приложение (например, SberPay или СБП). SDK генерирует свой хост к данной схеме.

Важно, чтобы схема deeplink, передаваемая в deeplinkScheme, совпадала со схемой, указанной в AndroidManifest.xml в разделе «Обработка deeplink» выше.

Обновлено 7 августа 2023 г.
Was this information helpful?