Альтернатива BTCPay Server для Telegram Mini Apps | recv

RT
recv TeamРедакция и инженеры recv · обновлено 17 июня 2026 г.
альт

Разработка цифровых витрин, платных сообществ и децентрализованных веб-приложений прямо внутри экосистемы Telegram стала стандартом для современных создателей Web3-сервисов и SaaS-стартапов. При поиске некастодиального платежного шлюза, который уважает финансовую независимость и не взимает комиссию за транзакции, многие разработчики в первую очередь обращают внимание на BTCPay Server. Однако интеграция BTCPay Server в Telegram Mini Apps (TMA) часто сопряжена с серьезными трудностями в настройке инфраструктуры и поддержке серверов.

Использование решений на платформе recv предлагает более простую альтернативу для разработчиков, которая сохраняет ключевые принципы децентрализации и 0% комиссии, полностью избавляя от головной боли, связанной с развертыванием собственных нод.


Проблема: сложности самохостинга в эпоху стейблкоинов

BTCPay Server — это выдающийся продукт с открытым исходным кодом, изначально созданный для Биткоина и Lightning Network. Он позволяет мерчантам принимать платежи напрямую на собственные кошельки без посредников. Однако платежный ландшафт в Telegram Mini Apps устроен иначе: здесь доминируют высокоскоростные сети и стейблкоины — в частности, TON, USDT на TON (TON_USDT) и TRON (TRC-20 USDT).

Попытка запустить BTCPay Server для этих сетей ставит перед разработчиком сложные технические задачи:

  1. Тяжелая инфраструктура нод: Чтобы поддерживать TRON или TON на собственном сервере BTCPay, вам придется запускать полноценные ноды этих блокчейнов. Полная нода TON или TRON требует огромного объема NVMe-хранилища, больших объемов оперативной памяти и постоянного администрирования. Это приводит к высоким ежемесячным затратам на VPS, что лишает бесплатный софт его главного преимущества.
  2. Нестабильные альткоин-плагины: Поскольку основным фокусом BTCPay Server остается Биткоин, интеграция сторонних сетей и стейблкоинов держится на плагинах от сообщества. Эти плагины могут ломаться при очередном обновлении ядра системы, что чревато внезапными сбоями на этапе оплаты.
  3. Проблемы с UX во встроенном браузере: Telegram Mini Apps работают во встроенном мобильном веб-вью. Стандартные страницы оплаты часто не умеют корректно вызывать глубокие ссылки (deep links) для мобильных кошельков вроде Tonkeeper, Phantom или TronLink, из-за чего пользователи просто уходят, не завершив платеж.

Чтобы обойти эти препятствия, многие разработчики соглашаются на кастодиальные процессоры. К сожалению, такие сервисы вводят обязательную верификацию (KYC) и несут в себе постоянный риск блокировки средств. Именно поэтому рынку необходима современная и легкая альтернатива BTCPay Server.


Что такое recv: простая альтернатива без лишних серверов

Разработанный специально для современных веб-приложений, сервис recv представляет собой облачный некастодиальный платежный монитор. Он предоставляет полную финансовую независимость, сопоставимую с self-hosted решениями, но избавляет от необходимости администрировать серверные ноды.

Принцип работы предельно прост:

  1. Бэкенд вашего Telegram Mini App делает быстрый запрос к API для генерации счета.
  2. Пользователь перенаправляется на легкую и отзывчивую страницу оплаты: https://recv.money/app/checkout/{id}.
  3. Блокчейн-watcher (наблюдатель) в реальном времени отслеживает целевую сеть на предмет транзакции.
  4. Средства поступают напрямую на ваш кошелек (direct-to-wallet). Криптовалюта отправляется с кошелька клиента на ваш личный адрес. Сервис никогда не удерживает средства мерчанта, а приватные ключи всегда остаются только на вашем устройстве.
  5. Как только транзакция обнаружена, recv отправляет HMAC-SHA256 подписанный вебхук на ваш сервер с гарантией доставки (механизм exponential backoff).

