Получение списка покупок
Для получения списка покупок используйте метод getPurchases:
RuStoreBillingClient.INSTANCE.getPurchases().getPurchases().addOnCompleteListener( new OnCompleteListener<PurchasesResponse>() { @Override public void onFailure( @NonNull Throwable throwable) { // Process error } @Override public void onSuccess(PurchasesResponse purchasesResponse) { // Process success } }); |
Метод возвращает:
interface PurchasesResponse extends ResponseWithCode { @Nullable @Override public RequestMeta getMeta(); @Override public int getCode(); @Nullable @Override public String getErrorMessage(); @Nullable @Override public String getErrorDescription(); @Nullable @Override public List<DigitalShopGeneralError> getErrors(); @Nullable public List<Purchase> getPurchases(); } |
- getMeta() — дополнительная информация о запросе;
- getCode() — код ответа;
- getErrorMessage() — сообщение об ошибке;
- getErrorDescription() — описание ошибки;
- getErrors() — список ошибок;
- getPurchases() — список покупок.
Структура дополнительной информации о запросе:
interface RequestMeta { public String getTraceId(); } |
- getTraceId() — метка запроса.
Структура ошибки:
interface DigitalShopGeneralError { @Nullable public String getName(); @Nullable public Integer getCode(); @Nullable public String getDescription(); } |
- getName() — наименование атрибута ошибки;
- getCode() — код ошибки;
- getDescription() — описание ошибки.
Структура покупки:
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):
Статусная модель покупки непотребляемых продуктов (NON-CONSUMABLES):
Статусная модель покупки потребляемых продуктов (CONSUMABLES):
Was this information helpful?