Операции платных подписок
Платные подписки позволяют аккаунтам предлагать многоуровневые периодические услуги с оплатой в токенах VIZ и опциональным автопродлением.
set_paid_subscription_operation (ID 50)
Авторизация: active account
Создаёт или обновляет предложение подписки. При первом создании взимается create_paid_subscription_fee.
| Поле | Тип | Описание |
|---|---|---|
account | account_name_type | Аккаунт, предлагающий подписку |
url | string | URL с деталями подписки |
levels | uint16_t | Количество уровней подписки (≥ 1) |
amount | asset (VIZ) | Базовая цена за период на единицу уровня |
period | uint16_t | Период подписки в днях (≥ 1) |
json
[50, {
"account": "alice",
"url": "https://alice.example.com/subscribe",
"levels": 3,
"amount": "10.000 VIZ",
"period": 30
}]- Фактическая стоимость для подписчика =
amount × level. levels = 3приamount = "10.000 VIZ"→ уровень 1 стоит 10 VIZ, уровень 2 — 20 VIZ, уровень 3 — 30 VIZ за период.- Обновление операции изменяет параметры для будущих подписок; существующие активные подписки продолжаются на прежних условиях до продления.
paid_subscribe_operation (ID 51)
Авторизация: active subscriber
Оформляет или продлевает платную подписку. Токены немедленно переводятся от subscriber к account.
| Поле | Тип | Описание |
|---|---|---|
subscriber | account_name_type | Подписывающийся аккаунт |
account | account_name_type | Аккаунт, предлагающий подписку |
level | uint16_t | Уровень подписки (1 – levels) |
amount | asset (VIZ) | Сумма платежа |
period | uint16_t | Количество оплачиваемых периодов |
auto_renewal | bool | Включить автоматическое продление каждый период |
json
[51, {
"subscriber": "bob",
"account": "alice",
"level": 2,
"amount": "20.000 VIZ",
"period": 1,
"auto_renewal": true
}]amountдолжна точно совпадать сsubscription.amount × level × period.levelдолжен быть в диапазоне [1,subscription.levels].auto_renewal: true— токены автоматически списываются каждый период при наличии достаточного баланса.auto_renewal: false— разовая подписка; истекает после оплаченного периода.
Виртуальные операции:
| Виртуальная операция | Триггер |
|---|---|
paid_subscription_action_operation | Платёж обработан |
cancel_paid_subscription_operation | Подписка истекла или отменена |
См. также: Типы данных, Обзор операций, Виртуальные операции.