REST Resource: monetization.subscriptions

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

Единая подписка на приложение.

JSON-представление
{
  "packageName": string,
  "productId": string,
  "basePlans": [
    {
      object (BasePlan)
    }
  ],
  "listings": [
    {
      object (SubscriptionListing)
    }
  ],
  "archived": boolean,
  "taxAndComplianceSettings": {
    object (SubscriptionTaxAndComplianceSettings)
  },
  "restrictedPaymentCountries": {
    object (RestrictedPaymentCountries)
  }
}
Поля
packageName

string

Неизменяемый. Имя пакета родительского приложения.

productId

string

Неизменяемый. Уникальный идентификатор продукта. Уникален в пределах родительского приложения. Идентификаторы продуктов должны состоять из строчных букв (az), цифр (0–9), символов подчёркивания (_) и точек (.). Они должны начинаться со строчной буквы или цифры и иметь длину от 1 до 40 символов (включительно).

basePlans[]

object ( BasePlan )

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

listings[]

object ( SubscriptionListing )

Обязательно. Список локализованных товаров для этой подписки. Должен содержать как минимум одну запись для языка по умолчанию родительского приложения.

archived
(deprecated)

boolean

Только вывод. Устарело: архивация подписок не поддерживается.

taxAndComplianceSettings

object ( SubscriptionTaxAndComplianceSettings )

Подробная информация о налогах и соблюдении законодательства.

restrictedPaymentCountries

object ( RestrictedPaymentCountries )

Необязательно. Страны, в которых покупка этой подписки ограничена способами оплаты, зарегистрированными в той же стране. Если поле не заполнено, ограничения по месту оплаты не налагаются.

BasePlan

Единый базовый план для подписки.

JSON-представление
{
  "basePlanId": string,
  "state": enum (State),
  "regionalConfigs": [
    {
      object (RegionalBasePlanConfig)
    }
  ],
  "offerTags": [
    {
      object (OfferTag)
    }
  ],
  "otherRegionsConfig": {
    object (OtherRegionsBasePlanConfig)
  },

  // Union field base_plan_type can be only one of the following:
  "autoRenewingBasePlanType": {
    object (AutoRenewingBasePlanType)
  },
  "prepaidBasePlanType": {
    object (PrepaidBasePlanType)
  },
  "installmentsBasePlanType": {
    object (InstallmentsBasePlanType)
  }
  // End of list of possible types for union field base_plan_type.
}
Поля
basePlanId

string

Обязательно. Неизменяемый. Уникальный идентификатор этого базового плана. Должен быть уникальным в рамках подписки и соответствовать RFC-1034. То есть этот идентификатор может содержать только строчные буквы (az), цифры (0–9) и дефисы (-) и содержать не более 63 символов.

state

enum ( State )

Только вывод. Состояние базового плана, т.е. активен ли он. Черновые и неактивные базовые планы можно активировать или удалить. Активные базовые планы можно сделать неактивными. Неактивные базовые планы можно отменить. Это поле нельзя изменить путём обновления ресурса. Вместо этого используйте выделенные конечные точки.

regionalConfigs[]

object ( RegionalBasePlanConfig )

Информация, касающаяся конкретного региона для этого базового плана.

offerTags[]

object ( OfferTag )

Список из 20 пользовательских тегов, заданных для этого базового плана и возвращаемых в приложение через библиотеку биллинга. Предложения подписки для этого базового плана также получат эти теги в библиотеке биллинга.

otherRegionsConfig

object ( OtherRegionsBasePlanConfig )

Информация о ценах для новых локаций, которые Play может запустить в будущем. Если эта информация не указана, BasePlan не будет автоматически доступен для новых локаций, которые Play может запустить в будущем.

Поле объединения base_plan_type . Тип базового плана. Необходимо указать только один. Тип базового плана не может быть изменен после его создания. base_plan_type может быть только одним из следующих:
autoRenewingBasePlanType

object ( AutoRenewingBasePlanType )

Установите, когда базовый план будет автоматически обновляться через регулярные промежутки времени.

prepaidBasePlanType

object ( PrepaidBasePlanType )

Установите, если базовый план не продлевается автоматически в конце расчетного периода.

installmentsBasePlanType

object ( InstallmentsBasePlanType )

Устанавливается для базовых планов рассрочки, при которых пользователь обязуется внести определенное количество платежей.

Состояние

Текущее состояние базового плана.

Перечисления
STATE_UNSPECIFIED Неопределенное состояние.
DRAFT Базовый план в настоящее время находится в состоянии черновика и не активирован. На этом этапе его можно безопасно удалить.
ACTIVE Базовый план активен и доступен для новых абонентов.
INACTIVE Базовый план неактивен и доступен только существующим подписчикам.

AutoRenewingBasePlanType

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

