Определите границы кошелька
Кошелёк только для наблюдения может обнаруживать платежи, не храня приватные ключи расходования. Расширенный публичный ключ всё равно раскрывает конфиденциальную активность кошелька, и его следует защищать. Интеграция с Lightning может потребовать онлайн-кошелёк и вносит дополнительный операционный риск.
Рассчитайте размер под весь стек
Бэкенд Bitcoin, база данных, веб-сервис и опциональный узел Lightning имеют разные потребности в хранилище и памяти. Изучите актуальные поддерживаемые инструкции по развёртыванию и требования к росту, прежде чем выбирать небольшую машину.
Защитите интерфейс мерчанта
Используйте выделенное имя хоста, HTTPS, надёжную защиту входа и ограниченный административный доступ. Обновляйте сервер и проверяйте подписи вебхуков или поддерживаемые механизмы проверки в принимающем приложении. Не отправляйте товары, полагаясь только на перенаправление браузера.
Резервное копирование и сверка
Защищайте конфигурацию магазина, базу данных, информацию для восстановления кошелька и материалы, специфичные для Lightning, согласно соответствующей документации. Тестируйте восстановление и сверяйте счета с платёжной системой, особенно в части истечения срока, недоплаты и возвратов.
Проверьте стратегию развёртывания и цепочки
Используйте актуальные поддерживаемые инструкции по развёртыванию, выделенное имя хоста и проверенный маршрут HTTPS. Обрезанная цепочка может снизить текущие требования к хранилищу там, где это поддерживается, но необходимо понимать потребности повторного сканирования и восстановления. Не выбирайте диск только по текущему размеру цепочки; оставьте место для всего стека и его роста.
- Проверьте обратный вызов платежа из внешнего теста
- Используйте тестовые платежи перед запуском магазина
- Подтвердите политику расчётов по счетам
Официальная документация: Варианты развёртывания BTCPay
Храните ключ расходования там, где это задумано
Настройка только для наблюдения может обнаруживать платежи по расширенному публичному ключу, не передавая серверу ключ расходования. xpub конфиденциален, поскольку может раскрыть активность кошелька. Горячий кошелёк меняет этот риск, размещая возможность расходования онлайн. Рассматривайте хранение кошелька и Lightning отдельно и следуйте поддерживаемому процессу резервного копирования.
Официальная документация: Модель кошелька BTCPay
Составьте контрольный список развёртывания для выбранного стека
Начните с выделенного домена, поддерживаемого способа развёртывания, нужного режима цепочки и достаточного запаса дискового пространства для синхронизации. Перед установкой изучите вышестоящий генератор Docker и выбранные им компоненты; сохраните несекретные параметры развёртывания, чтобы другую машину можно было воспроизвести согласованно. Проверьте разрешение домена, выпуск сертификата и владение административной учётной записью, прежде чем показывать оформление заказа клиентам. Типовой пример Docker Compose не доказывает, что настроены все необязательные компоненты BTCPay.
- Определите, какой владелец экземпляра управляет обновлениями, мониторингом, резервными копиями и реагированием на инциденты.
- Отделите доступ через обратный прокси от приватного Bitcoin RPC, базы данных и администрирования Lightning.
- Задокументируйте ограничения восстановления/повторного сканирования обрезанного бэкенда, прежде чем подключать кошелёк с историческими платежами.
- Поддерживайте тестовую среду или небольшое контролируемое платёжное упражнение для интеграций, прежде чем выполнять ценные заказы.
Официальная документация: BTCPay Server: варианты развёртывания · BTCPay Server: поддерживаемое развёртывание Docker
Разберитесь с недостающими платежами в кошельке без импорта seed-фразы
Магазин может использовать информацию xpub/деривации кошелька, пока ключ расходования остаётся на другом устройстве. Проверьте получение и путь восстановления с выбранным кошельком. Если BTCPay видит оплату счёта, а внешний кошелёк её не показывает, проверьте схему деривации и поведение лимита разрыва адресов, прежде чем предполагать, что средства исчезли. Длинные серии неоплаченных сгенерированных адресов могут влиять на обнаружение в кошельке. Используйте поддерживаемую диагностику кошелька, а не копируйте слова восстановления на сервер.
Официальная документация: BTCPay Server: устранение неполадок с кошельком и деривацией
Сверяйте счета до выполнения заказа
Записывайте идентификаторы счетов и делайте операцию выполнения идемпотентной. Возврат браузера в магазин — это событие навигации, а не доказательство расчёта. Проверяйте состояние платежа через вашу аутентифицированную серверную интеграцию, явно обрабатывайте просроченные, поздние или недоплаченные счета и сохраняйте путь проверки для нерешённых исходов. Если обратный вызов повторяется, возврат успешного подтверждения не должен повторно отгружать или зачислять заказ.
- Проверьте платёж, поступающий незадолго до истечения срока, и убедитесь, что заказ остаётся связанным с правильным счётом.
- Храните базу данных, конфигурацию хранилища и материалы для восстановления кошелька в проверенной независимой резервной копии.
- Lightning добавляет отдельную ответственность за ликвидность и резервное копирование каналов; восстановление всего VPS за вчерашний день не является безопасной универсальной процедурой восстановления.
- Размещение экземпляра BTCPay не добавляет Lightning или XMR в оформление заказа клиентами KoalaVPS; способы оплаты на этом хостинг-сайте остаются его семью опубликованными маршрутами.
Официальная документация: Руководство разработчика Bitcoin: проверка платежа · LND: восстановление после сбоя · Core Lightning: резервные копии кошелька и каналов