WisyLink Блог

закрытый клубсайт с подпискойплатная подпискапейволлонлайн-курсы

Как создать закрытый клуб с платной подпиской с помощью ИИ

Сайт с платной подпиской с ИИ: тарифы, вход для участников, закрытые страницы, подписки с подтверждением по вебхуку, неудачные платежи и управление клубом.

12 мин. чтение
Как создать закрытый клуб с платной подпиской с помощью ИИ

Сайт с платной подпиской — это сайт, где платные участники после входа получают доступ к закрытому контенту или функциям. Чтобы сделать его с ИИ, опишите тарифы, цены и что видит каждый тариф. Конструктор создаст регистрацию и вход, закрытые страницы, оформление подписки с подтверждением по вебхуку и раздел администратора. Оплата заработает, когда вы добавите ключи платёжного сервиса.

  • До промпта решите, какие будут тарифы, цены и что именно открывает каждый тариф. Правила доступа — сердце сборки.
  • Участники регистрируются в собственных аккаунтах сайта, а доступ проверяется на сервере, поэтому закрытый контент никогда не попадает в браузер того, кто не оплатил.
  • Подписки работают через ваш собственный аккаунт у платёжного сервиса. Оплату подтверждает проверенный вебхук, а не страница «Спасибо», и статус хранится в записи каждого участника.
  • Видео размещайте на видеохостинге и встраивайте. Загрузки ограничены 25 МБ на файл и занимают ваше хранилище.
  • Продумайте неудачные платежи и отмены с первого дня: события платёжного сервиса подсказывают сайту, когда предупредить, повторить списание или закрыть доступ.
  • Клуб должен работать без перерывов, поэтому держите его на платном тарифе WisyLink. Бесплатный тариф — для сборки и проверки первой версии.

Что нужно сайту с платной подпиской

Платные клубы часто собирают из пяти инструментов: конструктор сайтов, плагин для подписок, платёжный сервис, сервис рассылок и приложение для сообщества. У каждого свой логин, свои комиссии и своё представление о том, кто участник. Если собрать всё как одно приложение, части такие:

Публичные страницы
Продающая страница, цены и анонсы контента. Их видят поисковики и новые посетители.
Аккаунты
Регистрация, вход, сброс пароля и страница аккаунта участника.
Правила доступа
Какой тариф видит какие страницы, файлы и функции; проверяются при каждом запросе.
Оплата
Оформление, продления, смена тарифа, отмена и неудачные платежи через ваш платёжный сервис.
Контент
Статьи или уроки, файлы для скачивания, встроенное видео и, по желанию, комментарии или чат.
Администрирование
Список участников с тарифом и статусом, ручная выдача доступа и редактор контента.

WisyLink собирает всё это как одно приложение по вашему описанию, с собственным адресом и HTTPS. Обратная сторона — ответственность: логика доступа — это логика вашего приложения, поэтому проверяйте её так же тщательно, как оформление заказа.

Выберите модель: тарифы, месяц или год, пробный период

Ограничьтесь тремя тарифами или меньше: каждый лишний тариф — это ещё один столбец в правилах доступа и ещё одно решение для посетителя на странице цен.

  • Бесплатный и платный. Бесплатный тариф с аккаунтом и несколькими уроками работает как лид-магнит, платные открывают остальное. Бесплатные участники — это всё равно аккаунты, которые вы храните и защищаете, и они занимают место в базе данных.
  • Только платный. Проще вести и объяснять. Хорошо работает, когда аудитория вас уже знает.
  • Два платных тарифа. Контент на младшем, доступ к вам на старшем: эфиры с ответами на вопросы, разборы работ, чат участников.

Можно ли брать оплату помесячно и за год? Да. У каждого тарифа просто две цены, ежемесячная и годовая, а сайт хранит, какую выбрал каждый участник; в Stripe, например, это две цены одного продукта, и у других сервисов с рекуррентными платежами принцип тот же. Помесячная оплата подходит, когда новый контент выходит постоянно; годовая — для библиотеки, которую проходят в своём темпе, а скидка за оплату вперёд улучшает ваш денежный поток и удерживает участника на целый год.

