Перейти к основному содержимому

Проверка доступности работы с платежами

Во время проверки доступности платежей проверяются следующие условия.

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

Для проверки доступности платежей вызовите метод checkPurchasesAvailability.

Если все указанные выше условия выполняются, возвращается FeatureAvailabilityResult.Available. В противном случае возвращается FeatureAvailabilityResult.Unavailable(val cause: RuStoreException), где cause — это ошибка о невыполненном условии.

Все возможные ошибки RuStoreException описаны в разделе Обработка ошибок. Прочие ошибки, например — «Нет соединения с интернетом», возвращаются в onFailure.

RuStoreBillingClient.checkPurchasesAvailability(context)
.addOnSuccessListener { result ->
when (result) {
FeatureAvailabilityResult.Available -> {
// Process purchases available
}

is FeatureAvailabilityResult.Unavailable -> {
// Process purchases unavailable
}
}
}.addOnFailureListener { throwable ->
// Process unknown error
}

context — контекст Android.