Общая информация
Пример реализации
Для того, чтобы узнать как правильно интегрировать платежи, рекомендуется ознакомиться с приложением-примером в папке example:
https://gitflic.ru/project/rustore/react-native-rustore-billing-sdk/file?file=example
Условия работы платежей
Для работы проведения платежей необходимо соблюдение следующих условий:
- На устройстве пользователя должен быть установлен RuStore.
- RuStore должен поддерживать функциональность платежей.
- Пользователь должен быть авторизован в RuStore.
- Пользователь и приложение не должны быть заблокированы в RuStore.
- Для приложения должна быть включена возможность покупок в 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 |
Обработка deeplink
Для корректной работы оплаты через сторонние приложения (СБП или 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» выше.