Многие платёжные сервисы поддерживают бесплатный или льготный пробный период; Stripe, например, умеет и то и другое. Если вы его предлагаете, решите, нужно ли вводить карту для старта и что происходит в конце. Stripe присылает событие об окончании пробного периода, по умолчанию за три дня, и сайт может использовать его для напоминания; если ваш сервис такого события не присылает, напоминание отправит плановая задача сайта.

Соберите сайт: шаги и шаблон промпта

  1. Составьте матрицу доступа на одну страницу: тарифы по вертикали, контент и функции по горизонтали, галочка там, где доступ разрешён.
  2. Откройте новый чат WisyLink и вставьте промпт ниже, подставив свои тарифы, цены и контент.
  3. Когда сборка завершится, прочитайте заключительную заметку. В ней сказано, как попасть в раздел администратора и какие интеграции заполнить: обычно ключи платёжного сервиса и секрет для проверки подписи вебхуков, а также SMTP для писем. Пока вы этого не сделаете, оплата и письма неактивны. Никогда не вставляйте ключи в чат.
  4. Сначала введите тестовые ключи сервиса. В разделе «Интеграции» есть пошаговая инструкция по настройке, включая адрес вебхука, который нужно указать в кабинете платёжного сервиса.
  5. Пройдите весь путь с тестовыми картами сервиса: регистрация, подписка, открытие закрытого урока, смена тарифа, отмена и имитация отклонённого продления.
  6. Поставьте боевые ключи, купите свой самый дешёвый тариф настоящей картой и сделайте возврат.
  7. Перейдите на платный тариф WisyLink до того, как приглашать участников. Бесплатные ссылки живут 30 дней плюс неделю с пометкой на удаление — вместе с аккаунтами участников.

Сделайте сайт с платной подпиской «Школа закваски» для моих онлайн-курсов по выпечке хлеба.

Публичная часть: главная страница, которая продаёт подписку, страница с ценами и библиотека уроков, где каждый видит название урока и анонс в два абзаца.

Тарифы: «Бесплатный» (только аккаунт, первые 3 урока), «Пекарь» (990 ₽ в месяц или 9 900 ₽ в год: все уроки и рецепты в PDF), «Профи» (2 490 ₽ в месяц или 24 900 ₽ в год: всё из тарифа «Пекарь» плюс страницы ежемесячных эфиров с вопросами и чат участников).

Аккаунты: регистрация по email и паролю, вход, сброс пароля по почте и страница аккаунта с тарифом, статусом, датой продления и кнопкой «Управлять подпиской» для смены тарифа и отмены.

Оплата: подписки через мой аккаунт у платёжного сервиса, подтверждение только проверенным вебхуком сервиса. Храните у участника тариф, статус и дату окончания текущего периода. Если платёж не прошёл, показывайте участнику баннер с просьбой обновить карту; закрывайте платный доступ, когда подписка отменена или не оплачена.

Контент: уроки — это сохранённые записи с названием, адресом, тарифом, анонсом, текстом и необязательной ссылкой на встроенное видео. Рецепты — закрытые PDF-файлы для тарифа «Пекарь» и выше.

Администрирование: раздел со входом по паролю, где можно добавлять и редактировать уроки, видеть участников по тарифу и статусу и выдавать бесплатный доступ с датой окончания.

Почта: приветственное письмо и письмо о неудачном платеже через мой SMTP-аккаунт. Дизайн: тёплый, журнальный, удобный для чтения с телефона.

На бесплатном тарифе Community одна сборка заполняет 5-часовое окно лимита, а сборки нацелены на рабочую первую версию. Клуб с подпиской — большое приложение, поэтому собирайте его по этапам: сначала аккаунты, тарифы и закрытые уроки, потом оплата, в конце чат и дополнения. Платные тарифы дают более полные сборки и более короткие паузы между ними. Как структурировать большие запросы, смотрите в шаблонах промптов для конструктора сайтов с ИИ.

Аккаунты, роли и закрытые страницы

Сайты WisyLink ведут собственные аккаунты. Пароли хранятся в виде хешей, сессии живут в защищённом cookie, а роли вроде «участник» и «администратор» — часть вашего приложения. Общего входа платформы для ваших посетителей нет: участники принадлежат вашему сайту. Вход через Google или похожих провайдеров возможен с вашими собственными OAuth-ключами в разделе «Интеграции». На корпоративный единый вход (SSO) не рассчитывайте.

