REST Resource: purchases.subscriptions

Ресурс: Покупка подписки

Ресурс SubscriptionPurchase указывает состояние покупки подписки пользователя.

JSON-представление
{
  "kind": string,
  "startTimeMillis": string,
  "expiryTimeMillis": string,
  "autoResumeTimeMillis": string,
  "autoRenewing": boolean,
  "priceCurrencyCode": string,
  "priceAmountMicros": string,
  "introductoryPriceInfo": {
    object (IntroductoryPriceInfo)
  },
  "countryCode": string,
  "developerPayload": string,
  "paymentState": integer,
  "cancelReason": integer,
  "userCancellationTimeMillis": string,
  "cancelSurveyResult": {
    object (SubscriptionCancelSurveyResult)
  },
  "orderId": string,
  "linkedPurchaseToken": string,
  "purchaseType": integer,
  "priceChange": {
    object (SubscriptionPriceChange)
  },
  "profileName": string,
  "emailAddress": string,
  "givenName": string,
  "familyName": string,
  "profileId": string,
  "acknowledgementState": integer,
  "externalAccountId": string,
  "promotionType": integer,
  "promotionCode": string,
  "obfuscatedExternalAccountId": string,
  "obfuscatedExternalProfileId": string
}
Поля
kind

string

Этот тип представляет собой объект subscribePurchase в службе androidpublisher.

startTimeMillis

string ( int64 format)

Время предоставления подписки в миллисекундах с начала Эпохи.

expiryTimeMillis

string ( int64 format)

Время истечения срока действия подписки (в миллисекундах с момента начала Эпохи).

autoResumeTimeMillis

string ( int64 format)

Время, когда подписка будет автоматически возобновлена, в миллисекундах с момента начала Эпохи. Присутствует только в том случае, если пользователь запросил приостановку подписки.

autoRenewing

boolean

Будет ли подписка автоматически продлеваться по истечении текущего срока ее действия.

priceCurrencyCode

string

Код валюты ISO 4217 для стоимости подписки. Например, если цена указана в британских фунтах стерлингов, параметр PriceCurrencyCode имеет значение «GBP».

priceAmountMicros

string ( int64 format)

Стоимость подписки. Для стран с льготным налогообложением цена не включает налоги. Для стран с включенным налогом цена включает налог. Цена выражается в микроединицах, где 1 000 000 микроединиц представляют одну единицу валюты. Например, если цена подписки составляет 1,99 евро, ценаAmountMicros равна 1990000.

introductoryPriceInfo

object ( IntroductoryPriceInfo )

Ознакомительная информация о цене подписки. Это присутствует только в том случае, если подписка была приобретена по начальной цене.

Это поле не указывает на то, что подписка в настоящее время находится в ознакомительном ценовом периоде.

countryCode

string

Код страны/региона выставления счетов пользователя ISO 3166-1 Alpha-2 на момент предоставления подписки.

developerPayload

string

Строка, указанная разработчиком, содержащая дополнительную информацию о заказе.

paymentState

integer

Состояние оплаты подписки. Возможные значения: 0. Ожидается платеж 1. Платеж получен 2. Бесплатная пробная версия 3. Ожидается отложенное обновление/понижение версии.

Не присутствует для отмененных подписок с истекшим сроком действия.

cancelReason

integer

Причина, по которой подписка была отменена или не продлевается автоматически. Возможные значения: 0. Пользователь отменил подписку 1. Подписка была отменена системой, например, из-за проблемы с выставлением счетов 2. Подписка была заменена новой 3. Подписка была отменена разработчиком

userCancellationTimeMillis

string ( int64 format)

Время, когда подписка была отменена пользователем, в миллисекундах с начала эпохи. Присутствует только в том случае, если cancelReason равен 0.

cancelSurveyResult

object ( SubscriptionCancelSurveyResult )

Информация, предоставляемая пользователем при завершении процесса отмены подписки (опрос причины отмены).

orderId

string

Идентификатор последнего повторяющегося заказа, связанного с покупкой подписки. Если подписка была отменена из-за отклонения платежа, это будет идентификатор заказа из заказа, в котором платеж отклонен.

linkedPurchaseToken

string

Токен покупки исходной покупки, если эта подписка является одной из следующих: 0. Повторная регистрация отмененной, но еще не истекшей подписки 1. Обновление/понижение предыдущей подписки.

Например, предположим, что пользователь первоначально регистрируется, и вы получаете токен покупки X, затем пользователь отменяет подписку и проходит процедуру повторной регистрации (до истечения срока действия его подписки), и вы получаете токен покупки Y, и, наконец, пользователь обновляет свою подписку, и вы получаете покупку. токен Z. Если вы вызываете этот API с токеном покупки Z, в этом поле будет установлено значение Y. Если вы вызываете этот API с токеном покупки Y, в этом поле будет установлено значение X. Если вы вызываете этот API с токеном покупки X, это поле не будет установлено.

purchaseType

integer

Тип приобретения подписки. Это поле заполняется только в том случае, если эта покупка была совершена не с использованием стандартного процесса выставления счетов в приложении. Возможные значения: 0. Тестовая (т. е. приобретена из учетной записи для тестирования лицензии) 1. Промо (т. е. приобретена с использованием промокода)

priceChange

object ( SubscriptionPriceChange )

Самая последняя доступная информация об изменении цен. Это присутствует только в том случае, если предстоящее изменение цены на подписку еще не применено.