Такая конфигурация не требует KYC, предлагает 0% комиссии за оборот на любом тарифе и поддерживает именно те сети, которыми активно пользуются в Telegram: TON, TON_USDT, TRON (TRC-20 USDT), Base и BSC. Список поддерживаемых активов включает USDT, USDC, TON, SOL и BNB.


Сравнение возможностей: BTCPay Server vs. recv

ХарактеристикаBTCPay Serverrecv
Хостинг и DevOpsSelf-hosted (требует настройки VPS, синхронизации нод и регулярных обновлений)Cloud-hosted SaaS (активация за минуту, инфраструктура полностью на нашей стороне)
Управление средствамиНекастодиальное (прямо на ваш кошелек)Некастодиальное (прямо на ваш кошелек, ключи не передаются третьим лицам)
Комиссия с транзакций0%0% комиссии с оборота на всех тарифах
Модель оплатыСофт бесплатный, но серверы и администрирование стоят дорогоФиксированная подписка (Trial: бесплатно до 15 активных счетов; Merchant: $9/мес; Developer: $29/мес)
Интеграция с TelegramОбычные веб-шаблоны, требующие ручной доработки под мобильные кошелькиSmart Checkout (нативные QR-коды, глубокие ссылки в Tonkeeper/Phantom, авторазрешение недоплат)
Поддерживаемые сетиБиткоин и Lightning (нативно); альткоины — через сторонние плагиныTON, TON_USDT, TRON (TRC-20), Base, BSC
Инструменты разработчикаКлассический API и плагины для старых CMSЕдиный лаконичный REST API, Telegram-бот для управления, MCP-сервер для ИИ-агентов (Claude/Cursor)

Оптимизация UX оплаты в Telegram Mini Apps

Внутри Telegram Mini App каждый лишний шаг пользователя снижает конверсию. Стандартные интерфейсы оплаты, показывающие только текстовый адрес кошелька, заставляют пользователя копировать его, сворачивать Telegram, открывать криптокошелек, вставлять адрес, вводить сумму и отправлять средства вручную. Эта цепочка действий часто ведет к ошибкам ввода или отказу от покупки.

Интерфейс Smart Checkout в recv разработан с учетом специфики мобильных веб-вью в Telegram:

  • Оплата в один клик: Кнопки на экране автоматически открывают установленный кошелек (например, Tonkeeper или Phantom) прямо на смартфоне пользователя, мгновенно подставляя нужный адрес и точную сумму.
  • Интеллектуальное разрешение недоплат: Если покупатель случайно отправил сумму чуть меньше заявленной (например, не учел комиссию сети за перевод), система поможет доплатить разницу в реальном времени, не отменяя весь заказ.
  • Без подключения кошельков: Поскольку отслеживание платежей происходит через блокчейн-наблюдатели на уровне транзакций, пользователю не нужно подключать (connect) свой кошелек к Mini App. Это повышает доверие и безопасность.

Руководство для разработчика: интеграция на Node.js и Express

Процесс интеграции API для разработчиков занимает минимум времени. Ниже представлен готовый пример того, как создавать счета и безопасно обрабатывать входящие вебхуки об оплате на вашем бэкенде.

1. Генерация счета на оплату

Когда пользователь нажимает кнопку покупки в вашем Mini App, ваш бэкенд запрашивает создание счета.

// backend/paymentService.ts
import fetch from 'node-fetch';

interface InvoiceResponse {
  id: string;
  checkout_url: string;
  status: string;
}

export async function createTelegramPayment(userId: string, orderId: string, amount: number): Promise<string> {
  const apiKey = process.env.RECV_API_KEY;
  if (!apiKey) throw new Error("RECV_API_KEY не сконфигурирован");

  const response = await fetch('https://api.recv.money/v1/invoices', {
    method: 'POST',
    headers: {
      'Content-Type': 'application/json',
      'Authorization': `Bearer ${apiKey}`
    },
    body: JSON.stringify({
      amount: amount.toFixed(2), // Например, "15.00"
      asset: "USDT",
      network: "TON_USDT", // Принимаем USDT в сети TON
      callback_url: "https://yourdomain.com/api/webhooks/payments",
      metadata: {
        userId,
        orderId
      }
    })
  });

  if (!response.ok) {
    const errText = await response.text();
    throw new Error(`Ошибка при создании счета: ${errText}`);
  }

  const data = (await response.json()) as InvoiceResponse;
  
  // Возвращаем ссылку на страницу оплаты для перенаправления пользователя
  // URL-адрес имеет формат: https://recv.money/app/checkout/{id}
  return data.checkout_url;
}

