Получение данных подписки (V3) [DEPRECATED]
Поддержка BillingClient SDK прекращается 1 августа 2026 года. После 1 августа 2026 года платежи перестанут обрабатываться для всех покупок, включая подписки.
До этого времени BillingClient SDK продолжает свою работу, но устранение неисправностей, влияющих на работу платежей, может занимать больше времени. Новая функциональность добавляться не будет.
Рекомендуем использовать Pay SDK в проектах.
Для перехода на Pay SDK воспользуйтесь инструкцией по миграции.
Метод позволяет получить информацию о подписке по токену подписки.
Если не знаете с чего начать, прочтите инструкцию в сценариях использования.
Параметры взаимодействия
Для реальных подписок:
https://public-api.rustore.ru/public/v3/subscription/{packageName}/{subscriptionId}/{subscriptionToken}
Для тестовых подписок используйте отдельный метод:
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 | number | Состояние оплаты подписки. Возможные значения: • 0 — ожидание платежа • 1 — платёж получен; • 2 — бесплатная пробная версия.Отсутствует для отмененных подписок с истекшим сроком действия. | нет, только для активных подписок | 1 |
cancelReason | number | Причина, по которой подписка была отменена или не продлевается автоматически. Возможные значения: • 0 — пользователь отменил подписку • 1 — подписка была отменена системой, например, из-за проблемы с оплатой. | нет, только для отмененных подписок со статусом CLOSED | 0 |
orderId | string | Идентификатор последнего счет а, связанного с покупкой подписки. Если счетов по подписке более одного, к идентификатору добавляется их количество через разделитель "..", начало отсчёта от 0 | Да | 41456..3 |
acknowledgementState | number | Состояние подтверждения продукта подписки. Возможные значения: • 0 — ещё не подтверждено; • 1 — подтверждено. | Да | 1 |
introductoryPriceInfo{} | object | Информация о промо периоде подписки. Это поле не указывает, что подписка в настоящее время находится в промо периоде. | нет, только для подписок с периодом PROMO | N/A |
kind | string | Всегда передаётся значение androidpublisher#subscriptionPurchase | Да | androidpublisher#subscriptionPurchase |
purchaseType | number | Возможные значения: • 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"
}