- Ресурс: SubscriptionPurchaseV2
- Состояние подписки
- Паузедстатеконтекст
- Канцеледстатеконтекст
- UserInitiatedCancellation
- ОтменаОпросРезультат
- ОтменаОпросПричина
- SystemInitiatedCancellation
- РазработчикInitiatedCancellation
- ЗаменаОтмена
- Тестовая покупка
- Состояние подтверждения
- Внешние идентификаторы аккаунта
- Подписаться с помощью GoogleInfo
- ПодпискаПокупкаЛинияЭлемент
- План автоматического обновления
- ПодпискаПредметЦенаИзменитьПодробнее
- Режим изменения цены
- ЦенаChangeState
- Предоплаченный план
- ПредложениеДетали
- Отложенный элементзамене
- Методы
Ресурс: SubscriptionPurchaseV2
Указывает статус покупки подписки пользователя.
JSON-представление |
---|
{ "kind": string, "regionCode": string, "lineItems": [ { object ( |
Поля | |
---|---|
kind | Этот тип представляет объект SubscriptionPurchaseV2 в службе androidpublisher. |
regionCode | Код страны/региона выставления счетов пользователя ISO 3166-1 Alpha-2 на момент предоставления подписки. |
lineItems[] | Информация на уровне элемента для покупки подписки. Все товары в одной покупке должны быть либо все с AutoRenewingPlan, либо все с PrepaidPlan. |
startTime | Время предоставления подписки. Не настроено для ожидающих подписок (подписка создана, но ожидает оплаты во время регистрации). Временная метка в формате RFC3339 UTC «Зулу» с наносекундным разрешением и до девяти дробных цифр. Примеры: |
subscriptionState | Текущее состояние подписки. |
latestOrderId | Идентификатор последнего заказа, связанного с покупкой подписки. Для подписки с автоматическим продлением это идентификатор заказа на регистрацию, если он еще не продлен, или идентификатор последнего повторяющегося заказа (успешный, ожидающий или отклоненный заказ). Для предоплаченной подписки это идентификатор заказа, связанный с запрошенным токеном покупки. |
linkedPurchaseToken | Токен покупки старой подписки, если эта подписка является одной из следующих: * Повторная регистрация отмененной, но не истекшей подписки * Обновление/понижение предыдущей подписки. * Переход с предоплаченной подписки на автоматическое продление. * Преобразование подписки с автоматическим продлением на предоплаченную. * Пополните предоплаченную подписку. |
pausedStateContext | Дополнительный контекст приостановленных подписок. Присутствует только в том случае, если подписка в настоящее время имеет свойство subscribeState SUBSCRIPTION_STATE_PAUSED. |
canceledStateContext | Дополнительный контекст отмененных подписок. Присутствует только в том случае, если подписка в настоящее время имеет свойство subscribeState SUBSCRIPTION_STATE_CANCELED. |
testPurchase | Присутствует только в том случае, если эта покупка подписки является тестовой. |
acknowledgementState | Состояние подтверждения подписки. |
externalAccountIdentifiers | Идентификатор учетной записи пользователя в стороннем сервисе. |
subscribeWithGoogleInfo | Профиль пользователя, связанный с покупками, совершенными с помощью «Подписки через Google». |
Состояние подписки
Потенциальные состояния, в которых может находиться подписка, например, активна она или отменена. В рамках покупки подписки могут быть включены либо все планы автоматического продления, либо планы с предоплатой.
Перечисления | |
---|---|
SUBSCRIPTION_STATE_UNSPECIFIED | Неопределенное состояние подписки. |
SUBSCRIPTION_STATE_PENDING | Подписка создана, но ожидает оплаты во время регистрации. В этом состоянии все товары ожидают оплаты. |
SUBSCRIPTION_STATE_ACTIVE | Подписка активна. - (1) Если подписка представляет собой план автоматического продления, по крайней мере один элемент имеет статус autoRenewEnabled и срок его действия не истек. - (2) Если подписка представляет собой план с предоплатой, срок действия хотя бы одного элемента не истек. |
SUBSCRIPTION_STATE_PAUSED | Подписка приостановлена. Состояние доступно только в том случае, если подписка является планом автоматического продления. В этом состоянии все элементы находятся в состоянии паузы. |
SUBSCRIPTION_STATE_IN_GRACE_PERIOD | Подписка находится в льготном периоде. Состояние доступно только в том случае, если подписка является планом автоматического продления. В этом состоянии все элементы находятся в льготном периоде. |
SUBSCRIPTION_STATE_ON_HOLD | Подписка приостановлена (приостановлена). Состояние доступно только в том случае, если подписка является планом автоматического продления. В этом состоянии все элементы приостановлены. |
SUBSCRIPTION_STATE_CANCELED | Подписка отменена, но срок ее действия еще не истек. Состояние доступно только в том случае, если подписка является планом автоматического продления. Для всех элементов параметру autoRenewEnabled присвоено значение false. |
SUBSCRIPTION_STATE_EXPIRED | Срок подписки истек. Все элементы имеют истекшее время в прошлом. |
Пауседстатеконтекст
Информация, относящаяся к подписке в приостановленном состоянии.
JSON-представление |
---|
{ "autoResumeTime": string } |
Поля | |
---|---|
autoResumeTime | Время, когда подписка будет автоматически возобновлена. Временная метка в формате RFC3339 UTC «Зулу» с наносекундным разрешением и до девяти дробных цифр. Примеры: |
Канцеледстатеконтекст
Информация, относящаяся к подписке в отмененном состоянии.
JSON-представление |
---|
{ // Union field |
Поля | |
---|---|
Поле объединения cancellation_reason . Причина отмены подписки. cancellation_reason может быть только одним из следующих: | |
userInitiatedCancellation | Подписка отменена пользователем. |
systemInitiatedCancellation | Подписка была отменена системой, например, из-за проблемы с выставлением счетов. |
developerInitiatedCancellation | Подписка отменена разработчиком. |
replacementCancellation | Подписка заменена на новую. |
UserInitiatedCancellation
Информация, относящаяся к отменам, инициированным пользователями.
JSON-представление |
---|
{
"cancelSurveyResult": {
object ( |
Поля | |
---|---|
cancelSurveyResult | Информация, предоставляемая пользователем при завершении процесса отмены подписки (опрос причины отмены). |
cancelTime | Время, когда подписка была отменена пользователем. По истечении этого времени у пользователя может остаться доступ к подписке. Используйте lineItems.expiry_time, чтобы определить, есть ли у пользователя доступ. Временная метка в формате RFC3339 UTC «Зулу» с наносекундным разрешением и до девяти дробных цифр. Примеры: |
ОтменаОпросРезультат
Результат опроса об отмене, когда подписка была отменена пользователем.
JSON-представление |
---|
{
"reason": enum ( |
Поля | |
---|---|
reason | Причина, которую пользователь выбрал в опросе об отмене. |
reasonUserInput | Установлено только для CANCEL_SURVEY_REASON_OTHERS. Это произвольный ответ пользователя на опрос. |
ОтменаОпросПричина
Причина, которую пользователь выбрал в опросе об отмене.
Перечисления | |
---|---|
CANCEL_SURVEY_REASON_UNSPECIFIED | Неуказанная причина отмены опроса. |
CANCEL_SURVEY_REASON_NOT_ENOUGH_USAGE | Недостаточное использование подписки. |
CANCEL_SURVEY_REASON_TECHNICAL_ISSUES | Технические проблемы при использовании приложения. |
CANCEL_SURVEY_REASON_COST_RELATED | Вопросы, связанные с затратами. |
CANCEL_SURVEY_REASON_FOUND_BETTER_APP | Пользователь нашел лучшее приложение. |
CANCEL_SURVEY_REASON_OTHERS | Другие причины. |
SystemInitiatedCancellation
Этот тип не имеет полей.
Информация, относящаяся к отменам, инициированным системой Google.
РазработчикInitiatedCancellation
Этот тип не имеет полей.
Информация, относящаяся к отменам, инициированным разработчиками.
ЗаменаОтмена
Этот тип не имеет полей.
Информация, относящаяся к отменам, вызванным заменой подписки.
Тестовая покупка
Этот тип не имеет полей.
Является ли эта покупка подписки тестовой покупкой.
Состояние подтверждения
Возможные подтверждения о подписке.
Перечисления | |
---|---|
ACKNOWLEDGEMENT_STATE_UNSPECIFIED | Неопределенное состояние подтверждения. |
ACKNOWLEDGEMENT_STATE_PENDING | Подписка еще не подтверждена. |
ACKNOWLEDGEMENT_STATE_ACKNOWLEDGED | Подписка подтверждена. |
Внешние идентификаторы аккаунта
Идентификатор учетной записи пользователя в стороннем сервисе.
JSON-представление |
---|
{ "externalAccountId": string, "obfuscatedExternalAccountId": string, "obfuscatedExternalProfileId": string } |
Поля | |
---|---|
externalAccountId | Идентификатор учетной записи пользователя в стороннем сервисе. Отображается только в том случае, если привязка учетной записи произошла в рамках процесса покупки подписки. |
obfuscatedExternalAccountId | Запутанная версия идентификатора, которая однозначно связана с учетной записью пользователя в вашем приложении. Присутствует для следующих покупок: * Если привязка учетной записи произошла в рамках процесса покупки подписки. * Он был указан с помощью https://developer.android.com/reference/com/android/billingclient/api/BillingFlowParams.Builder#setobfuscatedaccountid при совершении покупки. |
obfuscatedExternalProfileId | Запутанная версия идентификатора, которая однозначно связана с профилем пользователя в вашем приложении. Присутствует только в том случае, если указано с помощью https://developer.android.com/reference/com/android/billingclient/api/BillingFlowParams.Builder#setobfuscatedprofileid при совершении покупки. |
Подписаться с помощью GoogleInfo
Информация, связанная с покупками, совершенными с помощью «Подписки через Google».
JSON-представление |
---|
{ "profileId": string, "profileName": string, "emailAddress": string, "givenName": string, "familyName": string } |
Поля | |
---|---|
profileId | Идентификатор профиля Google пользователя на момент приобретения подписки. |
profileName | Имя профиля пользователя на момент приобретения подписки. |
emailAddress | Адрес электронной почты пользователя на момент приобретения подписки. |
givenName | Имя пользователя при покупке подписки. |
familyName | Фамилия пользователя на момент приобретения подписки. |
ПодпискаПокупкаЛинияЭлемент
Информация на уровне элемента для покупки подписки.
JSON-представление |
---|
{ "productId": string, "expiryTime": string, // Union field |
Поля | |
---|---|
productId | Идентификатор приобретенного продукта (например, «Monthly001»). |
expiryTime | Время, когда подписка истекла или истечет, если доступ не будет продлен (например, продлен). Временная метка в формате RFC3339 UTC «Зулу» с наносекундным разрешением и до девяти дробных цифр. Примеры: |
Поле объединения plan_type . Тип плана подписки. plan_type может быть только одним из следующих: | |
autoRenewingPlan | Товар обновляется автоматически. |
prepaidPlan | Товар предоплачен. |
offerDetails | Подробности предложения для этого товара. |
Поле объединения deferred_item_change . Поле присутствует, когда элемент имеет отложенное изменение. Его можно либо удалить, либо заменить. deferred_item_change может быть только одним из следующих: | |
deferredItemReplacement | Информация об отсроченной замене товара. |
План автоматического обновления
Информация, касающаяся плана автоматического продления.
JSON-представление |
---|
{
"autoRenewEnabled": boolean,
"priceChangeDetails": {
object ( |
Поля | |
---|---|
autoRenewEnabled | Если подписка в настоящее время настроена на автоматическое продление, например, пользователь не отменил подписку. |
priceChangeDetails | Информация о последнем изменении цены товара с момента оформления подписки. |
ПодпискаПредметЦенаИзменитьПодробнее
Информация, связанная с изменением цены элемента подписки.
JSON-представление |
---|
{ "newPrice": { object ( |
Поля | |
---|---|
newPrice | Новая повторяющаяся цена для элемента подписки. |
priceChangeMode | Режим изменения цены определяет, как будет меняться цена элемента подписки. |
priceChangeState | Укажите, в настоящее время происходит изменение цен. |
expectedNewPriceChargeTime | Время продления, после которого изменение цены вступит в силу для пользователя. Это может быть изменено (на будущее время) в связи со случаями, когда время обновления смещается, как пауза. Это поле заполняется только в том случае, если изменение цены не вступило в силу. Временная метка в формате RFC3339 UTC «Зулу» с наносекундным разрешением и до девяти дробных цифр. Примеры: |
Режим изменения цены
Режим изменения цены.
Перечисления | |
---|---|
PRICE_CHANGE_MODE_UNSPECIFIED | Режим изменения цены не указан. Это значение никогда не должно устанавливаться. |
PRICE_DECREASE | Если цена подписки снижается. |
PRICE_INCREASE | Если цена подписки растет и пользователю необходимо ее принять. |
OPT_OUT_PRICE_INCREASE | Если цена подписки увеличивается в режиме отказа. |
ЦенаChangeState
Состояние изменения цены.
Перечисления | |
---|---|
PRICE_CHANGE_STATE_UNSPECIFIED | Состояние изменения цены не указано. Это значение не следует использовать. |
OUTSTANDING | Ожидание согласия пользователя на изменение цены. |
CONFIRMED | Подтверждено, что изменение цены произошло для пользователя. |
APPLIED | Изменение цены применяется, т. е. с пользователя начала взиматься новая цена. |
Предоплаченный план
Информация, относящаяся к предоплаченному плану.
JSON-представление |
---|
{ "allowExtendAfterTime": string } |
Поля | |
---|---|
allowExtendAfterTime | Если этот параметр присутствует, это время, по истечении которого для предоплаченного плана разрешены пополнения счета. Не будет присутствовать для предоплаченных планов с истекшим сроком действия. Временная метка в формате RFC3339 UTC «Зулу» с наносекундным разрешением и до девяти дробных цифр. Примеры: |
ПредложениеДетали
Подробная информация о предложении, связанная с позицией покупки.
JSON-представление |
---|
{ "offerTags": [ string ], "basePlanId": string, "offerId": string } |
Поля | |
---|---|
offerTags[] | Теги последних предложений, связанные с предложением. Он включает в себя теги, унаследованные от базового плана. |
basePlanId | Идентификатор базового плана. Присутствует для всех базовых планов и предложений. |
offerId | Идентификатор предложения. Присутствует только для предложений со скидкой. |
Отложенный элементзамене
Информация, касающаяся отсроченной замены товара.
JSON-представление |
---|
{ "productId": string } |
Поля | |
---|---|
productId | ProductId заменит существующий ProductId. |
Методы | |
---|---|
| Получить метаданные о подписке |
| Отменить покупку подписки для пользователя. |