Доступ решается на сервере при каждом запросе. Тот, у кого нет тарифа «Пекарь», открыв урок этого тарифа, получает анонс и предложение перейти на тариф; полного текста в полученной им странице нет вообще. Это важно: пейволлы, которые лишь прячут контент стилями, оставляют его в исходном коде страницы для любого желающего. Страницы участников к тому же помечаются так, чтобы общий кэш никогда не отдал их кому-то другому.

Два практических момента. Первый — вход администратора: заключительная заметка сборки скажет, как войти — с созданными ею данными или так, что администратором становится первый зарегистрированный аккаунт. Во втором случае зарегистрируйтесь сами до того, как делиться ссылкой. Второй — поисковики видят то же, что посетитель без входа, поэтому пишите анонсы, которые самостоятельны и достойны позиций в поиске.

Если каждый клиент должен видеть только свои документы, счета или файлы проекта, а не общую библиотеку, вы строите не клуб, а личный кабинет; смотрите, как сделать личный кабинет клиента без кода.

Подписки: вебхуки, отмены, неудачные платежи

Подписки работают через ваш собственный аккаунт у платёжного сервиса; WisyLink никогда не держит ни ваши деньги, ни ваш аккаунт. Stripe — пример такого сервиса там, где он работает; продавцов из России он не обслуживает, поэтому для бизнеса в России нужен сервис с рекуррентными платежами и API. Сборка настраивает такой процесс:

  1. Участник выбирает тариф. Сайт записывает попытку оплаты с ID участника и открывает страницу оплаты сервиса.
  2. Сервис принимает платёж на своей странице.
  3. Сервис отправляет вебхук на ваш сайт. Сайт проверяет подпись вашим секретом, находит участника и сохраняет тариф, статус и дату продления.
  4. Страницы проверяют этот сохранённый статус. Страница «Спасибо», на которую участник попадает после оплаты, сама по себе ничего не доказывает: этот URL может открыть кто угодно.

Какие события обрабатывать, описывает, например, руководство Stripe по вебхукам подписок. У других сервисов названия событий свои, но набор ситуаций тот же. Главные из них:

События подписки (на примере Stripe) и что должен делать сайт
СобытиеЧто произошлоЧто делает сайт
invoice.paidПервый платёж или продление прошли успешноПродлевает доступ, когда подписка активна
invoice.payment_failedПлатёж отклонёнПишет участнику и показывает баннер «обновите карту»
customer.subscription.updatedСмена тарифа, продление или смена статуса, например на «просрочен»Обновляет сохранённые тариф и статус
customer.subscription.deletedПодписка закончиласьЗакрывает платный доступ и оставляет бесплатный аккаунт
customer.subscription.trial_will_endСкоро заканчивается пробный периодОтправляет напоминание

Отмена и смена тарифа. Могут ли участники сами отменить подписку или сменить тариф? Да: попросите кнопку «Управлять подпиской». У Stripe это готовый портал клиента — страница на стороне Stripe, которую вы включаете в своём кабинете и где клиенты меняют карту, переключают тариф, смотрят счета и отменяют подписку сразу или в конце периода. Если у вашего сервиса такого портала нет, попросите кнопки смены тарифа и отмены на странице аккаунта, которые работают через API сервиса, если он это позволяет. Изменения в любом случае возвращаются на сайт в виде событий, как в таблице.

Неудачные платежи. Когда продление не прошло, подписка становится просроченной, и сервис может повторить списание; в Stripe для этого есть настройка Smart Retries, у других сервисов правила повторов смотрите в их документации. Политику отсрочки решите заранее. Распространённый вариант — сохранять доступ на время повторных попыток с заметным предупреждением и закрывать его, когда подписка отмечена как отменённая или неоплаченная, как и рекомендует руководство Stripe.

Возвраты и споры. Решите, закрывает ли возврат доступ сразу и замораживает ли аккаунт оспаривание платежа. Если позже смените домен, проверьте, что адрес вебхука, указанный в кабинете платёжного сервиса, по-прежнему ведёт на сайт.

