Розробка сайту благодійного фонду на 1С-Бітрікс
Сайт благодійного фонду вирішує дві задачі одночасно: збирає пожертвування та доказує, що гроші витрачаються прозоро. Довіра — єдина валюта фонду, і кожен елемент сайту либо укріплює її, либо руйнує. 1С-Бітрікс підходить для таких проектів завдяки модулю sale (платежі), інфоблокам (проекти, звіти, історії) та вбудованим інструментам SEO для просування по некомерційних запитах.
Проекти допомоги
Інфоблок «Проекти» — основний розділ сайту. Кожен проект — елемент зі властивостями:
- Назва та опис — текст з фото/відео
- Цільова сума — число
-
Зібрана сума — число, автоматично оновлюється з модуля
sale - Статус — список: активний збір, мета досягнута, завершено
- Категорія — прив'язка до довідника (діти, пенсіонери, екологія, медицина)
- Фотозвіти — множественна властивість «файл» з датами
- Фінансовий звіт — PDF-файл
Прогресбар — ключовий візуальний елемент. У шаблоні компонента news.detail розраховуємо відсоток: зібрана сума / цільова × 100. CSS-анімація заповнення при завантаженні сторінки. Колір змінюється за порогами: зелений після 75%, жовтий 30–75%, червоний до 30%. Поруч — лічильник кількості пожертвувань (підрахунок замовлень sale з прив'язкою до проекту).
На сторінці списку проектів — сортування: «терміні» (близькість дедлайну), «майже зібрали» (відсоток > 80%), «нові». Фільтрація за категорією через catalog.smart.filter.
Система прийому пожертвувань — технічне ядро проекту
Прийом грошей на сайті фонду — не просто кнопка «Оплатити». Це рекурентні платежі, кілька платіжних систем, фіскалізація, прив'язка до конкретного проекту та формування звітності. Розберімо архітектуру.
Модуль sale як основа. Пожертвування оформляється як замовлення в інтернет-магазині Бітрікс, але з спрощеним потоком: немає кошика, немає доставки, немає залишків товарів. Створюємо каталог з єдиним «товаром» — «Пожертвування», де ціна задається користувачем. Технічно: інфоблок торгового каталогу з одним елементом, властивість «Ціна» у типі цін «BASE» встановлена в 0 — реальна сума передається через параметр при додаванні до кошика.
Кнопки швидких сум. На сторінці проекту розміщуємо кнопки: 100, 300, 500, 1000, 5000 грн та поле «Інша сума». При кліку на кнопку — AJAX-запит додає «товар» у кошик з указаною ціною та перенаправляє на сторінку оформлення. Параметр PROJECT_ID зберігається у властивості замовлення — це зв'язує платіж з конкретним проектом для звітності.
Сторінка оформлення. Мінімум полів: ім'я (необов'язково — підтримуємо анонімні пожертвування), email (для чека та подяки), сума, вибір платіжної системи, чекбокс погодження на обробку ПД. Компонент sale.order.ajax з кастомним шаблоном, з якого видалені всі лишні кроки.
Платіжні системи. Підключаємо мінімум два варіанти:
- CloudPayments — підтримує рекурентні платежі через токенізацію карти, віджет вбудовується через JS SDK. Обробник платіжної системи в Бітрікс приймає callback від CloudPayments та оновлює статус замовлення
-
YooKassa (Юкасса) — для альтернативних методів: SBP (Система швидких платежів), електронні гаманці. Штатний обробник Бітрікс для YooKassa входить у модуль
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 та YooKassa підтримують автоматичну фіскалізацію через онлайн-касу (АТОЛ, 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/YooKassa, рекурентні платежі | 5–6 тижнів |
| Волонтерський розділ | Реєстрація, розписання, особистий кабінет | 2–3 тижні |
| Контент та SEO | Наповнення проектів, історій, настройка мікророзмітки | 2 тижні |
| Тестування | Платіжні сценарії, рекурентні списання, мобільні пристрої | 1–2 тижні |
Сайт фонду на Бітрікс — це не про технологічний стек, а про довіру, виражену в коді. Прогресбар, який оновлюється в реальному часі, публічні звіти, прозора історія платежів — кожен елемент працює на те, щоб людина натиснула кнопку «Допомогти» та повернулася знову.







