Приймати оплату за допомогою Telegram Stars за циф

Прийняти оплату за допомогоюTelegram Starsдля цифрових товарів або послуг існує два основних способи: через код (Bot API) або за допомогою готових конструкторів чат-ботів.

Головна особливість Stars — це винемає необхідності підключати сторонні платіжні шлюзи(наприклад, Stripe або YuKassa). Сам Telegram виступає в ролі мерчанта, а полеprovider_tokenзалишається порожнім у коді.

Нижче ми проаналізуємо, як цей процес працює зсередини.

1. Схема інтеграції через API (для розробників)

Якщо ви самі пишете бота (наприклад, на Python зайограмаабо Node.js зтелеграф), весь процес прив 'язаний до стандартного API Bot Payments.

Крок 1. Виставлення рахунків (sendInvoiceвід куліcreateInvoiceLink)

Щоб користувач побачив вікно оплати, бот повинен сформувати рахунок-фактуру.

  • currency— обов 'язково пройдітьXTR(це міжнародний код Telegram Stars).

  • provider_token— відпусткапорожній рядок ("").

  • ціни— вкажіть вартість цілими зірками (1 одиниця = 1 зірка).

Приклад параметрів у Python (айограма):

& Python
чекатиbot.send_invoice(
    chat_id=message.chat.idTitle"Преміальна підписка"Description«Доступ до закритого функціоналу бота на 1 місяць»,
    payload="user_id_12345_premium",  # Ваші внутрішні дані підтвердженняprovider_token="",                # Зірки завжди порожні!currency"XTR",
    prices=[LabeledPrice(label=«Преміум»Amount50)] # 50 зірок
)

Крок 2: Попередня перевірка продажу (pre_checkout_query)

Коли користувач натискає «Оплатити», Telegram надсилає запит вашому ботуpre_checkout_query.

Критичні:У вас точно є10 секунд.відповісти на методanswerPreCheckoutQuery(true). Якщо сервер зависає або не відповідає вчасно, платіж буде скасовано. Тут перевіряється, чи є товар на складі та чи змінилася ціна.

Крок 3. Зафіксуйте платіж (successful_payment)

Після успішного списання Stars бот отримує звичайне повідомлення, але зі спеціальним полемsuccessful_payment. У цей момент ви даєте користувачеві свій цифровий продукт, зберігаєте транзакцію в базі даних та надсилаєте «Дякуємо за покупку!».

2. Через конструктори ботів (без коду)

Якщо ви використовуєте такі платформи, якLeadTex, PuzzleBot, SendPulse, Zeneduта ін.

  1. Перейдіть до налаштувань інтеграції/прийому платежів у конструкторі.

  2. Виберіть платіжну системуTelegram Stars.

  3. У сценарії (вузли) виберіть блок «Очікування оплати» або «Виставлення рахунку», вкажіть суму в Stars і пов 'яжіть дію для успішної оплати (наприклад, відправка файлу або відкриття посилання).

3. Як приймати Зірки в Telegram-каналах?

Якщо мова йде не про бота, а про монетизацію каналу, то код взагалі не потрібен:

  • Платні дописи (платні медіа):Створюючи допис із фотографією або відео, натисніть і утримуйте кнопку Опублікувати (у мобільному додатку), а потім виберіть"Зробити контент платним"вказавши ціну в зірочках. Контент буде вимитий для тих, хто не сплатив.

  • Платні реакції:У налаштуваннях каналу перейдіть до розділуРеакції -> Увімкнути платні реакції. Користувачі зможуть надсилати Зірки як реакції автору.

  • Платні реферальні посилання:За допомогою керування каналами можна створити посилання на рахунок-фактуру, яке автоматично стягуватиме плату зірок (наприклад, щомісяця) за перебування в приватному каналі.

Звідки беруться зірки і як їх вивести?

Усі отримані зірки накопичуються на балансі вашого бота або каналу.

  1. Де переглянути баланс:Відкрийте профіль бота (або налаштування каналу) -> вкладкаБалансАБОСтатистика -> Баланс) Відображатиметься детальна історія всіх транзакцій.

  2. Правила Telegram:Згідно з правилами платформи, для легальної роботи в боті необхідно реалізувати три команди для користувачів:/paysupport(платіжне забезпечення),/support(загальна підтримка) та/termsУгода користувача

  3. Зняття коштів:Можна вирахувати накопичені зіркичерез 21 деньпісля їх отримання. Виведення здійснюється в криптовалютіТонкоїни (TON)через офіційну платформуФрагмент. Звідти їх можна перевести на будь-який криптогаманець або біржу.