Разовые продажи наряду с подпиской работают так же, только с разовой оплатой; смотрите руководство по интернет-магазину.

Доставка контента: статьи, файлы и видео

Где размещать каждый тип контента для участников
Тип контентаГде размещатьПочему
Статьи и урокиСохранённые записи в базе данных сайтаУ каждой своя страница, и она появляется без пересборки; запись вмещает до 256 КБ — с запасом для длинного текста
PDF, рабочие тетради, шаблоныЗакрытые файлы в хранилище сайтаОткрываются по короткоживущим ссылкам только участникам с подходящим тарифом; до 25 МБ на файл, и каждое скачивание учитывается в трафике
Изображения в урокахПубличные файлы или изображения, приложенные к сборкеБыстро отдаются, а чтение публичных файлов не учитывается в трафике; посмотреть картинку может любой, у кого есть её URL
ВидеокурсыВидеохостинг с приватным встраиванием или ограничением по домену, видео встраивается в страницу урокаЛимит 25 МБ на файл делает загрузку видео непрактичной, а видеохостинги подстраивают качество под любое устройство
Аудио и подкастыХостинг подкастов для открытых выпусков; закрытые файлы для коротких записей только для участниковТот же лимит на файл и та же логика трафика, что у видео
Живые встречиСсылка на видеовстречу, видимая только на странице нужного тарифаСсылка — часть закрытой страницы, поэтому её видит только этот тариф

Лимиты хранилища, базы данных и трафика зависят от тарифа WisyLink, а панель «Ресурсы» показывает, насколько заполнено каждое. У аккаунтов, которые остаются сверх лимита, ссылки могут быть приостановлены, поэтому тяжёлые медиа держите на площадках, созданных для них.

Сообщество: комментарии и живой чат

Сообщество — частая причина, по которой люди продлевают подписку, даже когда контент уже пройден.

  • Комментарии к урокам — сохранённые записи, привязанные к автору. Попросите, чтобы писать могли только участники, с ограничением частоты для каждого, а у вас были кнопки «скрыть» и «удалить».
  • Живой чат работает на каналах реального времени. В закрытые каналы может войти только участник, который вошёл в аккаунт, и сайт пускает в чат только тарифы, в которые он входит. Сообщения в реальном времени мимолётны, поэтому попросите сохранять и каждое сообщение — тогда у участников будет история переписки.
  • Обсуждения работают как небольшой форум: темы, ответы и профили участников. «Форум сообщества» — один из сценариев использования, которые перечисляет WisyLink.
  • Уведомления об ответах уходят на почту через ваш SMTP-аккаунт.

Решите, кто модерирует, до того, как открыть двери. Кнопка «Пожаловаться», которая отправляет сообщение в очередь администратора, стоит одного предложения в промпте и сэкономит часы потом.

Ведение клуба: участники, письма, отток и персональные данные

  • Управление участниками. Фильтруйте участников по тарифу и статусу и ищите человека по точному email; полнотекстового поиска по большим спискам нет. Попросите ручную выдачу доступа с датой окончания — для стипендий, партнёров или жестов доброй воли.
  • Письма. Приветствие, сброс пароля и письмо о неудачном платеже уходят через ваш SMTP-аккаунт. Квитанции многие платёжные сервисы отправляют сами, так что не дублируйте их. В России при приёме оплаты онлайн обычно нужны кассовые чеки по 54-ФЗ: уточните у своего платёжного сервиса и бухгалтера, кто и как их формирует.
  • Отток. У некоторых сервисов, например в портале клиента Stripe, можно собирать причины отмены и предлагать скидку тем, кто собирается уйти. Со своей стороны храните дату последнего входа каждого участника, выводите список тех, кто не заходил 30 дней, и связывайтесь с ними до того, как они отменят подписку. Фоновая задача, которая запускается раз в 30–60 минут, может присылать вам еженедельную сводку.
  • Персональные данные. Вы собираете имена, email и статус оплаты, поэтому опубликуйте политику обработки персональных данных. Исполнение оплаченной подписки и маркетинговые рассылки опираются на разные правовые основания: обзор правовых оснований от Еврокомиссии объясняет разницу между договором и согласием, а в России на сбор данных распространяется 152-ФЗ, включая требование хранить данные россиян в России, о котором WisyLink ничего не заявляет. Попросите отдельную неотмеченную галочку для рассылки и возможность для участника удалить аккаунт. Это общие рекомендации, а не юридическая консультация.
  • Расходы. Заложите в бюджет тариф WisyLink, комиссии платёжного сервиса, видеохостинг и сервис рассылок, если он есть, и сравните с тем, сколько стоил бы разработчик; смотрите, сколько стоит создать веб-приложение.

