Получение списка покупок

Для получения списка покупок необходимо использовать метод RustoreBillingClient.purchases():

RustoreBillingClient.purchases().then((response) {
      for (final product in response.purchases) {
        print(product?.purchaseId);
      }
}, onError: (err) {
      print("purchases err: $err");
});

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

class PurchasesResponse {
  int code;
  String? errorMessage;
  String? errorDescription;
  String? traceId;
  List<Purchase?> purchases;
  List<DigitalShopGeneralError?> errors;
}
  • code — код ответа;
  • errorMessage — сообщение об ошибке; 
  • errorDescription — описание ошибки; 
  • traceId — идентификатор ошибки;
  • errors — список ошибок;
  • purchases — список покупок.

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

class DigitalShopGeneralError {
  String? name;
  int? code;
  String? description;
}
  • name — наименование ошибки;
  • code — код ошибки;
  • description — описание ошибки.

Структура покупки Purchase:

class Purchase {
  String? purchaseId;
  String? productId;
  String? description;
  String? language;
  String? purchaseTime;
  String? orderId;
  String? amountLabel;
  int? amount;
  String? currency;
  int? quantity;
  String? purchaseState;
  String? developerPayload;
}
  • purchaseId — идентификатор покупки;
  • productId — идентификатор продукта;
  • description — описание покупки;
  • language — язык, указанный с помощью BCP 47 кодирования; 
  • purchaseTime — время покупки;
  • orderId — уникальный идентификатор оплаты, сформированный приложением (uuid);
  • amountLable — отформатированная цена покупки, включая валютный знак на языке [language];
  • amount — цена в минимальных единицах валюты (копейках);
  • currency — код валюты ISO 4217;
  • quantity — количество продукта;
  • purchaseState — состояние покупки:
    • возможные значения состояния покупки: 

      • CREATED — создана;
      • INVOICE_CREATED — создана, ожидает оплаты; 
      • CONFIRMED — подтверждена;
      • PAID — оплачена;
      • CANCELLED — покупка отменена; 
      • CONSUMED — потребление покупки подтверждено; 
      • CLOSED — подписка была отменена.
  • developerPayload — указанная разработчиком строка, содержащая дополнительную информацию о заказе.
Обновлено 20 июня 2023 г.
Was this information helpful?