Получение информации о покупке
Для получения информации о покупке, используйте метод getPurchaseInfo:
RuStoreBillingClient.INSTANCE.getPurchases().getPurchaseInfo( "purchaseId" ). addOnCompleteListener( new OnCompleteListener<PurchaseInfoResponse>() {
@Override public void onFailure( @NonNull Throwable throwable) { // Process error } @Override public void onSuccess(PurchaseInfoResponse result) { // Process success } }); |
Метод возвращает:
interface PurchaseInfoResponse 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 Purchase getPurchase(); } |
- getMeta() — дополнительная информация о запросе;
- getCode() — код ответа;
- getErrorMessage() — сообщение об ошибке для пользователя;
- getErrorDescription() — расшифровка сообщения об ошибке;
- getErrors() — список ошибок для запрошенных покупок;
- getPurchase() — список запрошенных покупок.
Структура дополнительной информации о запросе:
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() — указанная разработчиком строка, содержащая дополнительную информацию о заказе;
- getDeveloperPayload() — токен для валидации покупки на сервере.
Статусная модель (purchaseState):
Статусная модель покупки подписок (SUBSCRIPTIONS):
Статусная модель покупки непотребляемых продуктов (NON-CONSUMABLES):
Статусная модель покупки потребляемых продуктов (CONSUMABLES):
Was this information helpful?