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 )

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

Базовый план

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

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 может запустить в будущем. Если этот параметр опущен, базовый план не будет автоматически доступен для любых новых мест, которые Play может запустить в будущем.

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

object ( AutoRenewingBasePlanType )

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

prepaidBasePlanType

object ( PrepaidBasePlanType )

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

installmentsBasePlanType

object ( InstallmentsBasePlanType )

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

Состояние

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

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

АвтообновлениеBasePlanType

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

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 (ноль дней), P3D (3 дня), P7D (7 дней), P14D (14 дней) и P30D (30 дней). Если не указано, будет использоваться значение по умолчанию, основанное на продолжительности повторяющегося периода.

accountHoldDuration

string

Необязательный. Период хранения учетной записи подписки, указанный в формате ISO 8601. Допустимые значения должны быть указаны в ДНЯХ и в диапазоне от P0D (ноль дней) до P30D (30 дней). Если не указано, значение по умолчанию — P30D (30 дней).

resubscribeState

enum ( ResubscribeState )

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

prorationMode

enum ( SubscriptionProrationMode )

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

legacyCompatible

boolean

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

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

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

legacyCompatibleSubscriptionOfferId

string

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

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

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

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

ResubscribeState

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

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

Режим Прорационирования Подписки

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

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

Тип предоплаченного базового плана

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

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

string

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

timeExtension

enum ( TimeExtension )

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

Расширение времени

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

Перечисления
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 (ноль дней), P3D (3 дня), P7D (7 дней), P14D (14 дней) и P30D (30 дней). Если не указано, будет использоваться значение по умолчанию, основанное на продолжительности повторяющегося периода.

accountHoldDuration

string

Необязательный. Срок хранения учетной записи подписки, указанный исключительно в днях и в формате ISO 8601. Допустимые значения: от P0D (ноль дней) до P30D (30 дней). Если не указано, значение по умолчанию — P30D (30 дней).

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 Продлевается с обязательством той же продолжительности, что и первоначальное.

Региональная базовая конфигурация плана

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

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

string

Необходимый. Код региона, к которому применяется данная конфигурация, согласно определению ISO 3166-2, например «США».

newSubscriberAvailability

boolean

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

price

object ( Money )

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

Другие регионыBasePlanConfig

Информация о ценах на любые новые места, где может появиться 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 символов. Простой текст.

Ограниченные страны оплаты

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

JSON-представление
{
  "regionCodes": [
    string
  ]
}
Поля
regionCodes[]

string

Необходимый. Коды регионов, на которые накладываются ограничения платежей, как определено ISO 3166-2, например «США».

Методы

archive
(deprecated)

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

batchGet

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

batchUpdate

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

create

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

delete

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

get

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

list

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

patch

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