Чтобы растить бесплатный тариф, дополните клуб лид-магнитом; для курсов хорошо работает квиз, который собирает email.

Составьте матрицу доступа, а затем опишите тарифы, цены и контент одним сообщением. WisyLink соберёт аккаунты, закрытые страницы, процесс подписки и раздел администратора как одно приложение с хостингом, а дорабатывать его можно в чате. Пройдите весь путь в тестовом режиме платёжного сервиса до того, как заплатит первый участник.

Начните бесплатно на тарифе Community, без привязки карты, и соберите первую версию. Прежде чем приглашать участников, сравните платные тарифы: они держат сайт в сети, пока действует подписка, и дают более полные сборки. Свой домен можно подключить на любом тарифе, в том числе бесплатном.

ЧАВО

Часто задаваемые вопросы

Можно ли брать оплату помесячно и за год?
Да. Заведите для каждого тарифа ежемесячную и годовую цену у своего платёжного сервиса и покажите обе на странице цен. Если сервис позволяет участникам самим переключать тариф, они смогут переходить с месячной оплаты на годовую без вашего участия. Показывайте годовую цену в пересчёте на месяц рядом с реальной суммой за год, чтобы списание в выписке никого не удивило.
Могут ли участники сами отменить подписку или сменить тариф?
Да. Попросите кнопку «Управлять подпиской» на странице аккаунта. У Stripe она открывает готовый портал клиента, где участник отменяет подписку, меняет тариф и карту и скачивает счета, а разрешённые действия вы настраиваете в кабинете Stripe. Если у вашего сервиса нет такого портала, сайт может отменять и менять подписку через API сервиса. Собственного биллингового портала у WisyLink нет.
Где размещать видео для курса?
На видеохостинге, который поддерживает приватное встраивание или ограничение по домену, а затем встраивать каждое видео в страницу урока. Загрузки на сайт ограничены 25 МБ на файл, что исключает большинство видеоуроков, а стриминговые площадки подстраивают качество под соединение каждого зрителя. Храните ссылку для встраивания в записи урока: тогда замена видео никогда не потребует пересборки сайта.
Можно ли предложить бесплатный пробный период?
Да, если его поддерживает ваш платёжный сервис: у Stripe, например, есть и бесплатные, и платные пробные периоды, а сайт обращается с участником на пробном периоде как с активным. Решите, нужна ли карта на старте: это отсекает случайные регистрации, а без карты барьер ниже, но больше пробных периодов заканчивается без оплаты. Попросите сборку присылать напоминание перед окончанием пробного периода и проверьте этот сценарий в тестовом режиме.
Что происходит, если платёж не прошёл?
Платёжный сервис присылает событие о неудачном платеже, в Stripe это invoice.payment_failed, и подписка становится просроченной. Сайт пишет участнику, показывает баннер со ссылкой на обновление карты и сохраняет или ограничивает доступ по выбранной вами политике отсрочки. Сервис может повторить списание автоматически. Если все попытки неудачны, подписка отменяется или остаётся просроченной в зависимости от настроек сервиса, а сайт закрывает платный доступ.
Могут ли участники общаться между собой?
Да. Попросите комментарии под уроками, ветки обсуждений или живой чат участников. Чат работает на каналах реального времени, в которые могут войти только вошедшие в аккаунт участники нужного тарифа, и каждое сообщение ещё и сохраняется, чтобы история подгружалась у того, кто пришёл позже. Продумайте модерацию с самого начала: кнопка жалобы, очередь модерации и возможность заглушить или удалить участника.
Поделиться
XLinkedInFacebook