После продления подписки с новой ценой или ее отмены информация об изменении цены возвращена не будет.

profileName

string

Имя профиля пользователя на момент приобретения подписки. Присутствует только для покупок, совершенных с помощью «Подписки через Google».

emailAddress

string

Адрес электронной почты пользователя на момент приобретения подписки. Присутствует только для покупок, совершенных с помощью «Подписки через Google».

givenName

string

Имя пользователя при покупке подписки. Присутствует только для покупок, совершенных с помощью «Подписки через Google».

familyName

string

Фамилия пользователя на момент приобретения подписки. Присутствует только для покупок, совершенных с помощью «Подписки через Google».

profileId

string

Идентификатор профиля Google пользователя на момент приобретения подписки. Присутствует только для покупок, совершенных с помощью «Подписки через Google».

acknowledgementState

integer

Состояние подтверждения продукта подписки. Возможные значения: 0. Еще не подтверждено 1. Подтверждено.

externalAccountId

string

Идентификатор учетной записи пользователя в стороннем сервисе. Отображается только в том случае, если привязка учетной записи произошла в рамках процесса покупки подписки.

promotionType

integer

Тип промоакции, примененной к этой покупке. Это поле заполняется только в том случае, если при покупке подписки применялась акция. Возможные значения: 0. Одноразовый код 1. Косметический код.

promotionCode

string

Промокод, примененный к этой покупке. Это поле заполняется только в том случае, если при покупке подписки применяется промо-код.

obfuscatedExternalAccountId

string

Запутанная версия идентификатора, которая однозначно связана с учетной записью пользователя в вашем приложении. Присутствует для следующих покупок: * Если привязка учетной записи произошла в рамках процесса покупки подписки. * Он был указан с помощью https://developer.android.com/reference/com/android/billingclient/api/BillingFlowParams.Builder#setobfuscatedaccountid при совершении покупки.

obfuscatedExternalProfileId

string

Запутанная версия идентификатора, которая однозначно связана с профилем пользователя в вашем приложении. Присутствует только в том случае, если указано с помощью https://developer.android.com/reference/com/android/billingclient/api/BillingFlowParams.Builder#setobfuscatedprofileid при совершении покупки.

ВводнаяЦенаИнформация

Содержит вводную информацию о цене подписки.

JSON-представление
{
  "introductoryPriceCurrencyCode": string,
  "introductoryPriceAmountMicros": string,
  "introductoryPricePeriod": string,
  "introductoryPriceCycles": integer
}
Поля
introductoryPriceCurrencyCode

string

Код валюты ISO 4217 для начальной цены подписки. Например, если цена указана в британских фунтах стерлингов, параметр PriceCurrencyCode имеет значение «GBP».

introductoryPriceAmountMicros

string ( int64 format)

Начальная цена подписки без учета налогов. Валюта такая же, как и PriceCurrencyCode. Цена выражается в микроединицах, где 1 000 000 микроединиц представляют одну единицу валюты. Например, если цена подписки составляет 1,99 евро, ценаAmountMicros равна 1990000.

introductoryPricePeriod

string

Начальный ценовой период указан в формате ISO 8601. Обычными значениями являются (но не ограничиваясь ими) «P1W» (одна неделя), «P1M» (один месяц), «P3M» (три месяца), «P6M» (шесть месяцев) и «P1Y» (один год).

introductoryPriceCycles

integer

Количество расчетных периодов, в течение которых будут предлагаться начальные цены.

ПодпискаОтменаОпросРезультат

Информация, предоставляемая пользователем при завершении процесса отмены подписки (опрос причины отмены).

JSON-представление
{
  "cancelSurveyReason": integer,
  "userInputCancelReason": string
}
Поля
cancelSurveyReason

integer

Причину отмены, которую пользователь выбрал в опросе. Возможные значения: 0. Другое 1. Я недостаточно пользуюсь этой услугой 2. Технические проблемы 3. Причины, связанные со стоимостью 4. Я нашел лучшее приложение

userInputCancelReason

string

Настроенная пользователем причина отмены ввода. Присутствует только тогда, когда cancelReason равен 0.

ПодпискаЦенаИзменить

Содержит информацию об изменении цены для подписки, которую можно использовать для управления действиями пользователя при изменении цены в приложении. Это может быть в форме запроса подтверждения от пользователя или адаптации опыта для успешной конверсии.

JSON-представление
{
  "newPrice": {
    object (Price)
  },
  "state": integer
}
Поля
newPrice

object ( Price )

Новая цена, по которой будет продлена подписка, если изменение цены будет принято пользователем.

state

integer

Текущее состояние изменения цен. Возможные значения: 0. Выдающееся: состояние ожидания изменения цены, ожидающего согласия пользователя. В этом состоянии вы можете дополнительно запросить подтверждение от пользователя с помощью API внутри приложения. 1. Принято: укажите принятое изменение цены, с которым подписка будет продлена, если она не будет отменена. Изменение цены вступит в силу в будущем, когда подписка будет продлена. Обратите внимание, что это изменение может не произойти при следующем продлении подписки.

Методы

acknowledge

Подтверждает покупку подписки.

cancel

Отменяет покупку подписки пользователя.

defer

Откладывает покупку подписки пользователя до истечения указанного срока в будущем.

get

Проверяет, действительна ли покупка подписки пользователя, и возвращает время ее окончания.

refund

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

revoke

Возвращает и немедленно отзывает покупку подписки пользователя.