К основному содержанию
T TON Adoption
Основы BIZ · 2026

Как принимать TON в Telegram-боте для бизнеса в 2026

5 рабочих способов приёма TON-платежей в Telegram-боте: Crypto Pay, Wallet Pay, xRocket Pay, Tonkeeper Pay, кастомный с TON Connect. Что выбрать под нагрузку.

Автор
TON Adoption Team · исследовательская группа проекта
Опубликовано
7 мин. чтения

TL;DR. В 2026 в Telegram доступно пять рабочих способов приёма TON в боте: Crypto Pay (Crypto Bot), Wallet Pay (Wallet-в-Telegram), xRocket Pay, кастомный приём через TON Connect 2.0, и связка Telegram Stars + конвертация в TON. У каждого свой target — от 30-минутного MVP до продакшен-маркетплейса с миллионным оборотом. Комиссии 0-2%, время до запуска от 30 минут до нескольких недель. Главное — не выбирайте по интерфейсу: выбирайте по нагрузке, валютам и тому, нужны ли вам payouts.

Зачем приём в TON, если есть Stars

Telegram Stars — официальная валюта Telegram, удобная для оплат внутри платформы. Но у Stars жёсткие ограничения:

  • Apple/Google забирают 30% с покупки Stars в приложении.
  • Вывод Stars в фиат через Fragment с лимитом и комиссией ~30%.
  • Stars не работают как средство расчётов между ботами и пользователями вне сценария «TG-микроплатежа».

TON решает эти проблемы:

  • Комиссия сети 0.05 TON (~$0.20) независимо от суммы.
  • Прямой перевод между пользователем и вашим кошельком, без посредника.
  • Можно принимать USDT-jetton на TON — стабильную монету без волатильности.
  • Лимитов нет, выводы мгновенные.

Если ваша услуга — это что-то более серьёзное, чем «подарок стикерпака за 5 Stars», вам нужен TON-приём.

Сценарий 1: Crypto Pay (через Crypto Bot) — за 30 минут

Самый быстрый способ. Crypto Pay — это API-обёртка над Crypto Bot, одним из крупнейших кастодиальных кошельков в Telegram.

Шаги:

  1. Откройте @CryptoBot в Telegram.
  2. /start → меню «Crypto Pay» → «Create App».
  3. Получите app_id и api_token. Сохраните api_token — больше его нельзя посмотреть, только пересоздать.
  4. В коде вашего бота:
import axios from 'axios';

const CRYPTO_BOT_TOKEN = process.env.CRYPTO_BOT_TOKEN!;
const API = 'https://pay.crypt.bot/api';

async function createInvoice(amount: string, asset: 'TON' | 'USDT', orderId: string) {
  const { data } = await axios.post(
    `${API}/createInvoice`,
    {
      asset,
      amount,
      description: `Order #${orderId}`,
      payload: orderId,
      paid_btn_name: 'callback',
      paid_btn_url: `https://yourshop.com/order/${orderId}/done`,
      expires_in: 3600,
    },
    { headers: { 'Crypto-Pay-API-Token': CRYPTO_BOT_TOKEN } },
  );
  return data.result; // { invoice_id, pay_url, ... }
}
  1. Отправляете клиенту pay_url. Он открывает Crypto Bot и оплачивает.
  2. Crypto Bot шлёт webhook на ваш /cryptopay/webhook:
import crypto from 'crypto';

app.post('/cryptopay/webhook', (req, res) => {
  const signature = req.headers['crypto-pay-api-signature'] as string;
  const secret = crypto.createHash('sha256').update(CRYPTO_BOT_TOKEN).digest();
  const hmac = crypto.createHmac('sha256', secret)
    .update(JSON.stringify(req.body))
    .digest('hex');

  if (hmac !== signature) return res.status(401).send('Invalid signature');

  const { update_type, payload } = req.body;
  if (update_type === 'invoice_paid') {
    const { invoice_id, status, payload: orderId } = payload;
    // Mark order as paid in your DB
  }
  res.sendStatus(200);
});
  1. Вывод TON со счёта Crypto Pay — в любой TON-кошелёк через /transfer API или вручную через интерфейс бота.

Что хорошо: простота, мгновенная интеграция, поддержка 7+ валют (TON, USDT, BTC, ETH и др.), документация на русском и английском, российские мерчанты используют годами.

