- Ресурс: Подписка
- Базовый план
- Состояние
- AutoRenewingBasePlanType
- Повторная подписка
- Режим пропорционального распределения подписки
- PrepaidBasePlanType
- Продление времени
- Тип базового плана рассрочки
- RenewType
- RegionalBasePlanConfig
- OtherRegionsBasePlanConfig
- Список подписок
- Методы
Ресурс: Подписка
Единая подписка на приложение.
| JSON-представление |
|---|
{ "packageName": string, "productId": string, "basePlans": [ { object ( |
| Поля | |
|---|---|
packageName | Неизменяемый. Имя пакета родительского приложения. |
productId | Неизменяемый. Уникальный идентификатор продукта. Уникальный в рамках родительского приложения. Идентификатор продукта должен состоять из строчных букв (az), цифр (0-9), подчеркиваний (_) и точек (.). Он должен начинаться со строчной буквы или цифры и иметь длину от 1 до 40 (включительно) символов. |
basePlans[] | Набор базовых тарифных планов для данной подписки. Отображает цены и продолжительность подписки, если другие предложения отсутствуют. |
listings[] | Обязательно. Список локализованных объявлений для данной подписки. Должен содержать как минимум одну запись для языка по умолчанию родительского приложения. |
archived | Только вывод. Устарело: архивирование подписок не поддерживается. |
taxAndComplianceSettings | Подробная информация о налогах и соблюдении законодательства. |
restrictedPaymentCountries | Необязательно. Страны, в которых приобретение данной подписки ограничено способами оплаты, зарегистрированными в той же стране. Если поле пустое, ограничения по месту оплаты не применяются. |
Базовый план
Единый базовый тарифный план для подписки.
| JSON-представление |
|---|
{ "basePlanId": string, "state": enum ( |
| Поля | |
|---|---|
basePlanId | Обязательный. Неизменяемый. Уникальный идентификатор этого базового плана. Должен быть уникальным в рамках подписки и соответствовать RFC-1034. То есть этот идентификатор может содержать только строчные буквы (az), цифры (0-9) и дефисы (-), и иметь длину не более 63 символов. |
state | Только вывод. Состояние базового плана, т.е. активен ли он. Черновые и неактивные базовые планы можно активировать или удалить. Активные базовые планы можно деактивировать. Неактивные базовые планы можно отменить. Это поле нельзя изменить при обновлении ресурса. Вместо этого используйте выделенные конечные точки. |
regionalConfigs[] | Информация по данному базовому плану, относящаяся к конкретному региону. |
offerTags[] | Список из до 20 пользовательских тегов, заданных для этого базового плана и возвращаемых в приложение через библиотеку платежей. Подписки на этот базовый план также получат эти теги в библиотеке платежей. |
otherRegionsConfig | Информация о ценах на любые новые локации, которые Play может запустить в будущем. Если она отсутствует, базовый тарифный план не будет автоматически доступен в любых новых локациях, которые 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 Billing Library. Для данной подписки только один продлеваемый базовый тарифный план может быть помечен как совместимый с устаревшими версиями. |
legacyCompatibleSubscriptionOfferId | Идентификатор предложения подписки, совместимый со старыми версиями. Предложение обратной совместимости по подписке возвращается устаревшим методом querySkuDetailsAsync() библиотеки Google Play Billing Library. Для одного базового тарифного плана с возможностью продления только одно предложение подписки может быть помечено как совместимое с устаревшими версиями. Чтобы исключить предложения подписки из списка совместимых с устаревшими версиями, установите для этого поля пустую строку. |
Повторная подписка
Необходимо повторно подписаться на базовый тарифный план.
| Перечисления | |
|---|---|
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 | С пользователей будет немедленно и в полном объеме списана плата за новый базовый тарифный план. Любой оставшийся период существующей подписки будет использован для продления срока действия нового тарифного плана. |
PrepaidBasePlanType
Представляет собой базовый тарифный план, который не продлевается автоматически по истечении срока действия и должен быть продлен пользователем вручную.
| JSON-представление |
|---|
{
"billingPeriodDuration": string,
"timeExtension": enum ( |
| Поля | |
|---|---|
billingPeriodDuration | Обязательно. Неизменяемо. Период подписки, указанный в формате ISO 8601. Список допустимых расчетных периодов см. в справочном центре. Продолжительность подписки не изменяется после создания базового тарифного плана. |
timeExtension | Должна ли возможность для пользователей продлевать действие этого предоплаченного базового тарифного плана в Google Play. По умолчанию используется значение TIME_EXTENSION_ACTIVE, если не указано иное. |
Продление времени
Продление срока действия базового плана.
| Перечисления | |
|---|---|
TIME_EXTENSION_UNSPECIFIED | Неуказанный штат. |
TIME_EXTENSION_ACTIVE | Функция продления срока действия доступна. Пользователи могут пополнять баланс или продлевать свой предоплаченный тарифный план. |
TIME_EXTENSION_INACTIVE | Функция продления срока действия недоступна. Пользователи не могут пополнять баланс или продлевать свой предоплаченный тарифный план. |
Тип базового плана рассрочки
Представляет собой базовый план рассрочки, в рамках которого пользователь обязуется произвести определенное количество платежей.
| 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. |
RenewType
Тип продления базового плана в рассрочку. Определяет поведение по окончании первоначального срока действия договора. Тип продления неизменяем после создания базового плана.
| Перечисления | |
|---|---|
RENEWAL_TYPE_UNSPECIFIED | Неуказанный штат. |
RENEWAL_TYPE_RENEWS_WITHOUT_COMMITMENT | Подписка периодически продлевается на весь расчетный период без каких-либо обязательств. |
RENEWAL_TYPE_RENEWS_WITH_COMMITMENT | Продлевается с сохранением обязательств на тот же срок, что и первоначальное. |
RegionalBasePlanConfig
Настройки базового плана, специфичные для конкретного региона.
| JSON-представление |
|---|
{
"regionCode": string,
"newSubscriberAvailability": boolean,
"price": {
object ( |
| Поля | |
|---|---|
regionCode | Обязательно. Код региона, к которому относится данная конфигурация, как определено в ISO 3166-2, например, «США». |
newSubscriberAvailability | Указывает, доступен ли базовый тарифный план в указанном регионе для новых подписчиков. Если это значение установлено на false, подписка для существующих подписчиков не будет отменена. Если значение не указано, по умолчанию будет установлено значение false. |
price | Цена базового тарифного плана в указанном регионе. Необходимо указать, если базовый тарифный план доступен новым абонентам. Должна быть указана валюта, привязанная к указанному региону. |
OtherRegionsBasePlanConfig
Информация о ценах на любые новые локации, в которых может быть запущена игра Play.
| JSON-представление |
|---|
{ "usdPrice": { object ( |
| Поля | |
|---|---|
usdPrice | Обязательно. Цена в долларах США для использования в любых новых локациях, где может быть запущена игра. |
eurPrice | Обязательно. Цена в евро для использования в любых новых локациях, где может быть запущена игра. |
newSubscriberAvailability | Указывает, будет ли базовый тарифный план доступен для новых подписчиков в новых регионах, где может быть запущен Play. Если не указано, по умолчанию будет установлено значение false. |
Список подписок
Метаданные подписки, доступные для пользователя.
| JSON-представление |
|---|
{ "languageCode": string, "title": string, "benefits": [ string ], "description": string } |
| Поля | |
|---|---|
languageCode | Обязательно. Язык данного объявления, как определено в BCP-47, например, «en-US». |
title | Обязательно. Название данной подписки на языке данного объявления. Обычный текст. |
benefits[] | Список преимуществ, отображаемых пользователю на таких платформах, как Play Store, и в процессах восстановления, на языке данного описания. Простой текст. Упорядоченный список, содержащий не более четырех преимуществ. |
description | Описание данной подписки на языке этого объявления. Максимальная длина — 80 символов. Обычный текст. |
Методы | |
|---|---|
(deprecated) | Устарело: архивирование подписок не поддерживается. |
| Читает одну или несколько подписок. |
| Обновляет пакет подписок. |
| Создает новую подписку. |
| Удаляет подписку. |
| Читает данные по одной подписке. |
| Отображает список всех подписок, относящихся к данному приложению. |
| Обновляет существующую подписку. |
коды ошибок
При работе с этим ресурсом возвращаются следующие коды ошибок HTTP:
| Код ошибки | Причина | Описание | Разрешение |
|---|---|---|---|
400 | invalidValue | В запросе было предоставлено недопустимое значение. Такая ошибка часто возникает при получении некорректного или недействительного токена покупки. | Исправьте недопустимое значение поля в теле запроса или параметрах в соответствии со справочником API. |
400 | required | В запросе отсутствует обязательное поле или параметр. | Ознакомьтесь с документацией API, чтобы убедиться в наличии всех обязательных полей и параметров. |
403 | userInsufficientPermission | У пользователя недостаточно прав для выполнения запрошенной операции. | Убедитесь, что авторизованный пользователь имеет необходимые разрешения в консоли Google Play. Дополнительные сведения см. в разделе «Использование служебной учетной записи» . |
404 | notFound | Запрошенный ресурс не найден. | Убедитесь в правильности идентификаторов (например, токен покупки, название пакета, идентификатор продукта, идентификатор подписки). |
409 | concurrentUpdate | Была предпринята попытка обновить объект, который обновляется одновременно с первым. | Повторите запрос с экспоненциальной задержкой. Избегайте одновременных изменений одного и того же ресурса. |
5xx | Generic error | Общая ошибка на сервере Google Play. | Повторите запрос. Если проблема не исчезнет, обратитесь к своему менеджеру аккаунта Google Play или отправьте запрос в службу поддержки. Рекомендуем проверить панель состояния Play на наличие известных сбоев. |