Как принимать платежи в Telegram

Хотите монетизировать свой Telegram-бот? С помощью Bot Payments API вы сможете легко принимать платежи за цифровые товары и услуги, не выходя из Telegram. Расскажем, как это работает и с чего начать.

⚠️ Данный текст частично содержит перевод официальной документации ↗️
Как принимать платежи в Telegram

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


Telegram Bot Payments — это бесплатная и открытая платформа, которая позволяет продавцам принимать платежи за товары и услуги от пользователей Telegram. Эта страница охватывает платежи за цифровые товары и услуги – если вы заинтересованы в продаже физических товаров и услуг, пожалуйста, посетите нашу специальную страницу.

Примечание: Данная статья предназначена для разработчиков ботов и владельцев магазинов. Если вы хотите получить общее представление о Telegram Payments, ознакомьтесь с блогом Telegram.

Если вы новичок в Telegram-ботах и хотите узнать, как создать и настроить бота, пожалуйста, ознакомьтесь с нашим Введением в ботов и FAQ по ботам.

Обзор

Платежи бесшовно интегрированы в Telegram, позволяя вам продавать цифровые товары и услуги в обмен на Telegram Stars, виртуальный предмет в приложении, который вы можете позже обменять на награду.

С помощью Payments API вы сможете:

  • Отправлять счета в любой чат, включая группы и каналы.
  • Создавать счета, которые могут быть пересланы и использованы несколькими покупателями для заказа товаров.
  • Использовать инлайн-режим, чтобы помочь пользователям показать ваши товары и услуги своим друзьям и сообществам.
  • Принимать платежи от пользователей на мобильных или десктопных приложениях.
  • Попробуйте @DurgerKingBot для создания тестового счета – или начните сообщение с @DurgerKingBot ... в любом чате для инлайн-счета.
  • Посмотрите Demo Shop для примера Telegram Channel, используемого как виртуальный магазин.

Цены на звезды

Вот таблица, показывающая разбивку того, сколько пользователь платит за приобретение определенного количества Звезд и чистую прибыль, получаемую разработчиком. Обратите внимание, что эти суммы могут варьироваться от пользователя к пользователю из-за НДС и других применимых сборов, которые находятся вне контроля Telegram.

Как это работает?

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

Сообщения-счета содержат фото и описание продукта, а также заметную кнопку Оплатить. Нажатие на эту кнопку открывает специальный интерфейс оплаты в приложении Telegram.

Поскольку ваш бот продает цифровые товары и услуги, все транзакции должны проводиться в Telegram Stars с валютным тегом XTR. Пользователи могут приобретать Stars у Telegram с помощью стандартных покупок в приложениях Apple и Google или через @PremiumBot, а затем использовать их для покупки цифровых товаров и услуг у вас.

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

Подробная информация и пошаговые инструкции доступны ниже.


Платежный API

В этом разделе рассматриваются платежи через Bot API Telegram более подробно.

Этот раздел посвящен продаже цифровых товаров и услуг – если вас интересует продажа физических товаров и услуг, пожалуйста, ознакомьтесь с нашей специальной страницей.

Создание Telegram-бота

Чтобы начать принимать платежи, вам нужен Telegram-бот. Используйте @BotFather, чтобы создать бота, если у вас его еще нет. В рамках данного документа мы предполагаем, что вы назвали своего бота @merchantbot.

Реализация платежей

Необходимые методы для построения вашей реализации платежей вы найдете в Разделе платежей Руководства по Bot API.

Короче говоря, вам нужно:

  • Отправить счет через sendInvoice (currency: “XTR”)
  • Ожидать Обновление с полем pre_checkout_query
  • Одобрить или отменить заказ через answerPreCheckoutQuery
  • Ожидать Обновление с полем successful_payment
  • Сохранить SuccessfulPayment’s telegram_payment_charge_id – он может понадобиться для возврата в будущем
  • Доставить товары и услуги, приобретенные пользователем

Вы можете заметить, что некоторые методы API для платежей требуют provider_token. Этот параметр необходим только для продаж физических товаров и услуг – для цифровых вы можете оставить его пустым.

Тестирование платежей

Вы можете свободно тестировать платежи в Telegram Stars, подключив своего бота к специальной тестовой среде Telegram. Чтобы узнать больше о том, как вы можете получить доступ и использовать тестовую среду, пожалуйста, обратитесь к нашей документации.

Пошаговый процесс

Смотрите Bot API: Payments для полного списка доступных методов и объектов. Обязательно предоставьте правильный набор параметров в зависимости от типа товаров, которые вы продаете, различая цифровые и физические заказы.

1. Создание счета

