160 lines
5.7 KiB
Markdown
160 lines
5.7 KiB
Markdown
|
|
# 🔧 Интеграция с LNbits - Руководство по тестированию
|
|||
|
|
|
|||
|
|
## 📋 Обзор
|
|||
|
|
|
|||
|
|
Интеграция с [LNbits](https://demo.lnbits.com) позволяет создавать Lightning Network инвойсы и верифицировать платежи в реальном времени.
|
|||
|
|
|
|||
|
|
## 🚀 Быстрый старт
|
|||
|
|
|
|||
|
|
### 1. Запуск тестов
|
|||
|
|
```bash
|
|||
|
|
# Откройте в браузере
|
|||
|
|
test-lnbits-integration.html
|
|||
|
|
```
|
|||
|
|
|
|||
|
|
### 2. Автоматическое тестирование
|
|||
|
|
Нажмите кнопку **"🚀 Запустить все тесты"** для полной проверки интеграции.
|
|||
|
|
|
|||
|
|
## 🧪 Доступные тесты
|
|||
|
|
|
|||
|
|
### ✅ 1. Проверка API
|
|||
|
|
- Тестирует доступность LNbits API
|
|||
|
|
- Проверяет статус сервера
|
|||
|
|
- Валидирует API ключ
|
|||
|
|
|
|||
|
|
### ✅ 2. Создание инвойса
|
|||
|
|
- Создает Lightning инвойс на 500 sats
|
|||
|
|
- Проверяет корректность ответа
|
|||
|
|
- Валидирует структуру данных
|
|||
|
|
|
|||
|
|
### ✅ 3. Проверка статуса
|
|||
|
|
- Проверяет статус созданного инвойса
|
|||
|
|
- Отображает детали платежа
|
|||
|
|
- Показывает время создания
|
|||
|
|
|
|||
|
|
### ✅ 4. Верификация платежа
|
|||
|
|
- Тестирует криптографические функции
|
|||
|
|
- Проверяет SHA-256 хеширование
|
|||
|
|
- Валидирует preimage/hash пары
|
|||
|
|
|
|||
|
|
### ✅ 5. Тест реального платежа
|
|||
|
|
- Проверяет готовность к реальным платежам
|
|||
|
|
- Показывает инструкции по оплате
|
|||
|
|
- Демонстрирует полный цикл
|
|||
|
|
|
|||
|
|
## 💡 Как протестировать реальный платеж
|
|||
|
|
|
|||
|
|
### Шаг 1: Создайте инвойс
|
|||
|
|
1. Нажмите **"2. Создание инвойса"**
|
|||
|
|
2. Скопируйте Payment Request из логов
|
|||
|
|
3. Или отсканируйте QR код (если доступен)
|
|||
|
|
|
|||
|
|
### Шаг 2: Оплатите инвойс
|
|||
|
|
Используйте любой Lightning кошелек:
|
|||
|
|
- **Alby** (браузерное расширение)
|
|||
|
|
- **Zeus** (мобильный кошелек)
|
|||
|
|
- **Phoenix** (мобильный кошелек)
|
|||
|
|
- **Wallet of Satoshi** (мобильный кошелек)
|
|||
|
|
|
|||
|
|
### Шаг 3: Проверьте статус
|
|||
|
|
1. Нажмите **"3. Проверка статуса"**
|
|||
|
|
2. Убедитесь, что `paid: true`
|
|||
|
|
3. Скопируйте preimage из кошелька
|
|||
|
|
|
|||
|
|
### Шаг 4: Верифицируйте платеж
|
|||
|
|
1. Нажмите **"5. Тест реального платежа"**
|
|||
|
|
2. Введите preimage в поле
|
|||
|
|
3. Проверьте результат верификации
|
|||
|
|
|
|||
|
|
## 🔧 Конфигурация
|
|||
|
|
|
|||
|
|
### API настройки
|
|||
|
|
```javascript
|
|||
|
|
{
|
|||
|
|
apiUrl: 'https://demo.lnbits.com',
|
|||
|
|
apiKey: '623515641d2e4ebcb1d5992d6d78419c',
|
|||
|
|
walletId: 'bcd00f561c7b46b4a7b118f069e68997',
|
|||
|
|
isDemo: true,
|
|||
|
|
demoTimeout: 30000
|
|||
|
|
}
|
|||
|
|
```
|
|||
|
|
|
|||
|
|
### Типы сессий
|
|||
|
|
```javascript
|
|||
|
|
{
|
|||
|
|
free: { sats: 0, hours: 1/60, usd: 0.00 },
|
|||
|
|
basic: { sats: 500, hours: 1, usd: 0.20 },
|
|||
|
|
premium: { sats: 1000, hours: 4, usd: 0.40 },
|
|||
|
|
extended: { sats: 2000, hours: 24, usd: 0.80 }
|
|||
|
|
}
|
|||
|
|
```
|
|||
|
|
|
|||
|
|
## 📊 Ожидаемые результаты
|
|||
|
|
|
|||
|
|
### Успешный тест
|
|||
|
|
```
|
|||
|
|
✅ API доступен
|
|||
|
|
✅ Инвойс создан успешно
|
|||
|
|
✅ Статус получен
|
|||
|
|
✅ Криптографическая верификация работает
|
|||
|
|
✅ Платеж готов к тестированию
|
|||
|
|
```
|
|||
|
|
|
|||
|
|
### Возможные ошибки
|
|||
|
|
- **API недоступен**: Проверьте интернет соединение
|
|||
|
|
- **Ошибка создания инвойса**: Проверьте API ключ
|
|||
|
|
- **Ошибка верификации**: Проверьте preimage формат
|
|||
|
|
|
|||
|
|
## 🔍 Отладка
|
|||
|
|
|
|||
|
|
### Логи в консоли
|
|||
|
|
Откройте Developer Tools (F12) для детальных логов:
|
|||
|
|
```javascript
|
|||
|
|
console.log('🔍 Тестирование доступности API...');
|
|||
|
|
console.log('✅ API доступен');
|
|||
|
|
console.log('📊 Статус:', data);
|
|||
|
|
```
|
|||
|
|
|
|||
|
|
### Проверка сети
|
|||
|
|
В Network tab проверьте:
|
|||
|
|
- Статус HTTP запросов
|
|||
|
|
- Заголовки авторизации
|
|||
|
|
- Тело ответов
|
|||
|
|
|
|||
|
|
## 🚨 Известные проблемы
|
|||
|
|
|
|||
|
|
### 1. CORS ошибки
|
|||
|
|
**Проблема**: Браузер блокирует запросы к LNbits
|
|||
|
|
**Решение**: Используйте локальный сервер или прокси
|
|||
|
|
|
|||
|
|
### 2. API лимиты
|
|||
|
|
**Проблема**: Слишком много запросов
|
|||
|
|
**Решение**: Добавьте задержки между тестами
|
|||
|
|
|
|||
|
|
### 3. Неверный preimage
|
|||
|
|
**Проблема**: Ошибка верификации
|
|||
|
|
**Решение**: Убедитесь, что preimage 64 символа hex
|
|||
|
|
|
|||
|
|
## 📞 Поддержка
|
|||
|
|
|
|||
|
|
### Полезные ссылки
|
|||
|
|
- [LNbits Documentation](https://docs.lnbits.com/)
|
|||
|
|
- [Lightning Network](https://lightning.network/)
|
|||
|
|
- [BOLT11 Specification](https://github.com/lightning/bolts/blob/master/11-payment-encoding.md)
|
|||
|
|
|
|||
|
|
### Контакты
|
|||
|
|
- **GitHub**: [LockBit.chat](https://github.com/lockbitchat/lockbit-chat)
|
|||
|
|
- **Документация**: [README.md](../README.md)
|
|||
|
|
|
|||
|
|
## 🎯 Следующие шаги
|
|||
|
|
|
|||
|
|
1. **Протестируйте все функции**
|
|||
|
|
2. **Настройте продакшн API ключи**
|
|||
|
|
3. **Интегрируйте в основное приложение**
|
|||
|
|
4. **Добавьте мониторинг платежей**
|
|||
|
|
5. **Настройте уведомления**
|
|||
|
|
|
|||
|
|
---
|
|||
|
|
|
|||
|
|
**🎉 Интеграция готова к использованию!**
|