Получение информации о покупке
Для получения информации о покупке, используйте метод 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):
Статусная модель покупки непотребляемых продуктов (NON-CONSUMABLES):
Статусная модель покупки потребляемых продуктов (CONSUMABLES):
Обновлено 13 июня 2023 г.
Was this information helpful?