Настройка BTCPay Server

Проектируем и разрабатываем блокчейн-решения полного цикла: от архитектуры смарт-контрактов до запуска DeFi-протоколов, NFT-маркетплейсов и криптобирж. Аудит безопасности, токеномика, интеграция с существующей инфраструктурой.
Показано 1 из 1 услугВсе 1306 услуг
Настройка BTCPay Server
Простая
~2-3 рабочих дня
Часто задаваемые вопросы
Направления блокчейн-разработки
Этапы блокчейн-разработки
Последние работы
  • image_website-b2b-advance_0.png
    Разработка сайта компании B2B ADVANCE
    1240
  • image_web-applications_feedme_466_0.webp
    Разработка веб-приложения для компании FEEDME
    1167
  • image_websites_belfingroup_462_0.webp
    Разработка веб-сайта для компании БЕЛФИНГРУПП
    867
  • image_ecommerce_furnoro_435_0.webp
    Разработка интернет магазина для компании FURNORO
    1084
  • image_logo-advance_0.png
    Разработка логотипа компании B2B Advance
    563
  • image_crm_enviok_479_0.webp
    Разработка веб-приложения для компании Enviok
    829

Настройка BTCPay Server

BTCPay Server — self-hosted платёжный процессор с открытым исходным кодом. Если вы принимаете Bitcoin (и не только) и не хотите платить комиссию платёжным шлюзам или передавать им контроль над своими транзакциями — это стандартное решение. Никаких KYC требований к владельцу магазина, никакой третьей стороны между вами и платежом.

Что BTCPay умеет из коробки

  • Генерация уникального адреса на каждый инвойс (BIP-44 HD wallet)
  • Поддержка Bitcoin, Lightning Network, Monero, Litecoin и других
  • Плагины для WooCommerce, Shopify, Magento, PrestaShop
  • API для кастомной интеграции
  • Point-of-Sale интерфейс
  • Crowdfunding функционал
  • Payouts (массовые выплаты)
  • Webhook уведомления о платежах

Инфраструктура: варианты деплоя

Docker на VPS (рекомендуется)

Официальный Docker deployment — самый простой путь. Требования: Ubuntu 20.04/22.04, минимум 2 CPU / 4 GB RAM / 500 GB SSD (Bitcoin full node — ~550 GB на 2024 год).

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 серверу вместо синхронизации полной ноды. Быстрее запуск, меньше требования к диску. Компромисс — доверие к внешнему серверу для верификации транзакций.

Lightning Network: LND vs CLN

BTCPay поддерживает оба LN имплементации. LND (Lightning Labs) проще в настройке и имеет больше документации. CLN (Core Lightning, бывший c-lightning) — более модульный, предпочитается разработчиками для кастомных сценариев.

Для Lightning нужен bitcoin hot wallet с ликвидностью. Каналы требуют on-chain транзакций для открытия. Минимальный рабочий баланс для приёма платежей: ~0.01 BTC в каналах (inbound liquidity). Сервисы вроде Voltage или Amboss Magma помогают с 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 с вашим секретом — не игнорируйте эту проверку, иначе любой может прислать поддельное уведомление об оплате.

SSL и безопасность

BTCPay автоматически получает Let's Encrypt сертификат. Требует: домен должен резолвиться на IP сервера до запуска. Если за Cloudflare — отключите proxying для домена BTCPay или используйте Cloudflare Origin Certificate.

Seed фраза Bitcoin кошелька в BTCPay — экспортируйте и храните офлайн. Стандартный совет, но половина установок теряет доступ при смене сервера именно потому что не сохранили seed.

Что делается за 2–3 дня

Деплой BTCPay Server на ваш VPS, конфигурация домена и SSL, настройка Bitcoin (full или pruned) и опционально Lightning Network, подключение к CMS или настройка API интеграции, настройка webhook для вашей системы заказов, базовый мониторинг uptime и дискового пространства.