Потребление покупки
Приложение RuStore содержит продукты следующих типов:
- CONSUMABLE — потребляемый (можно купить много раз, например, кристаллы в приложении);
- NON_CONSUMABLE — непотребляемый (можно купить один раз, например отключение рекламы в приложении);
- SUBSCRIPTION — подписка (можно купить на период времени, например подписка в стриминговом сервисе).
Потребления требуют только продукты типа CONSUMABLE, если они находятся в состоянии PurchaseState.PAID.
Для потребления покупки вы можете использовать метод confirmPurchase:
RuStoreBillingClient.purchases.confirmPurchase(purchaseId = "" ) .addOnCompleteListener(object : OnCompleteListener<ConfirmPurchaseResponse> { override fun onFailure(throwable: Throwable) { // Process error } override fun onSuccess(result: ConfirmPurchaseResponse) { // Process success } }) |
- purchaseId — идентификатор покупки;
- developerPayload — указанная разработчиком строка, содержащая дополнительную информацию о заказе (опционально).
Метод возвращает:
data class ConfirmPurchaseResponse( override val meta: RequestMeta?, override val code: Int, override val errorMessage: String?, override val errorDescription: String?, override val errors: List<DigitalShopGeneralError>?, ) : ResponseWithCode |
- meta — дополнительная информация о запросе$
- code — код ответа;
- errorMessage — сообщение об ошибке для пользователя;
- errorDescription — расшифровка сообщения об ошибке;
- errors — список ошибок.
Структура дополнительной информации о запросе:
data class RequestMeta( val traceId: String, ) |
- traceId — метка запроса.
Структура ошибки:
data class DigitalShopGeneralError( val name: String?, val code: Int?, val description: String?, ) |
- name — наименование атрибута ошибки;
- code — код ошибки;
- description — описание ошибки.
Was this information helpful?