Разработка сайта благотворительного фонда на 1С-Битрикс
Сайт благотворительного фонда решает две задачи одновременно: собирает пожертвования и доказывает, что деньги расходуются прозрачно. Доверие — единственная валюта фонда, и каждый элемент сайта либо укрепляет его, либо разрушает. 1С-Битрикс подходит для таких проектов благодаря модулю sale (платежи), инфоблокам (проекты, отчёты, истории) и встроенным инструментам SEO для продвижения по некоммерческим запросам.
Проекты помощи
Инфоблок «Проекты» — основной раздел сайта. Каждый проект — элемент со свойствами:
- Название и описание — текст с фото/видео
- Целевая сумма — число
-
Собранная сумма — число, обновляемое автоматически из модуля
sale - Статус — список: активный сбор, цель достигнута, завершён
- Категория — привязка к справочнику (дети, пожилые, экология, медицина)
- Фотоотчёты — множественное свойство «файл» с датами
- Финансовый отчёт — файл PDF
Прогресс-бар сбора — ключевой визуальный элемент. В шаблоне компонента news.detail рассчитываем процент: собранная сумма / целевая × 100. CSS-анимация заполнения при загрузке страницы. Цвет меняется по порогам: зелёный после 75%, жёлтый 30–75%, красный до 30%. Рядом — счётчик количества пожертвований (подсчёт заказов sale с привязкой к проекту).
На странице списка проектов — сортировка: «срочные» (близость дедлайна), «почти собрали» (процент > 80%), «новые». Фильтрация по категории через catalog.smart.filter.
Система приёма пожертвований — техническое ядро проекта
Приём денег на сайте фонда — не просто кнопка «Оплатить». Это рекуррентные платежи, несколько платёжных систем, фискализация, привязка к конкретному проекту и формирование отчётности. Разберём архитектуру.
Модуль sale как основа. Пожертвование оформляется как заказ в интернет-магазине Битрикс, но с упрощённым flow: нет корзины, нет доставки, нет товарных остатков. Создаём каталог с единственным «товаром» — «Пожертвование», где цена задаётся пользователем. Технически: инфоблок торгового каталога с одним элементом, свойство «Цена» в типе цен «BASE» установлено в 0 — реальная сумма передаётся через параметр при добавлении в корзину.
Кнопки быстрых сумм. На странице проекта размещаем кнопки: 100, 300, 500, 1000, 5000 рублей и поле «Другая сумма». При клике на кнопку — AJAX-запрос добавляет «товар» в корзину с указанной ценой и перенаправляет на страницу оформления. Параметр PROJECT_ID сохраняется в свойстве заказа — это связывает платёж с конкретным проектом для отчётности.
Страница оформления. Минимум полей: имя (необязательно — поддерживаем анонимные пожертвования), email (для чека и благодарности), сумма, выбор платёжной системы, чекбокс согласия на обработку ПД. Компонент sale.order.ajax с кастомным шаблоном, из которого удалены все лишние шаги.
Платёжные системы. Подключаем минимум два варианта:
- CloudPayments — поддерживает рекуррентные платежи через токенизацию карты, виджет встраивается через JS SDK. Обработчик платёжной системы в Битрикс принимает callback от CloudPayments и обновляет статус заказа
-
YooKassa (Юкасса) — для альтернативных методов: SBP (Система быстрых платежей), электронные кошельки. Штатный обработчик Битрикс для ЮKassa входит в модуль
sale
Рекуррентные платежи — главная техническая задача. Регулярные пожертвования (ежемесячные) дают фонду предсказуемый доход. Реализация через CloudPayments Subscriptions API:
- При первом платеже пользователь ставит галочку «Подписаться на ежемесячное пожертвование»
- CloudPayments сохраняет токен карты и создаёт подписку через метод
POST /subscriptions/createс параметрами:Amount,Currency,AccountId,StartDate,Interval: Month,Period: 1 - Каждый месяц CloudPayments автоматически списывает сумму и отправляет callback на сайт
- Обработчик callback создаёт новый заказ в
saleс привязкой к проекту и пользователю - Пользователю отправляется email с благодарностью и ссылкой на управление подпиской
Управление подпиской — страница в личном кабинете, где пользователь видит историю списаний, может изменить сумму или отменить подписку. Отмена — через метод POST /subscriptions/cancel CloudPayments API. Изменение суммы — отмена текущей подписки и создание новой.
Фискализация. Благотворительные пожертвования не облагаются НДС, но кассовый чек нужен. CloudPayments и ЮKassa поддерживают автоматическую фискализацию через онлайн-кассу (АТОЛ, OrangeData). В настройках обработчика указываем: система налогообложения — УСН, признак предмета расчёта — «платёж», ставка НДС — «без НДС».
Обновление собранной суммы. Обработчик события OnSaleOrderPaid — при оплате заказа получаем PROJECT_ID из свойства заказа и увеличиваем значение свойства «Собранная сумма» в инфоблоке проектов. Кеш детальной страницы проекта сбрасывается через тегированный кеш.
Отчётность и прозрачность
Юридическое требование (ФЗ «О благотворительной деятельности» и устав фонда): публикация финансовой отчётности. Создаём раздел «Отчётность» с инфоблоком документов:
- Годовые отчёты (PDF)
- Ежеквартальные финансовые отчёты
- Отчёты по каждому проекту — автоматически формируемые из данных
sale: сколько собрано, сколько расходовано (поле в инфоблоке проекта), на что потрачено (текстовое поле с детализацией) - Учредительные документы, свидетельства, лицензии
Для прозрачности добавляем на страницу проекта блок «Последние пожертвования» — список из последних 10 заказов: имя (или «Аноним»), сумма, дата. Выводим через sale.order.list с кастомным шаблоном, отфильтрованным по PROJECT_ID.
Волонтёрский портал
Раздел для волонтёров с регистрацией через стандартный компонент system.auth.registration и дополнительными полями: город, направление помощи, доступность (будни/выходные). После регистрации — доступ в закрытый раздел с расписанием мероприятий.
Расписание — инфоблок «Мероприятия»: название, дата, время, место, количество мест, зарегистрированные (множественная привязка к пользователям). Регистрация на мероприятие — кнопка, которая через AJAX добавляет ID пользователя в свойство элемента. При достижении лимита кнопка блокируется.
Новости и истории подопечных
Два инфоблока: «Новости фонда» (события, акции, пресс-релизы) и «Истории» (рассказы о подопечных с фото и видео). Истории — мощный инструмент вовлечения: после прочтения конверсия в пожертвование вырастает. В шаблоне истории — CTA-блок с кнопкой «Помочь [имя]» и прогресс-баром проекта, к которому привязан подопечный.
SEO для некоммерческих запросов
Некоммерческие запросы («помощь детям», «пожертвование онлайн», «благотворительный фонд [город]») имеют низкую конкуренцию, но требуют специфической оптимизации. Штатные инструменты SEO Битрикс: шаблоны title и description для разделов, ЧПУ через urlrewrite.php, автоматическая sitemap.xml. Микроразметка NonprofitOrganization schema.org на главной, DonateAction на страницах проектов.
Этапы разработки
| Этап | Содержание | Срок |
|---|---|---|
| Аналитика | Требования ФЗ, выбор платёжных систем, структура проектов | 2–3 недели |
| Дизайн | Эмоциональный, но не давящий. Макеты проектов, форм пожертвований | 2–3 недели |
| Разработка | Инфоблоки, модуль sale, интеграция CloudPayments/ЮKassa, рекуррентные платежи | 5–6 недель |
| Волонтёрский раздел | Регистрация, расписание, личный кабинет | 2–3 недели |
| Контент и SEO | Наполнение проектов, историй, настройка микроразметки | 2 недели |
| Тестирование | Платёжные сценарии, рекуррентные списания, мобильные устройства | 1–2 недели |
Сайт фонда на Битрикс — это не про технологический стек, а про доверие, выраженное в коде. Прогресс-бар, который обновляется в реальном времени, публичные отчёты, прозрачная история платежей — каждый элемент работает на то, чтобы человек нажал кнопку «Помочь» и вернулся снова.







