Загрузка приложения

ICustomerSubscription

Физическое объявление TypeScript из стартового проекта Nuxt со связанными типами и комментариями к полям.

ICustomerSubscription

Подписка пользователя.

app/interfaces/orionplace/subscribes/ISubscriptionApi.ts
TypeScript
export interface ICustomerSubscription {
  // ID подписки покупателя. Используется для продления и обращений по подписке.
  id: number;
  // ID определения подписки текущего периода или null без него.
  subscription: number | null;
  // ID тарифа текущего периода или null без текущего периода. Сопоставьте с
  // page_data.tariffs[].id; список включает также тарифы истёкших подписок и
  // тарифы, закрытые для новых покупок.
  tariff: number | null;
  // ID опции сервиса, с которой оформлена подписка, или null, если опции нет.
  option: number | null;
  // Время создания подписки.
  creation_date: IApiDateTime;
  // Конец оплаченного доступа или null. Отрицательное days_ago означает будущую
  // дату. Перед выбором ожидания/активности/завершения проверьте
  // remote_subscription_sync_pending.
  active_until: IApiDateTime | null;
  // Время остановки продления через subscriptions_cancel или полного возврата
  // подписки; null, когда эти состояния больше не действуют. Включение
  // продления или покупка нового оплаченного периода очищает дату. Отмена
  // покупателем сохраняет доступ до active_until и ничего не возвращает.
  cancelled_date: IApiDateTime | null;
  // Сумма, которая возвращается на баланс аккаунта при переводе этой подписки
  // на другой тариф или другую опцию сервиса, по ID валюты: неиспользованные
  // дни всех оплаченных периодов, которые ещё не закончились.
  // `subscriptions_change_tariff` и `subscriptions_change_option` зачисляют её
  // до списания за новый период, поэтому она учитывается в стоимости смены.
  returned_amount: ICurrencyAmounts;
  // Количество обращений в поддержку по подписке.
  c_tickets: number;
  /** Partner code a trial remembered, while it waits for the first payment; fill the promo field with it on upgrade. */
  referral_code: string | null;
  // Настроенная длительность продления и суммы по валютам либо null при
  // отключении. При текущем периоде цены тарифа и опции разделены; запасной
  // формат содержит `cost`. ID цены тарифа в этом поле не передаётся.
  renew_period: ICustomerSubscriptionRenewal | null;
  // ID сервиса, последнее подтверждение, признак ожидания и пакеты
  // сведений/использования. Объект возвращается и без подключённого сервиса;
  // пакеты и ID сервиса могут быть null.
  plugin: {
    // Значение поля remote_subscription_last_sync.
    remote_subscription_last_sync: IApiDateTime | null;
    // Значение поля remote_subscription_sync_pending.
    remote_subscription_sync_pending: boolean;
    // Значение поля remote_subscription_data_user.
    remote_subscription_data_user: JsonValue;
    // Значение поля remote_subscription_tariff_usages.
    remote_subscription_tariff_usages: JsonValue;
    // Значение поля remote_subscription_id.
    remote_subscription_id: number | null;
  };
}