- Q-02: цены mass в USD $6.99 и $69.90, пресеты пополнения в RUB и USD. - D-025: реферальный бонус — 30 дней к ключу обоим вместо денег; продления без оплаты (key-extensions); крайние случаи — Q-19. - Q-08, Q-09: help@veilix.app и help@veilixvpn.com, часы по Москве. - Q-16: ящики на почтовом хостинге (R-18), на этапе 2 — Chatwoot по IMAP. - R-01 сделано; R-17: путь HMR в Next 16.4 — /_next/hmr. Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
3.6 KiB
3.6 KiB
D-025. Реферальный бонус — дни срока ключа
Статус: принято, 21.10.2026. Заменяет денежный бонус из макета (Q-02). Крайние случаи — предложение по Q-19.
Контекст
В макете «месяц в подарок» начисляется обоим деньгами на баланс: 2 499 ₽ у dedicated и 699 ₽ у mass. Для этого нужна сумма в каждой валюте каждого сайта, а бонус уходит в ближайшее списание, в том числе за другой тариф.
Решение
- Бонус — дни срока ключа, без денег. Число дней — настройка сайта
referralBonusDays, по умолчанию 30. - Приглашённый получает дни на ключ, который купил заказом, выполнившим условие (первый оплаченный
new_key). - Пригласивший получает дни на свой последний купленный ключ.
- Условие, проверка самоприглашений и границы сайта прежние (04-billing.md, раздел 11).
- Начисление — продление без оплаты. Тот же механизм у «Продлить вручную» в админке: запись в коллекции
key-extensions(04-billing.md, раздел 6.4).
Крайние случаи (предложение, Q-19)
- «Месяц» приглашённому — тоже 30 дней: одна настройка на обе стороны.
- Ключ ещё готовится (
provisioning) — дни добавятся при выдаче: срок идёт с выдачи. - «Последний ключ» — купленный последним среди неистёкших и неотменённых (
provisioning,active,grace). Ключ в льготном периоде после начисления сноваactive. - У пригласившего такого ключа нет — дни ждут и добавятся к его следующему ключу.
- Возврат по заказу приглашённого бонус пригласившего не отменяет; злоупотребления разбирает администратор.
Рассмотренные варианты
- Деньги на баланс, как в макете: суммы в каждой валюте, бонус уходит на любое списание.
- Дни на ключ с ближайшей датой окончания: пользователь выбрал последний ключ.
Последствия
- В
sitesвместо сумм по валютамreferralBonus— число днейreferralBonusDays. Тип движенияreferral_bonusвledger-entriesне нужен. - Новая коллекция
key-extensions— продления без оплаты: бонус и компенсация (03-data-model.md, раздел 5.4). У приглашения — ключи обеих сторон. - Кабинет: условия на странице «Реферальная программа» — в днях; в истории платежей строка «Реферальный бонус» показывает «+30 дней» вместо суммы (07-frontend.md, раздел 7).