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

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

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

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

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

  4. Пользователь и приложение не должны быть заблокированы в RuStore.  

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

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

RuStoreBillingClient.purchases.checkPurchasesAvailability()
                .addOnCompleteListener(object : OnCompleteListener<FeatureAvailabilityResult> {
                    override fun onFailure(throwable: Throwable) {
                        // Process error
                    }
 
                    override fun onSuccess(result: FeatureAvailabilityResult) {
                        when (result) {
                            is FeatureAvailabilityResult.Available -> {
                                // Process purchases available
                            }
                            is FeatureAvailabilityResult.Unavailable -> {
                                // Process purchases unavailable
                            }
                        }
                    }
                })
Was this information helpful?