# Как принимать оплату звёздами в своём боте

Счёт в XTR, pre-checkout за 10 секунд, возвраты, /paysupport и вывод звёзд.

https://shiba-bank.com/ru/guides/stars-payments-in-bot

Обновлено 02.10.2026 · 2 мин чтения

Цифровые товары и услуги в ботах Telegram продаются за звёзды. Подключать платёжного провайдера для этого не нужно: счёт в звёздах бот выставляет сам через Bot API, а звёзды приходят на баланс бота.

## Почему именно звёзды

По правилам Telegram цифровые товары и услуги в ботах и мини-приложениях оплачиваются только звёздами — этого требуют и правила магазинов приложений. Физические товары можно продавать и за деньги через платёжных провайдеров.

## Как выставить счёт в звёздах

1. Вызовите `sendInvoice` (счёт в чат) или `createInvoiceLink` (ссылка на оплату).
2. Укажите валюту `XTR` — так в Bot API обозначаются звёзды.
3. Параметр `provider_token` оставьте пустой строкой: провайдер для звёзд не нужен.
4. В `prices` передайте одну позицию — сумму в звёздах.

Человек увидит счёт, подтвердит оплату, и звёзды спишутся с его баланса.

Читайте также: [Как создать бота в ТГ](https://shiba-bank.com/ru/guides/create-telegram-bot).

## Обязательные шаги после оплаты

- **pre_checkout_query.** Перед списанием Telegram присылает боту запрос. Ответить `answerPreCheckoutQuery` нужно в течение 10 секунд, иначе платёж отменяется — пользователь увидит ошибку «bot precheckout timeout». Отвечайте сразу, а тяжёлую работу делайте после ответа.
- **successful_payment.** После оплаты приходит сообщение с `telegram_payment_charge_id`. Сохраните его: он нужен для возврата.
- **Выдача.** Выдавайте товар только после `successful_payment`.

## Возвраты, история и поддержка

- **Возврат** — метод `refundStarPayment` с `telegram_payment_charge_id`: звёзды вернутся покупателю.
- **История** — метод `getStarTransactions` показывает зачисления и возвраты бота.
- **/paysupport** — бот обязан отвечать на эту команду: так покупатели спрашивают о платежах.

## Подписки и платный контент

- **Подписка.** В `createInvoiceLink` можно указать период подписки — звёзды будут списываться каждые 30 дней, пока пользователь её не отменит.
- **Платные фото и видео.** Метод `sendPaidMedia` присылает контент, который открывается за звёзды, — как устроено для людей, описано в статье [фото и видео за звёзды](https://shiba-bank.com/ru/guides/paid-media).

## Как вывести звёзды бота

Звёзды копятся на балансе бота — его видно в профиле бота: «Изменить» → «Баланс». Вывести их можно через Fragment — от 1 000 звёзд, и каждая становится доступна через 21 день после получения. Звёздами бота можно оплатить и рекламу в Telegram Ads со скидкой — [реклама за звёзды](https://shiba-bank.com/ru/guides/telegram-ads-stars). Пошагово о выводе — в статье [как вывести звёзды из бота](https://shiba-bank.com/ru/guides/withdraw-stars-from-bot).

> **Совет:** Нужно не принимать звёзды, а отправлять звёзды или Premium своим пользователям? Это делает API бота Shiba Bank — [Telegram Stars API](https://shiba-bank.com/ru/guides/telegram-stars-api).

[Всё — внутри Telegram — Открыть приложение](https://t.me/barboskich_stars_bot?startapp=site_ai_ru)

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

### Как подключить оплату звёздами в Telegram-боте?
Выставьте счёт `sendInvoice` или `createInvoiceLink` с валютой `XTR` и пустым `provider_token`, ответьте на pre-checkout за 10 секунд и выдайте товар после `successful_payment`.

### Нужен ли платёжный провайдер для звёзд?
Нет. Для звёзд `provider_token` — пустая строка.

### Как вернуть звёзды покупателю?
Методом `refundStarPayment` с `telegram_payment_charge_id` из сообщения об оплате.

### Когда можно вывести звёзды бота?
Через Fragment — от 1 000 звёзд, каждая становится доступна через 21 день после получения.