JSON-представление
{
  "billingPeriodDuration": string,
  "gracePeriodDuration": string,
  "accountHoldDuration": string,
  "resubscribeState": enum (ResubscribeState),
  "prorationMode": enum (SubscriptionProrationMode),
  "legacyCompatible": boolean,
  "legacyCompatibleSubscriptionOfferId": string
}
Поля
billingPeriodDuration

string

Обязательно. Неизменяемый. Период подписки, указанный в формате ISO 8601. Список допустимых расчетных периодов см. в справочном центре. Продолжительность не может быть изменена после создания базового плана.

gracePeriodDuration

string

Льготный период подписки, указанный в формате ISO 8601. Допустимые значения должны быть в днях и находиться в диапазоне от P0D до 30D (меньшего из двух) и расчетного периода базового плана.

Если не указано иное, будет использовано значение по умолчанию на основе расчетного периода.

Сумма gracePeriodDuration и accountHoldDuration должна быть в пределах от P30D до P60D дней включительно.

accountHoldDuration

string

Необязательно. Срок действия подписки, указанный в формате ISO 8601. Допустимые значения должны быть в днях и находиться в диапазоне от P0D до P60D.

Если не указано иное, по умолчанию используется значение P30D.

Сумма gracePeriodDuration и accountHoldDuration должна быть в пределах от P30D до P60D дней включительно.

resubscribeState

enum ( ResubscribeState )

Должны ли пользователи иметь возможность повторно подписаться на этот базовый план в Google Play? Если не указано иное, по умолчанию используется значение RESUBSCRIBE_STATE_ACTIVE.

prorationMode

enum ( SubscriptionProrationMode )

Режим пропорционального распределения для базового плана определяет, что происходит при переходе пользователя на этот план с другого базового плана. Если не указано иное, по умолчанию используется CHARGE_ON_NEXT_BILLING_DATE.

legacyCompatible

boolean

Является ли обновляемый базовый план обратно совместимым.

Обратно совместимый базовый план возвращается устаревшим методом querySkuDetailsAsync() библиотеки Google Play Billing.

Только один обновляемый базовый план может быть отмечен как совместимый с устаревшими версиями для данной подписки.

legacyCompatibleSubscriptionOfferId

string

Идентификатор предложения подписки, совместимый с устаревшими версиями.

Предложение подписки с обратной совместимостью возвращается устаревшим методом Google Play Billing Library querySkuDetailsAsync().

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

Чтобы не предлагать подписку как совместимую с устаревшими версиями, задайте в этом поле пустую строку.

ResubscribeState

Состояние повторной подписки на базовый план.

Перечисления
RESUBSCRIBE_STATE_UNSPECIFIED Неопределенное состояние.
RESUBSCRIBE_STATE_ACTIVE Повторная подписка активна.
RESUBSCRIBE_STATE_INACTIVE Повторная подписка неактивна.

SubscriptionProrationMode

Режим пропорционального распределения, используемый для продления базовых планов.

Перечисления
SUBSCRIPTION_PRORATION_MODE_UNSPECIFIED Неопределенный режим.
SUBSCRIPTION_PRORATION_MODE_CHARGE_ON_NEXT_BILLING_DATE Плата за новый базовый план будет взиматься с пользователей в конце текущего расчетного периода.
SUBSCRIPTION_PRORATION_MODE_CHARGE_FULL_PRICE_IMMEDIATELY С пользователей будет списана полная стоимость нового базового тарифного плана. Оставшийся период текущей подписки будет использован для продления срока действия нового тарифного плана.

PrepaidBasePlanType

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

JSON-представление
{
  "billingPeriodDuration": string,
  "timeExtension": enum (TimeExtension)
}
Поля
billingPeriodDuration

string

Обязательно. Неизменяемый. Период подписки, указанный в формате ISO 8601. Список допустимых расчетных периодов см. в справочном центре. Продолжительность не может быть изменена после создания базового плана.

timeExtension

enum ( TimeExtension )

Должны ли пользователи иметь возможность продлить этот предоплаченный базовый тариф в Google Play? Если не указано иное, по умолчанию используется значение TIME_EXTENSION_ACTIVE.

TimeExtension

Продление базового плана.

Перечисления
TIME_EXTENSION_UNSPECIFIED Неопределенное состояние.
TIME_EXTENSION_ACTIVE Продление срока действия активно. Пользователи могут пополнить или продлить свой предоплаченный тариф.
TIME_EXTENSION_INACTIVE Продление времени неактивно. Пользователи не могут пополнять или продлевать свой предоплаченный тариф.

РассрочкаБазовыйТипПлана

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

JSON-представление
{
  "billingPeriodDuration": string,
  "committedPaymentsCount": integer,
  "renewalType": enum (RenewalType),
  "gracePeriodDuration": string,
  "accountHoldDuration": string,
  "resubscribeState": enum (ResubscribeState),
  "prorationMode": enum (SubscriptionProrationMode)
}
Поля
billingPeriodDuration

string