Пользователь связывается с @merchantbot и запрашивает покупку чего-либо. Бот формирует сообщение-счет с описанием товара или услуги и суммой к оплате (выраженной в Telegram Stars). Существует два способа создания счета:

A. Счет бота

Используйте метод sendInvoice для генерации счета и отправки его в чат. Вы можете передать пустую строку в качестве параметра provider_token, так как счет предназначен для цифровых товаров и услуг.

Сообщения-счета с кнопкой оплаты могут быть отправлены в чаты любого типа: личные чаты с пользователем, группы или каналы. Получившееся сообщение-счет будет выглядеть так:

Счет бота

Не забудьте указать XTR в поле currency, так как все продажи цифровых товаров и услуг осуществляются исключительно в Telegram Stars.

B. Встраиваемый счет

Если @merchantbot поддерживает встраиваемый режим, вы можете использовать inputInvoiceMessageContent, чтобы позволить пользователям делиться счетами за ваши товары и услуги в своих личных чатах с друзьями или в своих группах и каналах. Эти счета будут иметь Кнопку оплаты, которую можно использовать несколько раз.

Встраиваемый счет

2. Выбор поведения при пересылке

Существует два способа обработки пересланных копий ваших счетов, управляемых параметром start_parameter в методе sendInvoice.

  • A. Мульти-чат счет. Пересланные копии показывают Кнопку оплаты, которую могут нажимать несколько пользователей и пытаться оплатить товары или услуги. Инлайн-счета всегда являются мульти-чат счетами.
  • B. Один чат счет. Счет можно оплатить только из чата, в который он был отправлен, пересланные копии показывают Кнопку URL с глубоким линком на бота. Глубокий линк можно использовать для генерации аналогичного счета в чате с ботом, для отображения сообщения об ошибке или для других целей. Больше информации о глубоких линках »

Если один чат счет отправлен в чат с @merchantbot, его можно оплатить один раз. Если один чат счет отправлен в любой другой чат, его можно оплатить много раз многими пользователями.

Чтобы лучше понять, как это работает, попробуйте переключить параметр “Оплатить из пересылок” при создании счетов с нашим демо @ShopBot.

Независимо от того, доступна ли Кнопка оплаты в счете, бот-торговец всегда имеет возможность решать, принимать ли новые платежи за конкретный счет.

3. Предварительная проверка перед покупкой

Пользователь покупает Звезды у Telegram (если это необходимо), затем нажимает кнопку оплаты. В этот момент Bot API отправляет Update с полем pre_checkout_query, которое содержит всю доступную информацию о заказе боту.

Ваш бот должен ответить, используя answerPrecheckoutQuery, в течение 10 секунд после получения этого обновления, иначе транзакция будет отменена.

Бот может вернуть ошибку, если он не может обработать заказ по какой-либо причине. Мы настоятельно рекомендуем указать причину невозможности завершения заказа в понятной для человека форме (например, "Извините, у нас закончились цифровые постеры с резиновыми утками! Вас бы заинтересовал цифровой постер с чугунным медведем вместо этого?"). Telegram отобразит эту причину пользователю.

Внимание: Крайне важно убедиться, что ваш бот только принимает множественные платежи, когда заказ может быть обработан корректно. Это особенно важно, если вы используете мульти-чат, инлайн или одиночный чат, многоразовые счета.

4. Оформление заказа

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

Предупреждение: Вы должны всегда проверять, что вы получили обновление successful_payment перед тем, как доставить товары или услуги, приобретенные пользователем – простого ответа на pre_checkout_query недостаточно для гарантии успешного заказа или платежа.

Если сообщение с инвойсом было отправлено в чате с @merchantbot, оно становится Чеком в интерфейсе для пользователя – они могут открыть этот чек в любое время и увидеть все детали транзакции:

Чек

Если сообщение было отправлено в любой другой чат, Кнопка оплаты остается и может быть использована снова. Решение о том, принимать ли несколько платежей, остается за ботом-торговцем.

Запуск в работу

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

Перед тем как ваш торговый бот перейдет в режим работы, пожалуйста, убедитесь в следующем:

