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

Для проверки доступности платежей, вызовите метод 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
        }
    }
});

Обновлено 20 июня 2023 г.
Was this information helpful?