Платежи через 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.