Потребление (подтверждение) покупки

Приложение RuStore содержит продукты следующих типов:

  • CONSUMABLE — потребляемый (можно купить много раз, например кристаллы в приложении);

  • NON_CONSUMABLE — непотребляемый (можно купить один раз, например отключение рекламы в приложении); 

  • SUBSCRIPTION — подписка (можно купить на период времени, например подписка в стриминговом сервисе). 

Потребления требуют только продукты типа CONSUMABLE, если они находятся в состоянии PurchaseState.PAID.

Для потребления покупки вы можете использовать метод RustoreBillingClient.confirm(id):

RustoreBillingClient.confirm(id).then((response) {
      print("confirm success: $response");
    }, onError: (err) {
      print("confirm err: $err");
});
  • id — идентификатор покупки. 

Метод возвращает ConfirmPurchaseResponse:

class ConfirmPurchaseResponse {
  int code;
  String? errorMessage;
  String? errorDescription;
  String? traceId;
  List<DigitalShopGeneralError?> errors;
}
  • code — код ответа;
  • errorMessage — сообщение об ошибке для пользователя;
  • errorDescription — расшифровка сообщения об ошибке;
  • traceId — идентификатор ошибочного сообщения;
  • errors — список ошибок.

Структура ошибки DigitalShopGeneralError:

class DigitalShopGeneralError {
  String? name;
  int? code;
  String? description;
}
  • name — наименование атрибута ошибки;
  • code — код ошибки;
  • description — описание ошибки.
Обновлено 20 июня 2023 г.
Was this information helpful?