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

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

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

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

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

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

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

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

RuStoreBillingClient.INSTANCE.getPurchases().checkPurchasesAvailability().addOnCompleteListener(new OnCompleteListener<FeatureAvailabilityResult>() {
    @Override
    public void onFailure(@NonNull Throwable throwable) {
        // Process error
    }
 
    @Override
    public void onSuccess(FeatureAvailabilityResult featureAvailabilityResult) {
        if (featureAvailabilityResult instanceof FeatureAvailabilityResult.Available) {
            // Process purchases available
        } else if (featureAvailabilityResult instanceof FeatureAvailabilityResult.Unavailable) {
            // Process purchases unavailable
        }
    }
});

Was this information helpful?