Получение данных подписки (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-Token | string | Jwe-токен авторизации в Public API Rustore. Как получить токен авторизации. | Да | header | N/A |
packageName | string | Наименование пакета приложения. | Да | path | com.MashaAndTheBear.HairSalon |
subscriptionId | string | Код продукта-подписки. Указывается разработчиком при создании продукта в RuStore Консоли. Как создать подписку на приложение. | Да | path | daily_sub |
subscriptionToken | string | Как получить токен подписки, см. документацию по SDK платежей. | Да | path | 111.123 |
Параметры успешного ответа
Атрибут | Тип | Описание | Обязательность | Пример |
---|---|---|---|---|
startTimeMillis | string | Время предоставления подписки в миллисекундах с начала эпохи. | Да | 1577826955637 |
expiryTimeMillis | string | Время истечения срока действия подписки в миллисекундах с начала эпохи. | Да | 1609456386128 |
autoRenewing | boolean | Будет ли подписка автоматически продлеваться по истечении текущего срока действия. | Да | false |
priceCurrencyCode | string | Код валюты ISO 4217 для цены подписки. | Да | RUB |
priceAmountMicros | string | Цена подписки. Цена выражается в микроединицах, где 1 000 000 микроединиц представляет собой одну единицу валюты. Например, если цена подписки составляет 100 рублей, цена AmountMicros равна 100000000. | Да | 749000000 |
countryCode | string | Код страны/региона выставления счетов пользователя на момент предоставления подписки. | Да | RU |
paymentState | int | Состояние оплаты подписки. Возможные значения: • 0 — ожидание платежа • 1 — платёж получен; • 2 — бесплатная пробная версия.Отсутствует для отмененных подписок с истекшим сроком действия. | нет, только для активных подписок | 1 |
cancelReason | int | Причина, по которой подписка была отменена или не продлевается автоматически. Возможные значения: • 0 — пользователь отменил подписку • 1 — подписка была отменена системой, например, из-за проблемы с оплатой. | нет, только для от мененных подписок со статусом CLOSED | 0 |
orderId | string | Идентификатор последнего счета, связанного с покупкой подписки. Если счетов по подписке более одного, к идентификатору добавляется их количество через разделитель "..", начало отсчёта от 0 | Да | 41456..3 |
acknowledgementState | int | Состояние подтверждения продукта подписки. Возможные значения: • 0 — ещё не подтверждено; • 1 — подтверждено. | Да | 1 |
introductoryPriceInfo{} | object | Информация о промо периоде подписки. Это поле не указывает, что подписка в настоящее время находится в промо периоде. | нет, только для подписок с периодом PROMO | N/A |
kind | string | Всегда передаётся значение androidpublisher#subscriptionPurchase | Да | androidpublisher#subscriptionPurchase |
purchaseType | int | Возможные значения: • 0 — реальная подписка; • 1 — тестовая подписка. | Да | 0 |
introductoryPriceInfo{}
Атрибут | Тип | Описание | Обязательность | Пример |
---|---|---|---|---|
introductoryPriceCurrencyCode | string | Код валюты ISO 4217 для начальной цены подписки. | нет, только для подписок с периодом PROMO . | RUB |
introductoryPriceAmountMicros | string | Начальная цена подписки. Валюта совпадает с priceCurrencyCode . Цена выражается в микроединицах, где 1 000 000 микроединиц представляет собой одну единицу валюты. Например, если цена подписки составляет 100 рублей, цена AmountMicros равна 100000000. | нет, только для подписок с периодом PROMO | 599000000 |
introductoryPricePeriod | string | Период начальной цены, указанный в формате ISO 8601. Например, P1W (одна неделя), P1M (один месяц), P3M (три месяца), P6M (шесть месяцев) и P1Y (один год). | нет, только для подписок с периодом PROMO | P1Y |
introductoryPriceCycles | string | Количество расчетных периодов для предложения начальной цены. | нет, только для подписок с периодом PROMO | 1 |
Пример успешного ответа
{
"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"
}
}
Параметры ошибки
Атрибут | Тип | Описание | Обязательность | Пример |
---|---|---|---|---|
code | string | Код ответа. | Да | ERROR |
message | string | Расшифровка кода ответа. | Нет | Jwe token is expired |
body{} | object | Тело ответа. | Нет | N/A |
timestamp | string | Время ответа. | Да | 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"
}