Живой контрольный список

  • Мы настоятельно рекомендуем включить двухфакторную аутентификацию для аккаунта Telegram, который управляет вашим ботом.
  • Вы как владелец бота несете полную ответственность в случае возникновения каких-либо конфликтов или споров. Вы должны быть готовы правильно обрабатывать споры и возвраты.
  • Чтобы избежать недоразумений и возможных юридических проблем, убедитесь, что ваш бот может ответить на команду /terms (или предлагает аналогичный простой способ доступа к вашим Условиям и Положениям). Ваши Условия и Положения должны быть написаны понятным языком и легко воспринимаемыми для ваших пользователей. Пользователи должны подтвердить, что они прочитали и согласны с вашими условиями, прежде чем совершить покупку.
  • Ваш бот должен предоставлять поддержку своим клиентам, либо отвечая на команду /support, либо иным образом, четко сообщенным пользователям. У пользователей должен быть ясный способ связаться с вами по поводу их покупок, и вы должны обрабатывать их запросы на поддержку своевременно. Вы должны уведомить своих пользователей о том, что служба поддержки Telegram или поддержка ботов не сможет помочь им с покупками, сделанными через ваш бот.
  • Проверьте, что ваше серверное оборудование и программное обеспечение стабильны. Используйте резервные копии, чтобы убедиться, что вы не потеряете данные о платежах ваших пользователей.
  • Убедитесь, что вы прочитали, поняли и согласны с Условиями обслуживания Telegram и, соответственно, с Условиями обслуживания для разработчиков платформы ботов Telegram.

FAQ

В: Могу ли я использовать другую валюту или платежного провайдера?

Платежи за цифровые товары и услуги должны осуществляться исключительно в Telegram Stars. Магазины приложений, такие как Play Store для Android и App Store для iOS, имеют специфические правила для разработчиков относительно продажи цифровых товаров и услуг. В связи с этими правилами Telegram не может отображать вашего бота или мини-приложение мобильным пользователям, если вы пытаетесь продавать цифровые товары и услуги за другие валюты или через сторонних платежных провайдеров.

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

В: Я веду свой собственный веб-сайт для обработки продаж, означает ли это, что мне не нужно использовать Telegram Stars?

Чтобы оставаться в соответствии с Политиками оплаты Google 1, 2 и 4, а также с Руководством по проверке Apple 3.1.1, 3.1.1(a) и 3.1.3(b), ваш бот или мини-приложение должны использовать Telegram Stars для продажи цифровых товаров и услуг внутри приложений Telegram, независимо от любых других веб-порталов, приложений, услуг или платежных провайдеров, которые вы могли настроить вне экосистемы Telegram.

В: Могу ли я принимать оплату в криптовалюте вместо Telegram Stars?

Нет. Все платежи через ботов и мини-приложения за цифровые товары и услуги внутри приложений Telegram должны использовать исключительно Telegram Stars, чтобы соответствовать требованиям App Store и Play Store.

Для получения более подробной информации о том, какие условия регулируют ваше взаимодействие с Telegram Stars, пожалуйста, обратитесь к Разделу 6.2. Цифровые товары и услуги Условий предоставления услуг для разработчиков платформы Telegram Bot.

В: Нужно ли мне иметь бота для приема платежей?

Да. Если вы не разработчик, вам нужно будет либо нанять кого-то, чтобы он создал бота для вас (рекомендуется), либо использовать бота, созданного третьей стороной. Мы советуем проявлять крайнюю осторожность при использовании услуг ботов, которые обрабатывают платежи за вас – Telegram не поддерживает такие боты и не одобряет какие-либо сторонние боты, предлагающие эти услуги.

В: Как обрабатываются споры?

Вы несете полную ответственность за обработку и урегулирование законных споров пользователей по цифровым товарам и услугам, продаваемым вашими ботами или мини-приложениями. Ваши боты и мини-приложения должны уметь реагировать на команду /paysupport и обрабатывать запросы пользователей по вопросам оплаты, а вы должны предоставлять поддержку клиентам своевременно.

Telegram Bot API также позволяет вам легко и независимо возвращать покупки, которые были сделаны в вашем боте или мини-приложении с помощью Telegram Stars.

Для получения дополнительной информации о спорах с клиентами, пожалуйста, ознакомьтесь с Разделом 6.2.1. Споры по оплате за цифровые товары и услуги Условий обслуживания разработчиков платформы Telegram Bot.

В: Как я могу оформить возврат?

Возвраты за цифровые товары и услуги могут быть оформлены с помощью метода refundStarPayment в Telegram Bot API.

В: Что я могу сделать с Telegram Stars?

Звезды можно использовать для размещения рекламы в Telegram для вашего TPA или для получения вознаграждения за денежную стоимость, которую Telegram присваивает каждой Звезде.

Для получения более подробной информации о том, какие условия регулируют ваше взаимодействие с Telegram Stars, пожалуйста, обратитесь к разделу 6.2. Цифровые товары и услуги Условий обслуживания разработчиков платформы Telegram Bot.

В: Как я могу поддерживать платежи в своем стороннем приложении, которое использует Telegram API?

Вы можете ознакомиться с документацией по платежам MTProto.

Комментарии