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

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

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

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

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

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
paymentStateintСостояние оплаты подписки. Возможные значения:
0 — ожидание платежа
1 — получение платежа;
• 2 — бесплатная пробная версия.

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