RuStoreSDK для подключения платежей

Общее

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

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

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

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

  1. На устройстве пользователя установлено приложение RuStore. 

  2. Приложение RuStore поддерживает функциональность платежей.

  3. Пользователь авторизован в приложении RuStore.

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

Добавление репозитория

Подключите репозиторий:

repositories {
    maven {
    }
}

Подключение зависимости

Добавьте следующий код в свой конфигурационный файл для подключения зависимости:

dependencies {
    implementation("ru.rustore.sdk:billingclient:0.1.1")
}

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

Добавьте в Activity:

override fun onCreate(savedInstanceState: Bundle?) {
    super.onCreate(savedInstanceState)
    if (savedInstanceState == null) {
        RuStoreBillingClient.onNewIntent(intent)
    }
}
 
override fun onNewIntent(intent: Intent?) {
    super.onNewIntent(intent)
    RuStoreBillingClient.onNewIntent(intent)
}

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

Перед вызовом методов библиотеки выполните ее инициализацию. Добавьте следующий код в Application вашего проекта:

class App : Application() {
 
    override fun onCreate() {
        super.onCreate()        
        RuStoreBillingClient.init(
            application = this,
            consoleApplicationId = "111111",
            deeplinkPrefix = "yourappscheme://iamback",
        )
    }
}
  • application — экземпляр класса application приложения;
  • consoleApplicationId — код приложения из системы RuStore Консоль (пример: https://console.rustore.ru/apps/111111);
  • deeplinkPrefix — url для использования deeplink («iamback» — адрес, по которому будет возвращаться приложение после оплаты, может быть названо иначе).

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

Если вам нужно проверить факт инициализации библиотеки, используйте RuStoreBillingClient.isInitialized, возвращающий true, если библиотека инициализирована, и false, если init еще не был вызван.

val isInitialized: Boolean = RuStoreBillingClient.isInitialized

Библиотека поддерживает логирование событий, которое подключается отдельно при инициализации библиотеки.

Was this information helpful?