2. Защита и верификация вебхука через HMAC-SHA256

Для предотвращения отправки ложных уведомлений о платежах, платформа подписывает каждый вебхук. Ваш сервер должен валидировать подпись по алгоритму HMAC-SHA256.

// backend/webhookHandler.ts
import express from 'express';
import crypto from 'crypto';

const app = express();

// Важно сохранить сырой (raw) body для проверки подписи
app.post('/api/webhooks/payments', express.raw({ type: 'application/json' }), (req, res) => {
  const signature = req.headers['x-recv-signature'] as string;
  const webhookSecret = process.env.RECV_WEBHOOK_SECRET;

  if (!signature || !webhookSecret) {
    return res.status(400).send('Отсутствуют компоненты подписи');
  }

  // Вычисляем ожидаемую подпись HMAC-SHA256
  const hmac = crypto.createHmac('sha256', webhookSecret);
  const rawBody = req.body.toString();
  const computedSignature = hmac.update(rawBody).digest('hex');

  // Безопасное сравнение строк во избежание timing attacks
  const isVerified = crypto.timingSafeEqual(
    Buffer.from(signature, 'hex'),
    Buffer.from(computedSignature, 'hex')
  );

  if (!isVerified) {
    console.warn('Обнаружено несовпадение подписи вебхука');
    return res.status(401).send('Не авторизован');
  }

  // Разбираем проверенный payload
  const payload = JSON.parse(rawBody);

  if (payload.status === 'paid') {
    const { userId, orderId } = payload.metadata;
    console.log(`Платеж подтвержден для Заказа: ${orderId}, Пользователь: ${userId}`);
    
    // Выдаем цифровой товар, активируем подписку или начисляем баланс
  }

  // Всегда возвращаем 200 OK, чтобы остановить повторные отправки вебхуков
  res.status(200).json({ received: true });
});

FAQ (Часто задаваемые вопросы)

Действительно ли recv некастодиальный?

Да. Платформа работает по тому же принципу, что и BTCPay Server: ваши средства отправляются напрямую на ваш личный некастодиальный кошелек. Система выполняет роль наблюдателя блокчейна и не имеет доступа к вашим приватным ключам или средствам.

Нужен ли KYC для работы?

Нет. Поскольку платформа не принимает средства на свои счета и не осуществляет их кастодиальное хранение, мерчантам не требуется проходить процедуры верификации личности (KYC).

Какие ограничения у бесплатного тарифа Trial?

Тариф Trial бесплатен без ограничения по времени и позволяет держать до 15 одновременно активных счетов на оплату. Он отлично подходит для тестирования вашего Telegram Mini App на этапе разработки. Платный тариф Merchant за $9/мес снимает любые лимиты по количеству создаваемых инвойсов, сохраняя комиссию за оборот на уровне 0%.

Можно ли принимать оплату в EVM-сетях?

Да. Помимо TON и TRON, платформа предлагает встроенную поддержку сетей Base (Coinbase L2) и Binance Smart Chain (BSC). Вы можете принимать как стейблкоины USDT/USDC, так и нативные монеты BNB, SOL и TON.


Начните принимать платежи без лишней рутины

Если вы цените философию независимости и отсутствие комиссий за транзакции в BTCPay Server, но хотите избежать сложной настройки серверов, постоянных обновлений нод и проблем совместимости со стейблкоинами, recv станет отличным решением.

Начните принимать USDT и TON через recv уже сегодня и предложите своим клиентам в Telegram удобный и нативный процесс оплаты.

Альтернатива BTCPay Server для Telegram Mini Apps