Добавляем кнопку для сбора пожертвований (донатов) к блогу

Инструкция по добавлению кнопки для сбора пожертвований (донатов) к блогу.

Добавляем кнопку для сбора пожертвований (донатов) к блогу
Дата публикации
03.07.24
Дата обновления
16.05.26
Время чтения
6 мин.

Сегодня расскажем как добавить кнопку для сбора пожертвований (донатов) к блогу или сайту.

Зачем блогеру нужна кнопка "Поддержать"

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

Выбор сервиса для сбора пожертвований

Существует множество сервисов, которые позволяют собрать пожертвования (донаты) с пользователей:

Быстрый поиск в интернете выдал следующие результаты:

  • BuyMeACoffee - на первый взгляд - то что нужно, но находится за рубежом и не обслуживает клиентов из РФ;
  • Ko-fi - аналогично BuyMeACoffee, но ещё говорят и кидает на деньги если ты из РФ;
  • Coindrop - интересный open-source сервис, но как мне показалось больше подходит для крипты;
  • ЮKassa - всё хорошо, я им даже пользовался в "У нас праздник", но не работает с физ. лицами;
  • ЮMoney - та же ЮKassa, но вид сбоку;
  • CloudTips - сервис для чаевых и донатов от Т-банка, предназначен именно для физиков и безвозмездных пожертвований.
СервисКомиссияПлатежные методыОсобенности
BuyMeACoffee~5%Карты, Apple Pay, PayPalПростая настройка, англ. интерфейс
Ko-fi0% (в free), 5% (Gold)PayPalПростой виджет, поддержка целей
CloudTips5%Карты РФПодходит для российских блогеров
Donorbox0–1.5% + Stripe/PayPalStripe, PayPalМного кастомизации, подписки
ЮMoney/ЮKassa3–6%Карты, СБПЛегальная интеграция в РФ

В итоге я решил создать себе страницу на CloudTips.

Как выглядит "правильная" кнопка доната (требования к кнопке)

Советы по оформлению:

  • Цвет — контрастный, выделяющийся на фоне сайта
  • Надпись — короткая и мотивирующая: Поддержать, Купить кофе, Помочь блогу
  • Размер — не слишком маленький, кнопка должна быть заметной
  • Положение — в шапке, футере и внутри постов

Пример кнопки:

<a
  href="https://www.buymeacoffee.com/yourname"
  target="_blank"
  rel="noopener noreferrer"
  class="donate-button"
>
  ☕ Поддержать
</a>

Стилизуем через CSS:

.donate-button {
  background-color: #ffdd00;
  color: #000;
  padding: 0.6em 1em;
  font-weight: bold;
  border-radius: 8px;
  text-decoration: none;
  box-shadow: 0 2px 4px rgba(0, 0, 0, 0.1);
  transition: transform 0.2s;
}
.donate-button:hover {
  transform: scale(1.05);
}

Где размещать кнопку

  • В шапке сайта — рядом с навигацией;
  • В конце каждого поста — после текста;
  • В сайдбаре (если есть);
  • В футере — для постоянного доступа;
  • Плавающая кнопка (например, снизу справа);

Продвинутые приёмы

  • QR-код для доната — удобно если вас читают с десктопа, а платить будут с мобильного;
  • Inline‑форма — некоторые сервисы позволяют вставлять форму прямо в пост;
  • Цели/прогресс — показывайте цель сбора и текущий прогресс (мотивация!);

Интеграция в соцсетях

  • Telegram: закрепите ссылку в описании канала
  • YouTube: добавьте кнопку в описание профиля

Частые вопросы

Нужно ли платить налоги?

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

Какой сервис выбрать?

Для международной аудитории — BuyMeACoffee или Donorbox. Для РФ — CloudTips или ЮMoney.

Люди не донатят, что делать?

Добавьте личный призыв, расскажите, зачем поддержка важна, дайте стимул: «донаты помогут выпустить книгу».

Кнопка доната — это не про навязчивость, а про возможность поддержать полезный контент. Сделайте её видимой, дружелюбной и понятной — и она начнёт работать.

P.S. Моя реализации кнопки для донатов на react

Компонент DonateButton

import classNames from "classnames";
import React from "react";
import { FaHeart } from "react-icons/fa";

import styles from "./DonateButton.module.css";

const DONATION_LINK = "https://pay.cloudtips.ru/p/7d0e9b9f";

const DonateButton: React.FC = () => {
  return (
    <a
      href={DONATION_LINK}
      rel="noreferrer"
      target="_blank"
      className={classNames(
        "bg-red-600 rounded-md p-2 text-white flex flex-row gap-2 justify-center items-center text-xl",
        styles.wrap
      )}
    >
      <FaHeart size={20} className={styles.heart} />
      <span>Отправить донат</span>
    </a>
  );
};

