- Ресурс: подписка
- BasePlan
- Состояние
- AutoRenewingBasePlanType
- ResubscribeState
- SubscriptionProrationMode
- PrepaidBasePlanType
- TimeExtension
- InstallmentsBasePlanType
- RenewalType
- RegionalBasePlanConfig
- OtherRegionsBasePlanConfig
- SubscriptionListing
- Методы
Ресурс: Subscription
Одна подписка для приложения.
| JSON-представление |
|---|
{ "packageName": string, "productId": string, "basePlans": [ { object ( |
| Поля | |
|---|---|
packageName |
Не меняется. Название пакета родительского приложения. |
productId |
Не меняется. Уникальный идентификатор товара. Уникальный идентификатор в родительском приложении. Идентификаторы товаров должны состоять из строчных букв (a–z), цифр (0–9), символов подчеркивания (_) и точек (.). Идентификатор должен начинаться со строчной буквы или цифры и содержать от 1 до 40 символов. |
basePlans[] |
Набор основных планов для этой подписки. Цены и продолжительность подписки, если не действуют другие предложения. |
listings[] |
Обязательно. Список локализованных страниц для этой подписки. Должен содержать хотя бы одну запись для языка по умолчанию родительского приложения. |
archived |
Только для вывода. Устарело: архивирование подписок не поддерживается. |
taxAndComplianceSettings |
Сведения о налогах и соответствии юридическим и нормативным требованиям. |
restrictedPaymentCountries |
Необязательное поле. Страны, в которых для покупки этой подписки можно использовать только способы оплаты, зарегистрированные в той же стране. Если поле не заполнено, ограничения не применяются. |
BasePlan
Один основной план для подписки.
| JSON-представление |
|---|
{ "basePlanId": string, "state": enum ( |
| Поля | |
|---|---|
basePlanId |
Обязательно. Не меняется. Уникальный идентификатор основного плана. Должен быть уникальным в рамках подписки и соответствовать RFC-1034. Идентификатор может содержать только строчные буквы (a–z), цифры (0–9) и дефисы (-). Его длина не должна превышать 63 символа. |
state |
Только для вывода. Статус основного плана, например активен ли он. Проекты и неактивные основные планы можно активировать или удалить. Активные основные планы можно деактивировать. Неактивные основные планы можно отменить. Это поле нельзя изменить, обновив ресурс. Используйте вместо них специальные конечные точки. |
regionalConfigs[] |
Информация об этом основном плане для конкретного региона. |
offerTags[] |
Список, содержащий до 20 пользовательских тегов, указанных для этого основного [тарифного] плана и возвращаемых в приложение через библиотеку Платежей. Специальные предложения для этого основного плана также получат эти теги в библиотеке Платежей. |
otherRegionsConfig |
Цены для новых регионов, в которых Google Play может начать работу в будущем. Если вы не укажете этот параметр, основной план не будет автоматически доступен в новых регионах, которые со временем станут поддерживаться в Google Play. |
Объединенное поле base_plan_type. Тип основного плана. Нужно указать только одно значение. После создания основного плана его тип изменить нельзя. base_plan_type может иметь одно из следующих значений: |
|
autoRenewingBasePlanType |
Укажите, когда основной план будет автоматически продлеваться через регулярные интервалы. |
prepaidBasePlanType |
Устанавливается, если основной план не продлевается автоматически в конце расчетного периода. |
installmentsBasePlanType |
Устанавливается для основных планов с рассрочкой, когда пользователь обязуется внести определенное количество платежей. |
Штат
Текущий статус основного плана.
| Перечисления | |
|---|---|
STATE_UNSPECIFIED |
Состояние не указано. |
DRAFT |
Основной план находится в статусе проекта и не активирован. Теперь его можно удалить. |
ACTIVE |
Основной план активен и доступен для новых подписчиков. |
INACTIVE |
Основной план неактивен и доступен только существующим подписчикам. |
AutoRenewingBasePlanType
Основной план, который автоматически продлевается в конце периода подписки.
| JSON-представление |
|---|
{ "billingPeriodDuration": string, "gracePeriodDuration": string, "accountHoldDuration": string, "resubscribeState": enum ( |
| Поля | |
|---|---|
billingPeriodDuration |
Обязательно. Не меняется. Период подписки в формате ISO 8601. Список допустимых расчетных периодов можно найти в Справочном центре. После создания основного плана изменить продолжительность нельзя. |
gracePeriodDuration |
Льготный период подписки в формате ISO 8601. Допустимые значения должны быть указаны в днях и находиться в диапазоне от P0D до меньшего из двух значений: 30D и расчетного периода основного плана. Если значение не указано, будет использоваться значение по умолчанию, основанное на расчетном периоде. Сумма значений gracePeriodDuration и accountHoldDuration должна быть в диапазоне от P30D до P60D дней включительно. |
accountHoldDuration |
Необязательное поле. Собственный период временной блокировки аккаунта для подписки, указанный в формате ISO 8601. Допустимые значения должны быть указаны в днях и находиться в диапазоне от P0D до P60D. Если поле пустое, то временная блокировка аккаунта рассчитывается по формуле "60 дней минус льготный период". Сумма значений gracePeriodDuration и accountHoldDuration должна быть в диапазоне от P30D до P60D дней включительно. |
resubscribeState |
Могут ли пользователи повторно оформить подписку на этот основной план на платформах Google Play. Если не указано, по умолчанию используется RESUBSCRIBE_STATE_ACTIVE. |
prorationMode |
Режим пропорционального перерасчета для основного плана определяет, что происходит, когда пользователь переходит на него с другого основного плана. Если не указано, по умолчанию используется CHARGE_ON_NEXT_BILLING_DATE. |
legacyCompatible |
Поддерживает ли продлеваемый основной план обратную совместимость. Основной план с обратной совместимостью возвращается устаревшим методом querySkuDetailsAsync() из библиотеки Google Play Платежей Для одной подписки можно выбрать только один основной план с поддержкой устаревших версий. |
legacyCompatibleSubscriptionOfferId |
Идентификатор предложения, совместимого с устаревшими версиями. Специальное предложение с обратной совместимостью возвращается устаревшим методом querySkuDetailsAsync() из библиотеки Google Play Платежей Для каждого основного плана с автоматическим продлением можно выбрать только одно специальное предложение, совместимое с устаревшими версиями. Чтобы не указывать предложение, совместимое с устаревшими версиями, оставьте это поле пустым. |
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 ( |
| Поля | |
|---|---|
billingPeriodDuration |
Обязательно. Не меняется. Период подписки в формате ISO 8601. Список допустимых расчетных периодов можно найти в Справочном центре. После создания основного плана продолжительность изменить нельзя. |
timeExtension |
Должна ли у пользователей быть возможность продлевать этот основной план с предоплатой в Google Play. Если не указано, по умолчанию используется TIME_EXTENSION_ACTIVE. |
TimeExtension
Продление основного плана.
| Перечисления | |
|---|---|
TIME_EXTENSION_UNSPECIFIED |
Состояние не указано. |
TIME_EXTENSION_ACTIVE |
Дополнительное время активно. Пользователи могут пополнять баланс или продлевать предоплаченный план. |
TIME_EXTENSION_INACTIVE |
Дополнительное время неактивно. Пользователи не могут пополнить баланс или продлить предоплаченный план. |
InstallmentsBasePlanType
Основной план с рассрочкой, в рамках которого пользователь обязуется сделать определенное количество платежей.
| JSON-представление |
|---|
{ "billingPeriodDuration": string, "committedPaymentsCount": integer, "renewalType": enum ( |
| Поля | |
|---|---|
billingPeriodDuration |
Обязательно. Не меняется. Период подписки, указанный в формате ISO 8601. Список допустимых расчетных периодов можно найти в Справочном центре. После создания основного плана изменить продолжительность нельзя. |
committedPaymentsCount |
Обязательно. Не меняется. Количество платежей, которые пользователь обязуется сделать. После создания основного плана его нельзя изменить. |
renewalType |
Обязательно. Не меняется. Тип продления основного плана с рассрочкой. Определяет, что произойдет по окончании первоначального срока действия обязательства. После создания основного плана тип продления изменить нельзя. |
gracePeriodDuration |
Льготный период подписки в формате ISO 8601. Допустимые значения должны быть указаны в днях и находиться в диапазоне от P0D до меньшего из двух значений: 30D и расчетного периода основного плана. Если значение не указано, будет использоваться значение по умолчанию, основанное на расчетном периоде. Сумма значений gracePeriodDuration и accountHoldDuration должна быть в диапазоне от P30D до P60D дней включительно. |
accountHoldDuration |
Необязательное поле. Собственный период временной блокировки аккаунта для подписки, указанный в формате ISO 8601. Допустимые значения должны быть указаны в днях и находиться в диапазоне от P0D до P60D. Если поле пустое, то временная блокировка аккаунта рассчитывается по формуле "60 дней минус льготный период". Сумма значений gracePeriodDuration и accountHoldDuration должна быть в диапазоне от P30D до P60D дней включительно. |
resubscribeState |
Могут ли пользователи повторно оформить подписку на этот основной план на платформах Google Play. Если не указано, по умолчанию используется RESUBSCRIBE_STATE_ACTIVE. |
prorationMode |
Режим пропорционального перерасчета для основного плана определяет, что происходит, когда пользователь переходит на него с другого основного плана. Если не указано, по умолчанию используется CHARGE_ON_NEXT_BILLING_DATE. |
RenewalType
Тип продления основного плана с рассрочкой. Определяет, что произойдет по окончании первоначального срока действия обязательства. После создания основного плана тип продления изменить нельзя.
| Перечисления | |
|---|---|
RENEWAL_TYPE_UNSPECIFIED |
Состояние не указано. |
RENEWAL_TYPE_RENEWS_WITHOUT_COMMITMENT |
Продлевается периодически на расчетный период без обязательств. |
RENEWAL_TYPE_RENEWS_WITH_COMMITMENT |
Продлевается на тот же срок, что и первоначальный. |
RegionalBasePlanConfig
Конфигурация основного плана для определенного региона.
| JSON-представление |
|---|
{
"regionCode": string,
"newSubscriberAvailability": boolean,
"price": {
object ( |
| Поля | |
|---|---|
regionCode |
Обязательно. Код региона, к которому применяется эта конфигурация, в соответствии со стандартом ISO 3166-1 alpha-2, например "US". |
newSubscriberAvailability |
Доступен ли основной план в указанном регионе для новых подписчиков. Если задано значение false, подписки существующих подписчиков не будут отменены. Если значение не указано, по умолчанию используется false. |
price |
Цена основного плана в указанном регионе. Обязательно, если основной план доступен новым подписчикам. Валюта должна соответствовать указанному региону. |
OtherRegionsBasePlanConfig
Информация о ценах для новых регионов, в которых может появиться Google Play.
| JSON-представление |
|---|
{ "usdPrice": { object ( |
| Поля | |
|---|---|
usdPrice |
Обязательно. Цена в долларах США, которая будет использоваться в новых регионах, где может появиться Google Play. |
eurPrice |
Обязательно. Цена в евро, которая будет использоваться в новых регионах, где может появиться Google Play. |
newSubscriberAvailability |
Доступен ли основной план новым подписчикам в новых регионах, которые со временем станут поддерживаться в Google Play. Если значение не указано, по умолчанию используется false. |
SubscriptionListing
Метаданные подписки, видимые пользователю.
| JSON-представление |
|---|
{ "languageCode": string, "title": string, "benefits": [ string ], "description": string } |
| Поля | |
|---|---|
languageCode |
Обязательно. Язык страницы приложения, определенный по стандарту BCP-47, например "ru-RU". |
title |
Обязательно. Название подписки на языке страницы приложения. Обычный текст. |
benefits[] |
Список преимуществ, которые показываются пользователю на таких платформах, как Google Play, и в процессах восстановления на языке этой страницы. Обычный текст. Упорядоченный список, содержащий не более четырех преимуществ. |
description |
Описание подписки на языке страницы. Максимальная длина – 200 символов. Обычный текст. |
Методы |
|
|---|---|
(deprecated) |
Устарело: архивирование подписок не поддерживается. |
|
Чтение одной или нескольких подписок. |
|
Обновляет пакет подписок. |
|
Создать подписку. |
|
Удаляет подписку. |
|
Считывает одну подписку. |
|
Выводит список всех подписок в указанном приложении. |
|
Обновляет существующую подписку. |
Коды ошибок
Операции этого ресурса возвращают следующие коды ошибок HTTP:
| Код ошибки | Причина | Описание | Разрешение |
|---|