Что плохо: деньги сидят на Crypto Bot — это кастодиальный риск. Для оборота >100K USDT/мес рекомендую регулярно (ежедневно) выводить остатки на свой кошелёк. История платежей хранится в Crypto Bot, не в вашей системе — backup делайте сами через /getInvoices.

Сценарий 2: Wallet Pay (Wallet-в-Telegram) — для среднего бизнеса

Wallet — нативный Telegram-кошелёк, формально часть Telegram-инфраструктуры. Wallet Pay — официальный шлюз для приёма платежей в TON/USDT-jetton.

Шаги:

  1. Откройте Wallet Business — отдельный бот для бизнес-аккаунтов.
  2. Пройдите верификацию: название бренда, ИНН (для РФ) или эквивалент юрлица, описание услуги. Проверка 1-5 рабочих дней.
  3. После одобрения получаете WPAY_STORE_API_KEY и WPAY_STORE_API_SECRET.
  4. Интеграция:
async function createWalletPayOrder(amount: number, currency: 'TON' | 'USDT', externalId: string) {
  const res = await fetch('https://pay.wallet.tg/wpay/store-api/v1/order', {
    method: 'POST',
    headers: {
      'Wpay-Store-Api-Key': process.env.WPAY_API_KEY!,
      'Content-Type': 'application/json',
    },
    body: JSON.stringify({
      amount: { amount: amount.toString(), currencyCode: currency },
      description: 'Premium subscription',
      externalId,
      timeoutSeconds: 3600,
      customerTelegramUserId: 0,
      returnUrl: `https://yourshop.com/order/${externalId}/done`,
      failReturnUrl: `https://yourshop.com/order/${externalId}/fail`,
    }),
  });
  return res.json();
}
  1. Используете payLink для перенаправления клиента; обработка webhook’ов аналогична Crypto Pay (но с подписью по другому секрету).

Что хорошо: один из самых конверсионных интерфейсов оплаты в Telegram — пользователь не выходит из чата. Привязка к Wallet-в-Telegram = огромная аудитория. Поддержка вывода в банковский счёт через Wallet (в странах где это работает).

Что плохо: верификация может затянуться. Доступ из РФ — формально Wallet Pay поддерживает российских мерчантов, но процесс верификации может потребовать дополнительных документов. Поддерживает только 2 валюты (TON, USDT-jetton) в стандартном API.

Сценарий 3: xRocket Pay — мультивалюта + payouts

xRocket — мульти-чейн кошелёк-бот с собственным платёжным API, поддерживает выплаты массой (важно для маркетплейсов, partner-программ).

Шаги:

  1. @xRocket → меню «Pay» → «My API».
  2. Получаете api_key.
  3. Создание инвойса:
curl -X POST "https://pay.xrocket.tg/multi-invoice" \
  -H "Rocket-Pay-Key: $XROCKET_KEY" \
  -H "Content-Type: application/json" \
  -d '{
    "currency": "TONCOIN",
    "amount": 1.5,
    "description": "VIP access",
    "expiredIn": 3600
  }'
  1. Получаете link, отправляете клиенту.
  2. Webhook’и приходят на ваш URL, подпись валидируется по HMAC-SHA256 с api_key.

Payouts (массовая выплата победителям/партнёрам):

curl -X POST "https://pay.xrocket.tg/multi-transfer" \
  -H "Rocket-Pay-Key: $XROCKET_KEY" \
  -H "Content-Type: application/json" \
  -d '{
    "currency": "TONCOIN",
    "transfers": [
      {"tgUserId": 12345, "amount": 0.5, "description": "Daily reward"},
      {"tgUserId": 67890, "amount": 1.2, "description": "Referral bonus"}
    ]
  }'

Что хорошо: поддерживает 15+ токенов (TON, USDT-jetton, BTC, ETH, SOL, BNB), есть мультивалютный invoice, есть массовые payouts.

Что плохо: комиссия 2% выше, чем у конкурентов. Поддержка чуть слабее — отвечают за 1-2 дня вместо часа. Бренд менее известный — некоторые клиенты могут не доверять незнакомому кошельку при первой оплате.

Сценарий 4: Кастомный приём через TON Connect 2.0

Если вам нужно полное владение процессом — без посредника, без комиссии шлюза — реализуйте свой приём через TON Connect.

