Получение списка покупок пользователя
Для получения списка покупок пользователя используйте метод getPurchases
val purchasesUseCase: PurchasesUseCase = billingClient.purchases purchasesUseCase.getPurchases() .addOnSuccessListener { purchases: PurchasesResponse -> // Process success } .addOnFailureListener { throwable: Throwable -> // Process error } |
Метод возвращает:
data class PurchasesResponse( override val meta: RequestMeta?, override val code: Int, override val errorMessage: String?, override val errorDescription: String?, override val errors: List<DigitalShopGeneralError>?, val purchases: List<Purchase>?, ) : ResponseWithCode |
- meta — дополнительная информация о запросе;
- code — код ответа;
- errorMessage — сообщение об ошибке для пользователя;
- errorDescription — расшифровка сообщения об ошибке;
- errors — список ошибок для запрошенных покупок;
- purchases — список запрошенных покупок.
Структура дополнительной информации о запросе:
data class RequestMeta( val traceId: String, ) |
- traceId — метка запроса.
Структура ошибки:
data class DigitalShopGeneralError( val name: String?, val code: Int?, val description: String?, ) |
- name — наименование атрибута ошибки;
- code — код ошибки;
- description — описание ошибки.
Структура покупки:
data class Purchase( val purchaseId: String?, val productId: String, val productType: ProductType?, val invoiceId: String?, val description: String?, val language: String?, val purchaseTime: Date?, val orderId: String?, val amountLabel: String?, val amount: Int?, val currency: String?, val quantity: Int?, val purchaseState: PurchaseState?, val developerPayload: String?, val subscriptionToken: String? ) |
- purchaseId — идентификатор покупки;
- productId — идентификатор продукта;
- productType — тип продукта;
- invoiceId — идентификатор счета;
- description — описание покупки;
- language — язык, указанный с помощью BCP 47 кодирования;
- purchaseTime — время покупки (в формате RFC 3339);
- orderId — уникальный идентификатор оплаты, сформированный приложением (uuid);
- amountLable — отформатированная цена покупки, включая валютный знак на языке [language];
- amount — цена в минимальных единицах валюты;
- currency — код валюты ISO 4217;
- quantity — количество продукта;
- purchaseState — состояние покупки:
-
возможные значения состояния покупки:
- CREATED — создана;
- INVOICE_CREATED — создана, ожидает оплаты;
- CONFIRMED — подтверждена;
- PAID — оплачена;
- CANCELLED — покупка отменена;
- CONSUMED — потребление покупки подтверждено;
- CLOSED — подписка была отменена.
- developerPayload — указанная разработчиком строка, содержащая дополнительную информацию о заказе;
- subscriptionToken — токен для валидации покупки на сервере. Подробнее о валидации покупки на сервере.
Статусная модель (purchaseState):
Статусная модель покупки подписок (SUBSCRIPTIONS):
Статусная модель покупки непотребляемых продуктов (NON-CONSUMABLES):
Статусная модель покупки потребляемых продуктов (CONSUMABLES):
Обновлено 12 апреля 2023 г.
Was this information helpful?