Обязательно. Неизменяемый. Период подписки, указанный в формате ISO 8601. Список допустимых расчетных периодов см. в справочном центре. Продолжительность не может быть изменена после создания базового плана.

committedPaymentsCount

integer

Обязательно. Неизменяемо. Количество платежей, которые пользователь готов совершить. Оно не может быть изменено после создания базового плана.

renewalType

enum ( RenewalType )

Обязательно. Неизменяемый. Тип продления базового плана «Рассрочка». Определяет поведение по окончании срока действия первоначального обязательства. Тип продления неизменяем после создания базового плана.

gracePeriodDuration

string

Льготный период подписки, указанный в формате ISO 8601. Допустимые значения должны быть в днях и находиться в диапазоне от P0D до 30D (меньшего из двух) и расчетного периода базового плана.

Если не указано иное, будет использовано значение по умолчанию на основе расчетного периода.

Сумма gracePeriodDuration и accountHoldDuration должна быть в пределах от P30D до P60D дней включительно.

accountHoldDuration

string

Необязательно. Срок действия подписки, указанный в формате ISO 8601. Допустимые значения должны быть в днях и находиться в диапазоне от P0D до P60D.

Если не указано иное, по умолчанию используется значение P30D.

Сумма gracePeriodDuration и accountHoldDuration должна быть в пределах от P30D до P60D дней включительно.

resubscribeState

enum ( ResubscribeState )

Должны ли пользователи иметь возможность повторно подписаться на этот базовый план в Google Play? Если не указано иное, по умолчанию используется значение RESUBSCRIBE_STATE_ACTIVE.

prorationMode

enum ( SubscriptionProrationMode )

Режим пропорционального распределения для базового плана определяет, что происходит при переходе пользователя на этот план с другого базового плана. Если не указано иное, по умолчанию используется CHARGE_ON_NEXT_BILLING_DATE.

Тип обновления

Тип продления базового плана «Рассрочка». Определяет действие по окончании срока действия первоначального обязательства. Тип продления не может быть изменен после создания базового плана.

Перечисления
RENEWAL_TYPE_UNSPECIFIED Неопределенное состояние.
RENEWAL_TYPE_RENEWS_WITHOUT_COMMITMENT Периодически продлевается на срок действия расчетного периода без обязательств.
RENEWAL_TYPE_RENEWS_WITH_COMMITMENT Продлевается с обязательством на тот же срок, что и первоначальное.

RegionalBasePlanConfig

Конфигурация базового плана, специфичная для региона.

JSON-представление
{
  "regionCode": string,
  "newSubscriberAvailability": boolean,
  "price": {
    object (Money)
  }
}
Поля
regionCode

string

Обязательно. Код региона, к которому относится эта конфигурация, согласно ISO 3166-2, например, «США».

newSubscriberAvailability

boolean

Доступен ли базовый план в указанном регионе для новых подписчиков. Подписка существующих подписчиков не будет отменена, если это значение равно false. Если значение не указано, по умолчанию будет установлено значение false.

price

object ( Money )

Цена базового плана в указанном регионе. Должна быть указана, если базовый план доступен новым подписчикам. Должна быть указана в валюте, привязанной к указанному региону.

OtherRegionsBasePlanConfig

Информация о ценах для новых локаций, где может запуститься Play.

JSON-представление
{
  "usdPrice": {
    object (Money)
  },
  "eurPrice": {
    object (Money)
  },
  "newSubscriberAvailability": boolean
}
Поля
usdPrice

object ( Money )

Обязательно. Цена в долларах США будет использоваться для любых новых локаций, где может быть запущен Play.

eurPrice

object ( Money )

Обязательно. Цена в евро будет использоваться для любых новых локаций, где может быть запущен Play.

newSubscriberAvailability

boolean

Будет ли базовый план доступен для новых подписчиков в новых местах, где может запуститься Play. Если не указано иное, по умолчанию будет использоваться значение false.

ПодпискаЛистинг

Метаданные подписки, видимые потребителю.

JSON-представление
{
  "languageCode": string,
  "title": string,
  "benefits": [
    string
  ],
  "description": string
}
Поля
languageCode

string

Обязательно. Язык этого листинга, как определено в BCP-47, например, «en-US».

title

string

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

benefits[]

string

Список преимуществ, отображаемых пользователю на таких платформах, как Play Store, и в процессах восстановления на языке, используемом в данном листинге. Обычный текст. Упорядоченный список, содержащий не более четырёх преимуществ.

description

string

Описание этой подписки на языке, используемом в объявлении. Максимальная длина — 80 символов. Обычный текст.

Методы

archive
(deprecated)

Устарело: архивирование подписок не поддерживается.

batchGet

Читает одну или несколько подписок.

batchUpdate

Обновляет пакет подписок.

create

Создает новую подписку.

delete

Удаляет подписку.

get

Читает одну подписку.

list

Перечисляет все подписки в заданном приложении.

patch

Обновляет существующую подписку.