Архитектура:

  1. На фронте (Telegram Mini App): TON Connect SDK, кнопка «Подключить кошелёк».
  2. Пользователь подключает Tonkeeper/MyTonWallet/Wallet.
  3. Ваш сервер генерирует invoice: { orderId, amount, recipientAddress, comment: orderId }.
  4. Фронт инициирует sendTransaction через TON Connect.
  5. Пользователь подтверждает в своём кошельке.
  6. Сервер слушает блокчейн через TON Indexer/Toncenter/TonAPI: ищет входящие транзакции на recipientAddress с комментарием orderId.
  7. При подтверждении (finality на TON ~5-30 секунд) — заказ выполняется.
// Полинг блокчейна, упрощённо:
async function watchPayment(orderId: string, recipient: string, amount: bigint, fromLt: bigint) {
  while (true) {
    const txs = await tonapi.accounts.getTransactions(recipient, { after_lt: fromLt });
    for (const tx of txs.transactions) {
      const inMsg = tx.in_msg;
      if (
        inMsg?.value === amount.toString() &&
        inMsg?.decoded_body?.text === orderId
      ) {
        await markOrderAsPaid(orderId, tx.hash);
        return;
      }
    }
    await new Promise(r => setTimeout(r, 3000));
  }
}

Что хорошо: 0% комиссии шлюза (только газ сети ~$0.20). Полный контроль. Поддержка любого jetton на TON, включая собственный. Идеально для DeFi-проектов.

Что плохо: нужно писать. Возвраты делаете сами (если клиент попросит). Защита от replay-атак (комментарий должен быть уникальным), защита от front-running по orderId, верификация суммы — всё на вашей стороне. Не подойдёт стартапу без бэкенд-разработчика.

Полный туториал см. в нашей статье TON Connect 2.0 + TonProof: Sign-in with TON.

Сценарий 5: Telegram Stars + конвертация в TON

Если ваша услуга — внутри Telegram (стикеры, премиум-функции бота, контент) — самый «нативный» способ оплаты это Stars: пользователь покупает их в самом приложении, вы получаете на счёт Telegram, потом конвертируете в TON через Fragment.

Шаги:

  1. В BotFather → ваш бот → «Payments» → выбираете звёзды.
  2. В коде используете обычный Telegram Bot API:
bot.sendInvoice(chatId, {
  title: 'Premium subscription',
  description: 'Monthly access to advanced features',
  payload: orderId,
  provider_token: '', // empty for Stars
  currency: 'XTR', // Telegram Stars
  prices: [{ label: 'Subscription', amount: 50 }], // 50 Stars
});
  1. Stars автоматически зачисляются на ваш Telegram-аккаунт владельца бота.
  2. Конвертация Stars → TON через Fragment (около 0.013 TON за 1 Star на середину 2026).

Что хорошо: работает из коробки, моментально, регулируется Telegram’ом, привычно пользователям.

Что плохо: Apple/Google режут 30% при покупке Stars в приложении. Вывод в фиат сложный. Курс Star→TON волатилен — не зафиксируешь предсказуемую цену в долларах. Подойдёт только для микроплатежей внутри Telegram.

Подробности — Telegram Stars: конвертация в TON и вывод.

Сравнительная таблица

ПараметрCrypto PayWallet PayxRocket PayКастом TON ConnectStars
Время до запуска30 мин1-5 дней1 час1-3 недели30 мин
Комиссия шлюза1.5%1.5-2%2%0%Apple/Google 30%
Валюты7+TON, USDT15+любой jettonStars only
Кастодиальный рисксреднийнизкийсреднийнулевойнизкий
Массовые выплатынетнетдада (своё)нет
Сложностьнизкаясредняянизкаявысокаянизкая
ПодходитMVP, малый бизнессредний бизнесмаркетплейсDeFi, крупныйTG-микроконтент

Юридическое и налоги

В РФ приём TON в бизнесе — серая зона. Закон 259-ФЗ запрещает использование цифровой валюты как средства расчётов между резидентами РФ, но:

  • Если ваша целевая аудитория — иностранцы (Telegram глобален), формально вы не нарушаете 259-ФЗ.
  • Если ваши клиенты — россияне, риски возникают у вас как продавца. Альтернатива — оформить ИП и принимать в рублях через ЮKassa/QIWI, а TON предлагать как «способ оплаты для нерезидентов».

При выводе TON в фиат (любым способом) — это реализация имущества, НДФЛ 13% или налог УСН 6% (для ИП).

