Получение списка покупок пользователя
Для получения списка покупок пользователя используйте метод getPurchases
RuStoreBillingClient.purchases.getPurchases() .addOnCompleteListener(object : OnCompleteListener<PurchasesResponse> { override fun onFailure(throwable: Throwable) { // Process error } override fun onSuccess(result: PurchasesResponse) { // Process success } }) |
Метод возвращает:
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 description: String?, val language: String?, val purchaseTime: String?, val orderId: String?, val amountLabel: String?, val amount: Int?, val currency: String?, val quantity: Int?, val purchaseState: PurchaseState?, val developerPayload: String?, ) |
- purchaseId — идентификатор покупки;
- productId — идентификатор продукта;
- 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 — указанная разработчиком строка, содержащая дополнительную информацию о заказе.
Статусная модель (purchaseState):
Статусная модель покупки подписок (SUBSCRIPTIONS):
Статусная модель покупки непотребляемых продуктов (NON-CONSUMABLES):
Статусная модель покупки потребляемых продуктов (CONSUMABLES):
Was this information helpful?