Получение информации о покупке

Для получения информации о покупке, используйте метод getPurchaseInfo:

PurchasesUseCase purchasesUseCase = billingClient.getPurchases();
purchasesUseCase.getPurchaseInfo("purchaseId").addOnCompleteListener(new OnCompleteListener<PurchaseInfoResponse>() {
    @Override
    public void onFailure(@NonNull Throwable throwable) {
        // Process error
    }
 
    @Override
    public void onSuccess(PurchaseInfoResponse result) {
        // 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() — указанная разработчиком строка, содержащая дополнительную информацию о заказе;
  • getDeveloperPayload() — токен для валидации покупки на сервере.

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

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

image

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

image

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

image

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