См. наш гайд «Налоги на TON в России» для деталей.

Что выбрать в итоге

  • MVP / тестируем спрос: Crypto Pay. 30 минут — и у вас рабочая платёжка.
  • Малый бизнес, стабильный оборот: Wallet Pay — у него лучшая конверсия.
  • Маркетплейс / partner program / выплаты партнёрам: xRocket Pay — payouts массой.
  • DeFi-проект, кастомные jetton, нулевая комиссия: кастомный приём через TON Connect.
  • Контент внутри Telegram, копейки за единицу: Stars + Fragment-конвертация.

Большинство стартапов в 2026 идут по треку: Crypto Pay для MVP → Wallet Pay при росте оборотов → кастом через TON Connect при необходимости тонкого контроля. Не выбирайте по одному фактору — оцените, что критично именно для вашей модели.

Частые вопросы

Самый быстрый старт — Crypto Pay (Crypto Bot): 30 минут до первого инвойса, REST-API, моментальный вывод на свой кошелёк или внутри Crypto Bot. Wallet Pay требует прохождения корпоративной верификации (несколько дней), но интерфейс оплаты глубже интегрирован в нативный Wallet-в-Telegram. xRocket Pay — самый гибкий, поддерживает мультивалюту и payouts массой, но требует чуть больше настройки. Для MVP — Crypto Pay; для серьёзного бизнеса с оборотом >5000 USDT/мес — Wallet Pay; для маркетплейса с выплатами — xRocket.
Crypto Pay (Crypto Bot) — 1.5% с инвойса в TON/USDT (фикс по тарифу partner), 0% если получатель — тоже Crypto Bot. Wallet Pay — 1.5-2% на стандартном тарифе, для крупных оборотов индивидуальный. xRocket Pay — 2% с инвойса, payouts — 0.5%. Кастомный TON Connect — только газ TON (~0.05 TON за транзакцию), всё остальное вы делаете сами: возвраты, верификация, KYC если нужен.
Да, Crypto Pay поддерживает: TON, USDT-jetton (TON), BTC, ETH, BNB, TRX, USDT-TRC20. Wallet Pay — TON и USDT-jetton. xRocket Pay — около 15+ токенов на TON, BSC, TRON. Кастомный путь через TON Connect позволяет любой jetton на TON-блокчейне, включая ваши собственные.
Технически бот может принимать платежи без юрлица — но налогооблагаемая база возникает при выводе в фиат или товарообмене. ФНС с 2025 рассматривает крипто-доход как имущественный (продажа TON → НДФЛ 13%). Если оборот ≥ 2.4 млн ₽ в год — самозанятый не подходит, нужен ИП (УСН 6%) или ООО. Для оборота от 10 млн ₽/год + расчёты с юридическими лицами — нужно открывать счёт у проверенного OTC-агента или регистрироваться как майнер по 259-ФЗ.
Crypto Pay/Wallet Pay/xRocket подписывают invoice_id и webhook'и HMAC-секретом — подделать невозможно при правильной проверке подписи на сервере. При кастомной реализации через TON Connect: всегда верифицируйте payload транзакции на бэкенде (sender, amount, comment-memo), не полагайтесь на фронтенд. Конкретный приём — invoice_id записывается в комментарий транзакции и сверяется с базой ожидающих платежей.
У всех платёжных шлюзов есть статусы 'paid', 'partially_paid', 'overpaid'. Логика стандартна: если разница до 5% — большинство интернет-магазинов просто принимает, выдаёт заказ, разницу заносит в маркетинг-баланс. Если значимая недоплата — клиенту автоматически отправляется новый invoice на разницу. Возврат при overpaid делается через API метод refund — на тот же кошелёк-отправитель. Самостоятельно через TON Connect: верифицировать сумму на бэкенде до выдачи товара.
В РФ закон 259-ФЗ + 39-ФЗ разделяет: 1) частный обмен (легально без лицензии до определённых лимитов), 2) майнинг (с регистрацией в Минцифры с 2024), 3) обращение цифровой валюты как платёжного средства (запрещено для расчётов между резидентами РФ). Если бот — это сервис для иностранных пользователей (Telegram-аудитория глобальная) — формально вы не подпадаете под запрет на расчёты в РФ. Для расчётов с россиянами в TON — серая зона, риски на стороне продавца.

Похожие материалы