Отмена покупки

Для отмены покупки вы можете использовать метод deletePurchase:

val purchasesUseCase: PurchasesUseCase = billingClient.purchases
purchasesUseCase.deletePurchase(purchaseId = "purchaseId")
    .addOnSuccessListener {
        // Process success
    }.addOnFailureListener { throwable: Throwable ->
        // Process error
    }
  • purchaseId — идентификатор покупки.

Используйте метод, если у вас есть логика, завязанная на удалении покупки. Покупка отменяется автоматически через таймаут в 20 минут, либо при повторной покупке от того же клиента.

Обработка ошибок

Возможные ошибки:

  • RuStoreNotInstalledException() — на устройстве пользователя не установлен RuStore. 
  • RuStoreOutdatedException() — RuStore установленный на устройстве пользователя не поддерживает платежи. 
  • RuStoreUserUnauthorizedException() — пользователь не авторизован в RuStore. 
  • RuStoreApplicationBannedException() — приложение забанено в RuStore. 
  • RuStoreUserBannedException() — пользователь забанен в RuStore. 
  • RuStoreException(message: String) — базовая ошибка RuStore от которой наследуются остальные ошибки. 

При вызове метода RuStoreBillingClient.purchases.purchaseProduct(), ошибки обрабатываются автоматически.

Для показа диалога с ошибкой пользователю, вы можете использовать метод resolveForBilling:

Обработка ошибок
public fun RuStoreException.resolveForBilling(context: Context)

 

Обновлено 28 ноября 2023 г.
Was this information helpful?