Перейти к основному содержимому

Получение данных подписки (V3) [DEPRECATED]

DEPRECATED

Поддержка BillingClient SDK прекращается 1 августа 2026 года. После 1 августа 2026 года платежи перестанут обрабатываться для всех покупок, включая подписки.

До этого времени BillingClient SDK продолжает свою работу, но устранение неисправностей, влияющих на работу платежей, может занимать больше времени. Новая функциональность добавляться не будет.

Рекомендуем использовать Pay SDK в проектах.
Для перехода на Pay SDK воспользуйтесь инструкцией по миграции.

Метод позволяет получить информацию о подписке по токену подписки.

подсказка

Если не знаете с чего начать, прочтите инструкцию в сценариях использования.

Параметры взаимодействия

Для реальных подписок:

GET
https://public-api.rustore.ru/public/v3/subscription/{packageName}/{subscriptionId}/{subscriptionToken}
предупреждение

Для тестовых подписок используйте отдельный метод:

GET
https://public-api.rustore.ru/public/sandbox/v3/subscription/{packageName}/{subscriptionId}/{subscriptionToken}

Для работы с тестовыми платежами и подписками вам понадобится новый ключ, при создании которого нужно указать методы для тестирования.

АтрибутТипОписаниеОбязательностьРасположениеПример
Public-TokenstringJwe-токен авторизации в Public API Rustore.
Как получить токен авторизации.
ДаheaderN/A
packageNamestringНаименование пакета приложения.Даpathcom.MashaAndTheBear.HairSalon
subscriptionIdstringКод продукта-подписки.
Указывается разработчиком при создании продукта в RuStore Консоли.

Как создать подписку.
Даpathdaily_sub
subscriptionTokenstringКак получить токен подписки, см. документацию по SDK платежей.Даpath111.123

Параметры успешного ответа

АтрибутТипОписаниеОбязательностьПример
startTimeMillisstringВремя предоставления подписки в миллисекундах с начала эпохи.Да1577826955637
expiryTimeMillisstringВремя истечения срока действия подписки в миллисекундах с начала эпохи.Да1609456386128
autoRenewingbooleanБудет ли подписка автоматически продлеваться по истечении текущего срока действия.Даfalse
priceCurrencyCodestringКод валюты ISO 4217 для цены подписки.ДаRUB
priceAmountMicrosstringЦена подписки. Цена выражается в микроединицах, где 1 000 000 микроединиц представляет собой одну единицу валюты. Например, если цена подписки составляет 100 рублей, цена AmountMicros равна 100000000.Да749000000
countryCodestringКод страны/региона выставления счетов пользователя на момент предоставления подписки.ДаRU
paymentStatenumberСостояние оплаты подписки. Возможные значения:
0 — ожидание платежа
1 — платёж получен;
2 — бесплатная пробная версия.

Отсутствует для отмененных подписок с истекшим сроком действия.
нет, только для активных подписок1
cancelReasonnumberПричина, по которой подписка была отменена или не продлевается автоматически. Возможные значения:
0 — пользователь отменил подписку
1 — подписка была отменена системой, например, из-за проблемы с оплатой.
нет, только для отмененных подписок со статусом CLOSED0
orderIdstringИдентификатор последнего счета, связанного с покупкой подписки. Если счетов по подписке более одного, к идентификатору добавляется их количество через разделитель "..", начало отсчёта от 0Да41456..3
acknowledgementStatenumberСостояние подтверждения продукта подписки. Возможные значения:
0 — ещё не подтверждено;
1 — подтверждено.
Да1
introductoryPriceInfo{}objectИнформация о промо периоде подписки. Это поле не указывает, что подписка в настоящее время находится в промо периоде.нет, только для подписок с периодом PROMON/A
kindstringВсегда передаётся значение androidpublisher#subscriptionPurchaseДаandroidpublisher#subscriptionPurchase
purchaseTypenumberВозможные значения:
0 — реальная подписка;
1тестовая подписка.
Да0

introductoryPriceInfo{}

АтрибутТипОписаниеОбязательностьПример
introductoryPriceCurrencyCodestringКод валюты ISO 4217 для начальной цены подписки.нет, только для подписок с периодом PROMO.RUB
introductoryPriceAmountMicrosstringНачальная цена подписки. Валюта совпадает с priceCurrencyCode. Цена выражается в микроединицах, где 1 000 000 микроединиц представляет собой одну единицу валюты. Например, если цена подписки составляет 100 рублей, цена AmountMicros равна 100000000.нет, только для подписок с периодом PROMO599000000
introductoryPricePeriodstringПериод начальной цены, указанный в формате ISO 8601. Например, P1W (одна неделя), P1M (один месяц), P3M (три месяца), P6M (шесть месяцев) и P1Y (один год).нет, только для подписок с периодом PROMOP1Y
introductoryPriceCyclesstringКоличество расчетных периодов для предложения начальной цены.нет, только для подписок с периодом PROMO1

Пример успешного ответа

{
"startTimeMillis": "1694431707000",
"expiryTimeMillis": "1697034507000",
"autoRenewing": true,
"priceCurrencyCode": "RUB",
"priceAmountMicros": "749000000",
"countryCode": "RU",
"paymentState": 1,
"orderId": "33252..1",
"acknowledgementState": 1,
"kind": "androidpublisher#subscriptionPurchase",
"purchaseType": 0,
"introductoryPriceInfo":
{
"introductoryPriceCurrencyCode": "RUB",
"introductoryPriceAmountMicros": "599000000",
"introductoryPricePeriod": "P1M",
"introductoryPriceCycles": "1"
}
}

Параметры ошибки

АтрибутТипОписаниеОбязательностьПример
codestringКод ответа.ДаERROR
messagestringРасшифровка кода ответа.НетJwe token is expired
body{}objectТело ответа.НетN/A
timestampstringВремя ответа.Да2024-01-21T13:34:31.067240345+03:00

Пример ответа с ошибкой

{
"code": "ERROR",
"message": "Jwe token is expired",
"body": null,
"timestamp": "2024-01-21T13:51:59.654427798+03:00"
}