export default DonateButton;

Стили для компонента

.wrap {
  animation: glow 800ms ease-out infinite alternate;
  border-color: rgb(153, 51, 51);
  box-shadow:
    0 0 5px rgba(255, 0, 0, 0.2),
    inset 0 0 5px rgba(255, 0, 0, 0.1);
  color: rgb(255, 238, 238);
  outline: none;
}

@keyframes glow {
  0% {
    border-color: rgb(153, 51, 51);
    box-shadow:
      0 0 5px rgba(255, 0, 0, 0.2),
      inset 0 0 5px rgba(255, 0, 0, 0.1);
  }
  100% {
    border-color: rgb(255, 102, 102);
    box-shadow:
      0 0 20px rgba(255, 0, 0, 0.6),
      inset 0 0 10px rgba(255, 0, 0, 0.4);
  }
}

.heart {
  animation: heartbeat 0.9s linear infinite;
}

@keyframes heartbeat {
  0% {
    transform: scale(1.05);
  }
  50% {
    transform: scale(1);
  }
  100% {
    transform: scale(0.9);
  }
}

На этом всё! 🎉

Расскажите о вашем проекте

Связаться иначе

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

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

Для физлиц и безвозмездных переводов в РФ в статье выбран CloudTips (Т‑банк). ЮKassa — для ИП/юрлиц (услуга); Buy Me a Coffee и Ko-fi — для зарубежной аудитории. Сравнение — выбор сервиса.

Заметная: контрастный цвет, короткий текст (Поддержать, Купить кофе), ссылка на страницу оплаты с target="_blank" и rel="noopener noreferrer". Примеры разметки и CSS — требования к кнопке.

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

Достаточно ссылки на страницу оплаты CloudTips (или другого сервиса) в компоненте или разметке. В статье — DonateButton с иконкой и анимацией: реализация на React.

Зависит от сумм и статуса (физлицо, ИП, самозанятость). Юридические нюансы лучше уточнить у специалиста;

Добавьте личный призыв: зачем поддержка важна и на что пойдут средства (книга, сервер, новые материалы). Кнопка должна быть видимой и дружелюбной, не навязчивой — советы в продвинутых приёмах и в разделе частые вопросы.

Вам может быть интересно

Добавляем рекомендации постов и блок "Поделиться в соц. сетях"
Добавляем рекомендации постов и блок "Поделиться в соц. сетях"

Добавляем рекомендации постов и блок "Поделиться в соц. сетях"

4 мин.

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

Пост#туториалы
Как посчитать время чтения текста (и добавить индикатор на сайт)
Как посчитать время чтения текста (и добавить индикатор на сайт)

Как посчитать время чтения текста (и добавить индикатор на сайт)

4 мин.

Инструкция по добавлению индикатора времени чтения текста на сайт...

Пост#туториалы
Добавляем поиск по тегам в статический блог на Next.js
Добавляем поиск по тегам в статический блог на Next.js

Добавляем поиск по тегам в статический блог на Next.js

5 мин.

Инструкция по добавлению простейшего поиска по тегам в статическом Next.js блоге...

Пост#туториалы#nextjs
Добавляем пагинацию в статический блог на Next.js
Добавляем пагинацию в статический блог на Next.js

Добавляем пагинацию в статический блог на Next.js

4 мин.

Инструкция по добавлению пагинации постов в статическом блоге на Next.js...

Пост#туториалы#nextjs
Автопостинг в VK через RSS feed
Автопостинг в VK через RSS feed

Автопостинг в VK через RSS feed

4 мин.

Заметили в настройках сообщества в VK интересную настройку, связанную с фидами. И понеслось...

Пост#соцсети#фиды
Подключение счётчика Яндекс Метрики к Next.js приложению
Подключение счётчика Яндекс Метрики к Next.js приложению

Подключение счётчика Яндекс Метрики к Next.js приложению

13 мин.

Инструкция по добавлению счётчика Яндекс Метрики к Next.js блогу...

Пост#nextjs#yandex
Новые требования по работе с персональными данными
Новые требования по работе с персональными данными

Новые требования по работе с персональными данными

9 мин.

Обзор новых требований к обработке персональных данных для владельцев сайтов и чат-ботов и чек-лист для самопроверки...

Пост#законы
Интеграция с платёжной системой ЮKassa
Интеграция с платёжной системой ЮKassa

Интеграция с платёжной системой ЮKassa

Подключим ЮKassa и настроим стабильный приём платежей: от разовых оплат до подписок и автоматизации.

Услуга#платежи#интеграции
Разработка вебсайтов
Разработка вебсайтов

Разработка вебсайтов

Сайт под ваш бизнес: от структуры и дизайна до запуска и масштабирования. Быстро, продуманно и с фокусом на результат.

Услуга#веб-разработка#сайты