Метод позволяет получить подписку из системы платежного провайдера по purchaseToken первого платежа.
Параметры взаимодействия
GET /public/v2/subscription/{packageName}/{subscriptionId}/{purchaseToken}
Атрибут |
Тип |
Описание |
Обязательность |
Расположение |
Пример заполнения |
---|---|---|---|---|---|
Public-Token |
string |
Токен доступа к Public API Rustore |
Да |
header |
|
packageName |
string |
Наименование пакета приложения |
Да |
path |
|
subscriptionId |
string |
Код продукта-подписки |
Да |
path |
|
purchaseToken |
string |
Токен состоит из склеенных параметров invoiceId и userId.
Пример токена для invoiceId = 111 и userId = 123: 111.123 |
Да |
path |
Параметры успешного ответа
Атрибут |
Тип |
Описание |
Обязательность |
Пример заполнения |
---|---|---|---|---|
startTimeMillis |
string |
Время предоставления подписки в миллисекундах с начала эпохи |
Да |
1577826955637 |
expiryTimeMillis |
string |
Время истечения срока действия подписки в миллисекундах с начала эпохи |
Да |
1609456386128 |
autoRenewing |
boolean |
Будет ли подписка автоматически продлеваться по истечении текущего срока действия |
Да |
false |
priceCurrencyCode |
string |
Код валюты ISO 4217 для цены подписки. Например, если цена указана в британских фунтах стерлингов, то priceCurrencyCode — «GBP». |
Да |
RUB |
priceAmountMicros |
string |
Цена подписки. Для стран без налогов цена не включает налог. Для стран с включенным налогом цена включает налог. Цена выражается в микроединицах, где 1 000 000 микроединиц представляет собой одну единицу валюты. Например, если цена подписки составляет 1,99 евро, ценаAmountMicros равна 1990000 |
Да |
749000000 |
countryCode |
string |
Код страны/региона выставления счетов по ISO 3166-1 alpha-2 пользователя на момент предоставления подписки |
Да |
RU |
developerPayload |
string |
Указанная разработчиком строка, содержащая дополнительную информацию о заказе |
Да |
ZXhhbXBsZQ |
paymentState |
int |
Состояние оплаты подписки. Возможные значения: Отсутствует для отмененных подписок с истекшим сроком действия. |
Нет, только для активных подписок (state != CLOSED, REFUNDED, CLOSE_PENDING, ERROR, MIGRATED), иначе не передается |
1 |
cancelReason |
int |
Причина, по которой подписка была отменена или не продлевается автоматически. Возможные значения: |
Нет, только для отмененных подписок со статусом CLOSED, иначе не передается |
0 |
orderId |
string |
Идентификатор последнего повторяющегося заказа, связанного с покупкой подписки. Если подписка была отменена из-за отклонения платежа, это будет идентификатор заказа из заказа с отклоненным платежом |
Да |
GPA.3344-2911-7096-60950 |
acknowledgementState |
int |
Состояние подтверждения продукта подписки. Возможные значения: |
Да |
1 |
introductoryPriceInfo{} |
object |
Вводная информация о цене подписки. Это присутствует только в том случае, если подписка была приобретена по начальной цене. Это поле не указывает, что подписка в настоящее время находится в периоде начальной цены. |
Нет, только для подписок с периодом PROMO, иначе не передается |
|
kind |
string |
Этот вид представляет объект подписки на покупку в службе androidpublisher |
Да |
androidpublisher#subscriptionPurchase |
purchaseType |
int |
Тип покупки подписки. Это поле устанавливается только в том случае, если эта покупка не была совершена с использованием стандартного процесса выставления счетов в приложении. Возможные значения: |
Нет, передается только в тестовой среде |
0 |
introductoryPriceInfo{}
Атрибут |
Тип |
Описание |
Обязательность |
Пример заполнения |
---|---|---|---|---|
introductoryPriceCurrencyCode |
string |
Код валюты ISO 4217 для начальной цены подписки. Например, если цена указана в британских фунтах стерлингов, то priceCurrencyCode — «GBP» |
Нет, только для подписок с периодом PROMO |
RUB |
introductoryPriceAmountMicros |
string |
Начальная цена подписки, не включая налог. Валюта совпадает с priceCurrencyCode. Цена выражается в микроединицах, где 1 000 000 микроединиц представляет собой одну единицу валюты. Например, если цена подписки составляет 1,99 евро, ценаAmountMicros равна 1990000 |
Нет, только для подписок с периодом PROMO |
599000000 |
introductoryPricePeriod |
string |
Период начальной цены, указанный в формате ISO 8601. Распространенными значениями являются (но не ограничиваются ими) «P1W» (одна неделя), «P1M» (один месяц), «P3M» (три месяца), «P6M» (шесть месяцев) и «P1Y» (один год) |
Нет, только для подписок с периодом PROMO |
P1Y |
introductoryPriceCycles |
string |
Количество расчетных периодов для предложения начальной цены |
Нет, только для подписок с периодом PROMO |
1 |
Пример ответа в JSON
Параметры ошибочного ответа
Атрибут |
Тип |
Описание |
Обязательность |
Пример заполнения |
---|---|---|---|---|
error{} |
object |
Объект с данными ошибки |
Да, если код ответа !=200 |
error{}
Атрибут |
Тип |
Описание |
Обязательность |
Пример заполнения |
---|---|---|---|---|
code |
number |
http-код ответа |
Да |
|
message |
date |
Расшифровка кода ответа |
Нет |
message
code |
message |
---|---|
400 |
The subscription purchase token does not match the subscription ID |
404 |
No subscription purchase matches the subscription ID |
Валидация запроса
При получении запроса проверяется токен авторизации, полученный методом получения токена авторизации:
-
владелец и/или приложение не должны быть заблокированы;
-
токен должен быть действительным;
-
в ответе на запрос invoice в application_code должен содержаться код приложения, соответствующий владельцу, получившему токен;
-
productCode из GET /v2/subscriptions/{id} должен совпадать с subscriptionId из запроса;
-
packageName из path не проверяется.