Переключение Тарифного плана

Метод создает новый Заказ на переключение Тарифного плана существующей ПодпискиНовый Тарифный план должен быть доступен для переключения для текущего Плана подпискиМетод возвращает ID и тело созданного Заказа и создает соответствующих Платеж.

POST /api/vendor/v1/subscriptions/:id/switch.json?api_token={api_token}&plan_id={plan_id}&plan_period_id={plan_period_id}&promo_code={promo_code}

Аргументы

Название

Тип параметра

Тип данных

Обязательный/ Опциональный

Описание

idpathintegerОбязательныйID существующий подписки.
api_tokenquerystringОбязательныйAPI токен Сотрудника, выполняющего операцию (см. Просмотр и обновление информации о сотруднике в ActivePlatform. Панель управления Оператора).
plan_idqueryintegerОбязательныйID нового тарифного плана подписки.
plan_period_idqueryintegerОбязательныйID периода нового тарифного плана.
promo_code

query

string

Опциональный

Код для получения скидки.

Модель ответа

Название

Тип данных

Описание

id

integer

ID заказа.

document_id

string

Номер заказа

status

string

Статус заказа. Может иметь следующие значения:

  • waiting for payment - заказ был осуществлен, ожидается его оплата;
  • provisioning - заказ был подтвержден, услуга предоставляется;
  • provisioning failed - заказ был подтвержден, но услуга не предоставляется;
  • completed - заказ был успешно обработан;
  • cancelled - заказ был отменен.

account_id

integer

ID аккаунта, с которого произведена оплата.

type

string

Тип заказа. Может иметь следующие значения:

  • SalesOrder - заказ на новую подписку;
  • RenewalOrder  - заказ на продление подписки;
  • ChangeOrder - заказ на изменение ресурсов подписки и т.п.;
  • SwitchOrder  - заказ на переключение с одного тарифного плана на другой.

created_at

date

Дата и время создания заказа.

updated_at

date

Дата и время последнего изменения заказа.

expiration_date

date

Дата окончания, до которой заказ должен быть оплачен. Дата окончания рассчитывается исходя из установленного значения "Период отсрочки платежа" в "Правиле предоставления" (см. Создание правила предоставления в ActivePlatform. Панель управления Оператора).

total

float

Общая сумма заказа.

promo_code

string

Промо-код, если данный код применялся при создании заказа (см. Создание Скидки по Промо-коду в ActivePlatform. Панель управления Оператора).

payment_id

integer

ID платежа, который связан с заказом.

items

arrayПеречень позиций в заказе:
  • id - ID позиции заказа;
  • target_id - ID сущности (услуги или дополнительного ресурса), которая относится к данной позиции заказа;

  • target_type - тип сущности, которая относится к данной позиции заказа:

    • Subscription - подписка;

    • SubscriptionResource - дополнительный ресурс подписки;

  • type - внутренний класс позиции заказа:

    • "ProvisioningItem::Upgrade" - увеличение количества ресурсов подписки;

    • "ProvisioningItem::New" - новая подписка;

    • "ProvisioningItem::RegisterDomain" - регистрация домена;

    • "ProvisioningItem::Renew" - продление подписки;

    • "ProvisioningItem::SwitchPlan" - изменение тарифного плана в рамках подписки;

    • "ProvisioningItem::Downgrade" - уменьшение количества ресурсов подписки;

    • "ProvisioningItem::TransferDomain" - перенос домена;

    • "ProvisioningItem::RegisterCertificate" - регистрация SSL-сертификата.

  • status - текущий статус позиции заказа:

    • waiting for payment - заказ был осуществлен, ожидается его оплата;
    • provisioning - заказ был подтвержден, услуга предоставляется;
    • provisioning failed - заказ был подтвержден, но услуга не предоставляется;
    • completed - заказ был успешно обработан;
    • cancelled - заказ был отменен.
  • description - краткое описание позиции заказа.

charges

array

Список списаний, сформированных по данному заказу:

  • id -  ID списания;
  • subscription_id - ID подписки;
  • subscription_resource_id - ID ресурса в подписке;
  • subscription_resource_name - имя ресурса в подписке;
  • plan_resource_id - ID ресурса в тарифном плане;
  • resource_id - ID ресурса;
  • quantity - количество заказанных единиц;
  • operate_from - дата начала оплаченного периода;
  • operate_to - дата окончания оплаченного периода;
  • duration - доля оплаченного периода в месяце;
  • description - подробная информация о списании;
  • unit_price - стоимость одной единицы;
  • amount - общая сумма списания;
  • status - текущий статус списания:
    • new - клиент еще не оплатил услугу;
    • opened - услуга заказана, списание не оплачено клиентом, денежные средства на балансе клиента не заблокированы (для CSP подписок);
    • blocked - услуга заказана, списание не оплачено клиентом, денежные средства на балансе клиента были заблокированы;
    • wating for a refund - клиент осуществил операцию, по которой ожидается подтверждение Сотрудником возврата денежных средств;
    • closed - клиент оплатил списание, денежные средства списаны с баланса клиента;
    • deleted - запись была удалена;
    • refunded - клиент осуществил операцию, по которой произошел успешный возврат денежных средств. 
    • waiting for approve - клиент осуществил операцию, по которой ожидается подтверждение операции Сотрудником.
  • type - внутренний класс списания:
    • "Charge::Setup" - списание за установку подписки;
    • "Charge::Recurring" - списание за абонентскую плату подписки;
    • "Charge::Renewal" - списание за обновление подписки;
    • "Charge::RecurringResource" - списание за абонентскую плату ресурса подписки;
    • "Charge::SetupResource" - списание за установку ресурсов подписки;
    • "Charge::Transfer" - списание за перенос домена.
  • order_id - ID заказа, по которому произведено списание;
  • close_date - дата, когда списание должно быть закрыто;
  • created_at - дата и время создания записи;
  • updated_at - дата и время последнего изменения записи.

Пример запроса

POST http://billing.activeplatform.com:80/api/vendor/v1/subscriptions/2005786/switch.json?api_token=654321&plan_id=2000303&plan_period_id=2000474

 

Пример ответа

{
  "id": 2010334,
  "document_id": "CH000350",
  "status": "waiting_for_payment",
  "account_id": 2000532,
  "type": "SwitchPlanOrder",
  "created_at": "2016-09-30T13:09:20.137+03:00",
  "updated_at": "2016-09-30T13:09:21.039+03:00",
  "expiration_date": "2016-09-30",
  "total": 0.12,
  "promo_code": null,
  "payment_id": 2006929,
  "items": [
    {
      "id": 16589,
      "target_id": 2005786,
      "target_type": "Subscription",
      "type": "ProvisioningItem::SwitchPlan",
      "status": "waiting_for_payment",
      "description": "MSExPlan"
    }
  ],
  "charges": [
    {
      "id": 754179,
      "subscription_id": 2005786,
      "subscription_resource_id": null,
      "subscription_resource_name": null,
      "plan_resource_id": null,
      "resource_id": null,
      "quantity": 1,
      "operate_from": "2016-12-01",
      "operate_to": "2016-12-30",
      "duration": 0.935,
      "description": "Переключение услуги (абонентская плата) #2005786 \"Microsoft Exchange 2013 Базовый\" на MSExPlan",
      "unit_price": 0.03,
      "amount": 0.03,
      "status": "new",
      "type": "Charge::Recurring",
      "order_id": 2010334,
      "close_date": "2016-12-30",
      "created_at": "2016-09-30T13:09:20.844748+0300",
      "updated_at": "2016-09-30T13:09:20.844748+0300"
    }
  ]
}