Zdefiniuj granicę portfela
Portfel tylko do obserwacji może wykrywać płatności bez przechowywania prywatnych kluczy wydatków. Rozszerzony klucz publiczny nadal ujawnia wrażliwą aktywność portfela i powinien być chroniony. Integracja z Lightning może wymagać portfela online i wprowadza dodatkowe ryzyko operacyjne.
Rozmiar dla całego stosu
Backend Bitcoin, baza danych, usługa webowa i opcjonalny węzeł Lightning mają różne potrzeby dotyczące pamięci masowej i operacyjnej. Przejrzyj aktualne obsługiwane instrukcje wdrożenia i wymagania dotyczące wzrostu przed wyborem małej maszyny.
Zabezpiecz interfejs sprzedawcy
Użyj dedykowanej nazwy hosta, HTTPS, silnej ochrony logowania i ograniczonego dostępu administracyjnego. Utrzymuj serwer zaktualizowany i weryfikuj podpisy webhooków lub obsługiwane mechanizmy weryfikacji w aplikacji odbierającej. Nie wysyłaj towarów wyłącznie na podstawie przekierowania w przeglądarce.
Utwórz kopię zapasową i uzgodnij
Chroń konfigurację sklepu, bazę danych, informacje o odzyskiwaniu portfela i materiały specyficzne dla Lightning zgodnie z odpowiednią dokumentacją. Testuj odzyskiwanie i uzgadniaj faktury z systemem płatności, zwłaszcza w zakresie wygaśnięcia, niedopłaty i zwrotów.
Sprawdź wdrożenie i strategię łańcucha
Użyj aktualnych, obsługiwanych instrukcji wdrożenia, dedykowanej nazwy hosta i zweryfikowanej trasy HTTPS. Przycinany łańcuch może zmniejszyć bieżące wymagania dotyczące pamięci masowej, jeśli jest obsługiwany, ale trzeba zrozumieć potrzeby ponownego skanowania i odzyskiwania. Nie wybieraj dysku wyłącznie na podstawie bieżącego rozmiaru łańcucha; zostaw miejsce na cały stos i jego wzrost.
- Zweryfikuj wywołanie zwrotne płatności z zewnętrznego testu
- Użyj płatności testowych przed uruchomieniem sklepu na żywo
- Potwierdź zasady rozliczania faktur
Oficjalna dokumentacja: Opcje wdrożenia BTCPay
Trzymaj klucz wydatków tam, gdzie zamierzasz
Konfiguracja tylko do obserwacji może wykrywać płatności z rozszerzonego klucza publicznego bez przekazywania serwerowi klucza wydatków. xpub jest wrażliwy, ponieważ może ujawnić aktywność portfela. Portfel gorący zmienia to ryzyko, umieszczając możliwość wydawania online. Sprawdzaj oddzielnie przechowywanie portfela i Lightning oraz postępuj zgodnie z obsługiwanym procesem tworzenia kopii zapasowych.
Oficjalna dokumentacja: Model portfela BTCPay
Zbuduj listę kontrolną wdrożenia wokół wybranego stosu
Zacznij od dedykowanej domeny, obsługiwanej metody wdrożenia, zamierzonego trybu łańcucha i wystarczającego zapasu dysku na synchronizację. Przed instalacją przejrzyj generator Docker upstream i jego wybrane komponenty; zachowaj niepoufne wybory wdrożeniowe, aby inną maszynę można było odtworzyć spójnie. Przed pokazaniem koszyka klientom sprawdź rozwiązywanie domeny, wydawanie certyfikatów i własność konta administracyjnego. Ogólny przykład Docker Compose nie jest dowodem, że każdy opcjonalny komponent BTCPay jest skonfigurowany.
- Zdecyduj, który właściciel instancji kontroluje aktualizacje, monitorowanie, kopie zapasowe i reagowanie na incydenty.
- Oddziel ekspozycję reverse-proxy od prywatnego Bitcoin RPC, bazy danych i administracji Lightning.
- Udokumentuj ograniczenia odzyskiwania/ponownego skanowania przycinanego backendu, zanim podłączysz portfel z historycznymi płatnościami.
- Utrzymuj obsługiwane środowisko testowe lub małe kontrolowane ćwiczenie płatności dla integracji przed realizacją wartościowych zamówień.
Oficjalna dokumentacja: BTCPay Server: opcje wdrożenia · BTCPay Server: obsługiwane wdrożenie Docker
Zbadaj brakujące płatności z portfela bez importowania seeda
Sklep może używać informacji o xpub/pochodnych portfela, podczas gdy klucz wydatkowania pozostaje na innym urządzeniu. Przetestuj odbieranie i ścieżkę odzyskiwania z wybranym portfelem. Jeśli BTCPay widzi płatność faktury, ale zewnętrzny portfel jej nie pokazuje, sprawdź jego schemat pochodnych i zachowanie limitu luk adresowych, zanim założysz, że środki zniknęły. Długie serie nieopłaconych wygenerowanych adresów mogą wpływać na wykrywanie w portfelu. Używaj obsługiwanej diagnostyki portfela, zamiast kopiować słowa odzyskiwania na serwer.
Oficjalna dokumentacja: BTCPay Server: rozwiązywanie problemów z portfelem i derywacją
Uzgodnij faktury przed realizacją
Zapisuj identyfikatory faktur i spraw, by operacja realizacji była idempotentna. Powrót przeglądarki do sklepu to zdarzenie nawigacyjne, a nie dowód rozliczenia. Weryfikuj stan płatności przez uwierzytelnioną integrację serwerową, obsługuj jawnie faktury wygasłe, opóźnione lub niedopłacone i utrzymuj ścieżkę przeglądu dla nierozstrzygniętych wyników. Jeśli wywołanie zwrotne się powtórzy, zwrócenie potwierdzenia sukcesu nie może spowodować dwukrotnej wysyłki lub uznania zamówienia.
- Przetestuj płatność przychodzącą blisko terminu ważności i sprawdź, czy zamówienie pozostaje powiązane z właściwą fakturą.
- Przechowuj bazę danych, konfigurację magazynu i materiały do odzyskiwania portfela w przetestowanej, niezależnej kopii zapasowej.
- Lightning dodaje odrębną odpowiedzialność za płynność i kopie zapasowe kanałów; przywrócenie całego wczorajszego VPS nie jest bezpieczną uniwersalną procedurą odzyskiwania.
- Hostowanie instancji BTCPay nie dodaje Lightning ani XMR do realizacji zamówienia klienta KoalaVPS; metody płatności w tym serwisie hostingowym pozostają jego siedmioma opublikowanymi ścieżkami.
Oficjalna dokumentacja: Przewodnik dla programistów Bitcoin: weryfikacja płatności · LND: odzyskiwanie po awarii · Core Lightning: kopie zapasowe portfela i kanałów