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

Для получения списка покупок используйте метод getPurchases:

PurchasesUseCase purchasesUseCase = billingClient.getPurchases();
purchasesUseCase.getPurchases().addOnCompleteListener(new OnCompleteListener<PurchasesResponse>() {
    @Override
    public void onFailure(@NonNull Throwable throwable) {
        // Process error
    }
 
    @Override
    public void onSuccess(PurchasesResponse purchasesResponse) {
        // Process success
    }
});

 

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

interface Purchase {
    @Nullable
    public String getPurchaseId();
 
    public String getProductId();
 
    @Nullable
    public ProductType getProductType();
 
    @Nullable
    public String getInvoiceId();
 
    @Nullable
    public String getDescription();
 
    @Nullable
    public String getLanguage();
 
    @Nullable
    public Date getPurchaseTime();
 
    @Nullable
    public String getOrderId();
 
    @Nullable
    public String getAmountLabel();
 
    @Nullable
    public Integer getAmount();
 
    @Nullable
    public String getCurrency();
 
    @Nullable
    public Integer getQuantity();
 
    @Nullable
    public PurchaseState getPurchaseState();
 
    @Nullable
    public String getDeveloperPayload();
 
    @Nullable
    public String getSubscriptionToken();
}
  • getPurchaseId() — идентификатор покупки. 
  • getProductId() — идентификатор продукта. 
  • getProductType() — тип продукта.
  • getInvoiceId() — идентификатор счета.
  • getDescription() — описание покупки. 
  • getLanguage() — язык, указанный с помощью BCP 47 кодирования. 
  • getPurchaseTime() — время покупки (в формате RFC 3339). 
  • getOrderId() — уникальный идентификатор оплаты, сформированный приложением (uuid). 
  • getAmountLabel() — отформатированная цена покупки, включая валютный знак на языке [language]. 
  • getAmount() — цена в минимальных единицах валюты. 
  • getCurrency() — код валюты ISO 4217. 
  • getQuantity() — количество продукта. 
  • getPurchaseState() — состояние покупки:
    • возможные значения состояния покупки: 

      • CREATED — создана;
      • INVOICE_CREATED — создана, ожидает оплаты; 
      • CONFIRMED — подтверждена;
      • PAID — оплачена;
      • CANCELLED — покупка отменена; 
      • CONSUMED — потребление покупки подтверждено; 
      • CLOSED — подписка была отменена.
  • getDeveloperPayload() — указанная разработчиком строка, содержащая дополнительную информацию о заказе;
  • getSubscriptionToken() — токен для валидации покупки на сервере.

Статусная модель (purchaseState):

Статусная модель покупки подписок (SUBSCRIPTIONS): 

image                          

 Статусная модель покупки непотребляемых продуктов (NON-CONSUMABLES):

image  

 Статусная модель покупки потребляемых продуктов (CONSUMABLES):

image

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