BTCPay Server — Wikipedia self-hosted платёжный процессор с открытым исходным кодом. Если вы принимаете Bitcoin (и не только) и не хотите платить комиссию платёжным шлюзам или передавать им контроль над своими транзакциями — это стандартное решение. Никаких KYC требований к владельцу магазина, никакой третьей стороны между вами и платежом. Каждая транзакция через BTCPay экономит до 2% комиссии — при обороте $10,000 в месяц это $200 чистой экономии. Мы развернули BTCPay для более чем 50 проектов и знаем все подводные камни: от выбора VPS до настройки Lightning-каналов. Если вам нужна надёжная инфраструктура без ежемесячных комиссий — закажите профессиональную настройку BTCPay Server.
Почему выбирают BTCPay Server?
BTCPay даёт полный контроль над платежами: вы сами храните ключи, не платите комиссию процессинга (до 2% у сторонних шлюзов) и не зависите от волатильности сторонних сервисов. Важно: это не просто кошелёк, а полноценный платёжный шлюз с инвойсами, уведомлениями и интеграциями.
Что BTCPay умеет из коробки
- Генерация уникального адреса на каждый инвойс (BIP-44 HD wallet)
- Поддержка Bitcoin, Lightning Network, Monero, Litecoin и других
- Плагины для WooCommerce, Shopify, Magento, PrestaShop
- API для кастомной интеграции (Greenfield REST)
- Point-of-Sale интерфейс
- Crowdfunding функционал
- Payouts (массовые выплаты)
- Webhook уведомления о платежах
Инфраструктура: варианты деплоя
| Вариант | Требования | Время развертывания | Безопасность |
|---|---|---|---|
| Docker на VPS | 2 CPU, 4 GB RAM, 550 GB SSD (full node) или 5 GB (pruned) | 2-3 часа | Полная валидация |
| Внешний Electrum | 1 CPU, 2 GB RAM, 20 GB SSD | 30 минут | Доверие узлу |
Docker на VPS (рекомендуется)
Официальный Docker deployment — самый простой путь. Требования: Ubuntu 20.04/22.04, минимум 2 CPU / 4 GB RAM / 500 GB SSD (Bitcoin full node — ~550 GB).
git clone https://github.com/btcpayserver/btcpayserver-docker cd btcpayserver-docker export BTCPAY_HOST="pay.yourdomain.com" export NBITCOIN_NETWORK="mainnet" export BTCPAYGEN_CRYPTO1="btc" export BTCPAYGEN_LIGHTNING="lnd" # или clightning export BTCPAYGEN_ADDITIONAL_FRAGMENTS="opt-save-storage" . ./btcpay-setup.sh -i opt-save-storage — включает pruned node (Bitcoin pruned до ~5 GB вместо 550 GB). Подходит для большинства магазинов, не подходит если нужен полный block explorer.
Без собственной ноды (внешний Electrum server)
Можно подключить BTCPay к чужому Electrum серверу вместо синхронизации полной ноды. Быстрее запуск, меньше требования к диску. Компромисс — доверие к внешнему серверу для верификации транзакций.
Подробнее о pruned vs full node
Pruned node экономит диск, но не может предоставить историю транзакций до момента обрезки. Для типового интернет-магазина это не критично. Full node нужна, если вы запускаете block explorer или анализируете цепочку.Как настроить Lightning Network?
BTCPay поддерживает оба LN имплементации — LND и CLN. Выбор зависит от сценария:
| Параметр | LND | CLN |
|---|---|---|
| Сложность настройки | Низкая | Средняя |
| Документация | Много | Умеренно |
| Модульность | Монолит | Модульная архитектура |
| Поддержка плагинов | Есть (через REST) | Нативная |
Для Lightning нужен bitcoin hot wallet с ликвидностью. Каналы требуют on-chain транзакций для открытия. Минимальный рабочий баланс для приёма платежей: ~0.01 BTC в каналах (inbound liquidity). Сервисы вроде Voltage или Amboss Magma помогают с inbound liquidity за комиссию.
Пошаговая настройка LND
- Установите LND через BTCPay setup (выберите
BTCPAYGEN_LIGHTNING="lnd"). - Создайте hot wallet в UI BTCPay (или импортируйте существующий).
- Пополните кошелёк on-chain для открытия каналов (минимум 0.01 BTC).
- Откройте каналы с пирами, используя Autopilot или вручную.
- Проверьте inbound liquidity через тестовый платёж.
Интеграция через API
Для кастомных платёжных флоу — Greenfield API (REST):
// Создание инвойса const invoice = await fetch(`${BTCPAY_URL}/api/v1/stores/${STORE_ID}/invoices`, { method: 'POST', headers: { 'Authorization': `token ${API_KEY}`, 'Content-Type': 'application/json' }, body: JSON.stringify({ amount: '99.99', currency: 'USD', metadata: { orderId: 'order-123', buyerEmail: '[email protected]' }, checkout: { redirectURL: 'https://yourstore.com/order/123/success', defaultPaymentMethod: 'BTC' } }) }) Webhook при изменении статуса инвойса — настраивается через UI или API. Статусы: New → Processing → Settled (или Expired/Invalid).
Важно: верифицируйте webhook подпись. BTCPay подписывает payload через HMAC-SHA256 с вашим секретом — не игнорируйте эту проверку, иначе любой может прислать поддельное уведомление об оплате.
Почему важна верификация webhook?
Если не проверять подпись, злоумышленник может отправить фальшивый статус Settled и получить товар без оплаты. HMAC-подпись гарантирует, что уведомление действительно от вашего BTCPay-сервера. Настройки верификации занимают 10 минут и обязательны в production.
SSL и безопасность
BTCPay автоматически получает Let's Encrypt сертификат. Требует: домен должен резолвиться на IP сервера до запуска. Если за Cloudflare — отключите proxying для домена BTCPay или используйте Cloudflare Origin Certificate.
Seed фраза Bitcoin кошелька в BTCPay — экспортируйте и храните офлайн. Стандартный совет, но половина установок теряет доступ при смене сервера именно потому что не сохранили seed.
Что входит в работу
- Деплой BTCPay Server на ваш VPS (Ubuntu 20.04/22.04) с Docker
- Настройка домена и автоматического SSL-сертификата Let's Encrypt
- Выбор и настройка Bitcoin-ноды: full или pruned (с учётом места на диске)
- Интеграция Lightning Network (LND или CLN) с каналами и inbound ликвидностью
- Подключение к CMS (WooCommerce, Shopify, Magento, PrestaShop) или кастомизация API
- Настройка webhook для вашей системы заказов с обязательной верификацией подписей
- Мониторинг uptime и свободного места на диске (уведомления о заполнении)
- Документация по эксплуатации и доступы к серверу
- Часовая сессия по обучению вашей команды работе с панелью
Мониторинг и обновления
BTCPay Server требует регулярных обновлений для безопасности. Мы настраиваем автоматический мониторинг через Uptime Robot или ваш Telegram-бот. Каждую неделю проверяются доступные обновления Docker-образов, SSL-сертификатов и Bitcoin-ноды. Дополнительно можно настроить уведомления о снижении места на диске.
Официальная документация BTCPay Server рекомендует обновлять сервисы не реже раза в месяц.
Сроки и стоимость
Развертывание базовой конфигурации занимает 2–3 дня. Если требуется Lightning Network или сложная кастомизация API — до 5 дней. Стоимость рассчитывается индивидуально по объёму работ. Получите консультацию для предварительной оценки.
Типичные ошибки при самостоятельной настройке
- Забывают экспортировать seed-фразу кошелька — при переезде сервера потеря доступа к средствам
- Игнорируют верификацию webhook — уязвимость к подделке уведомлений
- Выбирают VPS с маленьким диском для full node — через месяц заканчивается место
- Не проверяют inbound liquidity Lightning — первые платежи не проходят
- Используют общий root-пароль или не обновляют систему — риск взлома
Опыт наших инженеров: более 5 лет работы с BTCPay и 50+ успешных развёртываний. Закажите профессиональную настройку и получите готовый платёжный шлюз под ключ.







