Платежи в telegram оплата товаров

Мессенджеры *Платежные системы *JavaScript *Node.JS * Tutorial

Платежи 2.0 — В мессенджере Telegram появилась возможность принимать платежи в любом чате, включая группы и каналы. Подключить свой магазин к платформе можно самостоятельно, без согласования с Telegram.

И в этом туториале мы создадим простого бота с Node.js на фреймворке Telegraf.js, который сможет принимать деньги с клиента и отправлять их на ваш счет через Сбербанк.

image

Платежи 2.0

Платёжные боты существуют в Telegram с 2017 года. С их помощью можно безопасно оплачивать товары и услуги вроде доставки пиццы, не покидая приложения.

С сегодняшнего дня продавцы могут принимать платежи кредитными картами с помощью 8-ми встроенных платёжных систем в любом чате, включая группы и каналы.

На данный момент поддерживаются платежи из более чем 200 стран через следующие платежные системы:

image

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

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

Создаём бота в Telegram

Бот в Telegram создается при помощи другого бота под названием @BotFather. Отправляем ему команду /newbot, выбираем имя, которое будет отображаться в списке контактов, и адрес. Например, Оплата в Telegram боте с адресом sber_pay_test_bot.

Если адрес не занят, а имя введено правильно, BotFather пришлет в ответ сообщение с токеном — «ключом» для доступа к созданному боту.

ВНИМАНИЕ! Его нужно сохранить и никому не показывать.

Создаем проект Node.js

Далее создадим новый проект. Создаем папку.

Вводим в консоле:

mkdir sber_pay_test_bot && cd sber_pay_test_bot

Затем:

npm init 

Программа задаёт вам разные вопросы и создает package.json, который определяет настройки проекта, зависимости, скрипты, название и прочее. Для примера можно везде нажать enter

и добавим файл index.js в котором будет разрабатываться наш бот.

touch index.js    

Telegraf.js

Cтавим telegraf.js — это один из популярных фреймворков для создания телеграм бота.

npm install telegraf@3.38 

Ставим библиотеку dotenv — это модуль, который загружает переменные среды из файла .env в process.env., а также заодно поставим nodemon — инструмент, который помогает разрабатывать приложения на основе node.js путем автоматического перезапуска приложения node при обнаружении изменений файлов в каталоге.

npm install dotenv nodemon

Добавляем скрипт запуска в package.json

"scripts": {     "start": "nodemon index" }

Из документации telegraf.js, копируем в наш проект первоначальную настройку бота.

const { Telegraf } = require('telegraf') require('dotenv').config()  const bot = new Telegraf(process.env.BOT_TOKEN) //сюда помещается токен, который дал botFather  bot.start((ctx) => ctx.reply('Welcome')) //ответ бота на команду /start bot.help((ctx) => ctx.reply('Send me a sticker')) //ответ бота на команду /help bot.on('sticker', (ctx) => ctx.reply('')) //bot.on это обработчик введенного юзером сообщения, в данном случае он отслеживает стикер, можно использовать обработчик текста или голосового сообщения bot.hears('hi', (ctx) => ctx.reply('Hey there')) // bot.hears это обработчик конкретного текста, данном случае это - "hi" bot.launch() // запуск бота

Создаем файл .env куда в переменную BOT_TOKEN кладем токен, который ранее нам выдал @BotFather

BOT_TOKEN='сюда'

Запускаем бот командой

npm run start

Проверяем работу бота

Получаем PROVIDER_TOKEN от @SberbankPaymentBot

Для получения PROVIDER_TOKEN вам необходимо получить merchantLogin в Сбербанк. Для этого необходимо подключить услугу интерент-эквайринг.

После того как вы его получили переходим в @BotFather и вызываем команду /mybots, где выбираем вашего бота.

Далее Payments

Где выбираем Сбербанк

Выбираем Connect Сбербанк Live

После этого вас перекинет на @SberbankPaymentBot, где нужно ввести ваш merchantLogin, который необходимо вводить без всяких префиксов -api или -operator. Например так: P71XXXXXXX21.

После @BotFather выдаст вам токен, который нужно вставить в переменную PROVIDER_TOKEN файла .env

PROVIDER_TOKEN='41018XXXX:LIVE:XXXXXXXXXXXXXXXXXXXXXXXXXXXXX'

Подключаем оплату в приложении

Пишем в index.js следующий код:

const { Telegraf } = require('telegraf') require('dotenv').config()  const bot = new Telegraf(process.env.BOT_TOKEN) //сюда помещается токен, который дал botFather  const getInvoice = (id) => {   const invoice = {     chat_id: id, // Уникальный идентификатор целевого чата или имя пользователя целевого канала     provider_token: process.env.PROVIDER_TOKEN, // токен выданный через бот @SberbankPaymentBot      start_parameter: 'get_access', //Уникальный параметр глубинных ссылок. Если оставить поле пустым, переадресованные копии отправленного сообщения будут иметь кнопку «Оплатить», позволяющую нескольким пользователям производить оплату непосредственно из пересылаемого сообщения, используя один и тот же счет. Если не пусто, перенаправленные копии отправленного сообщения будут иметь кнопку URL с глубокой ссылкой на бота (вместо кнопки оплаты) со значением, используемым в качестве начального параметра.     title: 'InvoiceTitle', // Название продукта, 1-32 символа     description: 'InvoiceDescription', // Описание продукта, 1-255 знаков     currency: 'RUB', // Трехбуквенный код валюты ISO 4217     prices: [{ label: 'Invoice Title', amount: 100 * 100 }], // Разбивка цен, сериализованный список компонентов в формате JSON 100 копеек * 100 = 100 рублей     photo_url: 'https://s3.eu-central-1.wasabisys.com/ghashtag/JavaScriptBot/Unlock.png', // URL фотографии товара для счета-фактуры. Это может быть фотография товара или рекламное изображение услуги. Людям больше нравится, когда они видят, за что платят.     photo_width: 500, // Ширина фото     photo_height: 281, // Длина фото     payload: { // Полезные данные счета-фактуры, определенные ботом, 1–128 байт. Это не будет отображаться пользователю, используйте его для своих внутренних процессов.       unique_id: `${id}_${Number(new Date())}`,       provider_token: process.env.PROVIDER_TOKEN      }   }    return invoice }  bot.use(Telegraf.log())  bot.hears('pay', (ctx) => { . // это обработчик конкретного текста, данном случае это - "pay"   return ctx.replyWithInvoice(getInvoice(ctx.from.id)) //  метод replyWithInvoice для выставления счета   })  bot.on('pre_checkout_query', (ctx) => ctx.answerPreCheckoutQuery(true)) // ответ на предварительный запрос по оплате  bot.on('successful_payment', async (ctx, next) => { // ответ в случае положительной оплаты   await ctx.reply('SuccessfulPayment') })  bot.launch()

Метод Telegraf replyWithInvoice это метод telegram.sendInvoice.

Используйте этот метод для отправки счетов. В случае успеха отправленное сообщение возвращается.

Запускаем бот командой yarn start и проверяем проходит ли оплата.

Отправляем боту текст pay и получаем в ответ счет на оплату.

Проверить как работает оплата можно в наших телеграм ботах JavaScript Bot — это бот с тестовыми вопросами по нашим курсам JavaScript, React Native, TypeScript.

Так выглядит счет:

Также проверить платежи можно в боте по изучению английских слов по эмодзи Englishmoji

Проблемы или вопросы?

Задавайте их в телеграм сообществе Боты на Telegraf

Подписывайтесь на наши новости и социальные сети.

Только зарегистрированные пользователи могут участвовать в опросе. Войдите, пожалуйста. Помогла ли вам эта статья подключить оплату к боту? 23.08% Нет 6 76.92% Да 20 Проголосовали 26 пользователей. Воздержались 17 пользователей.

Обновление Telegram v.4.0 включает в себя две другие основные функции в дополнение к платежам. Не пропустите новый сервис видео сообщений — телескоп и Instant View Platform !

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

Для того, чтобы создать этот мир, сегодня мы запускаем Bot платежи. Теперь боты могут принимать платежи от своих пользователей по всему миру:

Если у вас установлена Телеграмм 4.0 (или более поздняя версия), то вы можете заказать товары или услуги от ботов и тут же оплатить их  если бот предоставил кнопку оплаты. При нажатии кнопки оплаты, вам будет предложено заполнить данные вашей кредитной карты и подтвердить платеж. Вуаля! И всё это не выходя из любимого мессенджера!

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

Оплатить прямо сейчас

Попробуйте наш демо @ShopBot, чтобы получить пример счёта на оплату (этот демо —  продает машины времени, которые не существуют) . Если вы хотите, проверить реальный процесс оплаты с реальными деньгами,  то попробуйте нашего @TelegramDonate бота.

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

В настоящее время большинство платежей обрабатывается системой stripe.com, но Bot Pay — это платформа для оплаты поставщиков услуг по всему миру, поэтому  при приеме платежа от пользователя, разработчик бота может предоставить ему выбор между всеми доступными платежными системами (например выбрав один уже используемый покупателем метод оплаты или с наименьшей комиссией)

Stripe — это только начало. В ближайшие дни, бот-платежи будут доступны для разработчиков в Индии через RazorPay, в Нигерии, Кении, Ганы, Южной Африки и Уганды через FlutterWave, и в более чем 190 других странах через Paymentwall.

Наберитесь терпения, так как вскоре Yandex.Money и Qiwi также будут доступны для оплаты из России и Payme из Узбекистана будут подключены чуть позже. Следите за обновлениями нашего канала @Tblog, чтобы первыми узнать о подключении новых способов оплаты.

Если вы являетесь платежной системой или поставщиком оплаты (особенно в развивающихся странах), то нажмите здесь, чтобы узнать, как попасть на борт Telegram Payments.

Как происходит оплата в Телеграм

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

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

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

  • … один из наших прекрасных пользователей, то вскоре ты увидишь, какие чудо боты появятся на свет благодаря нашим разработчикам, используя эту новую платформу. В то же время, уже сейчас Вы можете попробовать демо @ShopBot, чтобы получить представление о том, что будет происходить при оплате или попробуйте потратить реальные деньги через @TelegramDonate.
  • … разработчик бота, ознакомьтесь с Введением в платежи и PAYMENT API , чтобы увидеть то, что вы можете создать на этой платформе.
  • … провайдер платежей, то узнайте, как попасть на борт Телеграм.

Вас по какой-то странной причине не оказалось в списке указанном выше ? Не расстраивайтесь, присоединяйтесь к Телеграм сейчас!

Удачных покупок всем, и до скорых обновлений!

Categories:

Новости

Tags:

Важно: эта возможность доступна, начиная с тарифа Стартап. 

Telegram Payments – бесплатная и открытая платформа, которая позволяет принимать платежи от пользователей Telegram прямо в мессенджере. Она подключается к магазину в 2 этапа: в Telegram и в панели управления Botobot. 

Как подключить Telegram Payments в мессенджере

1. Напишите боту @BotFather в Telegram. 

2. Выберите команду /mybots и бота, к которому хотите подключить платформу. 

3. Кликните на команду Payments. 

4. В ответ @BotFather выдаст список платежных методов, доступных для подключения.

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

5. Выберите платежный метод. При нажатии на него Telegram перенаправит вас в его бот – вам останется включить прием платежей по его командам.

Вот, как это выглядит на примере тестового бота ЮKassa

6. После этого вернитесь в @BotFather, выберите своего бота и кликните на Payments: он пришлет вам тот же список платежных методов, но с платежными токенами методов, которые вы уже подключили.

Так будет выглядеть сообщение, если вы подключили тестовый платежный метод ЮKassa

Каждый вариант из списка предлагает подключить тестовый и боевой метод. Первый нужен только для того, чтобы протестировать процесс без реальной оплаты с помощью тестовой карты, например, 4242 4242 4242 4242. Пользоваться им есть смысл, если вы подключаете Telegram Payments впервые – чтобы разобраться в процессе. В других случаях можно сразу же подключать боевые платежные методы, не сомневаясь в их безопасности и работоспособности –  в Botobot уже все проверили. 

Как подключить Telegram Payments на платформе Botobot

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

1. Откройте панель управления и зайдите в Платежи > Настройки. 

2. Нажмите Подключить и выберите из выпадающего списка Telegram.

3. Введите платежный токен, полученный в @BotFather, и нажмите Сохранить.

4. Готово! Telegram Payments появилась в списке подключенных платежных систем. 

Все подключенные платежные системы отображаются в разделе Платежи

Вопрос задан 1 год 1 месяц назад Изменён 1 год 1 месяц назад Просмотрен 3k раз

Необходимо реализовать оплату в телеграмм боте, что для этого необходимо и какая платёжная система или сервис приёма платежей подойдёт без открытия ООО/ИП.

Улучшить вопрос 4

1 ответ 1

Сброс на вариант по умолчанию 4

В Telegram имеется встроенный метод платежей.

Платёжные боты существуют в Telegram с 2017 года. С их помощью можно безопасно оплачивать товары и услуги вроде доставки пиццы, не покидая приложения.

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

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

Испытать возможности на бесплатных тестовых товарах и услугах можно в этом канале.

На данный момент Telegram поддерживает платежи из более чем 200 стран через следующие платежные системы:

  • Stripe
  • YooMoney (ЮSelf – бесплатный сервис для самозанятых)
  • Sberbank
  • Tranzzo
  • Payme
  • CLICK
  • LiqPay
  • ECOMMPAY
  • PayMaster

Для подключения оплаты:

  1. у @BotFather выберите своего бота
  2. Перейдите в раздел Payments
  3. Выберите платёжного провайдера
  4. Для разработки и отладки выберите Connect *** TEST
  5. Для “боевой” среды выберите Connetct *** LIVE

Улучшить ответ

Всё ещё ищете ответ? Посмотрите другие вопросы с метками или задайте свой вопрос.

lang-py

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

Именно такую кнопку мы обавили в Telegram в этом обновлении: теперь вы можете как покупать любой товар или услугу в один клик, так и продавать что угодно при помощи ботов. Вот, как это выглядит:

При первой покупке вам потребуется указать данные своей карты (да, один раз повозиться с этим всё же придётся) и адрес для доставки. Если ваш аккаунт защищён с помощью двухэтапной авторизации, то вы сможете сохранить всю эту информацию для будущих покупок. Ну и, само собой, вы можете оплатить товар с помощью Apple Pay или Android Pay.

Кто же будет обрабатывать платежи? Ответ прост: любой банк или сервис, который захочет. В частности, в России обработкой платежей будут заниматься Яндекс.Деньги и QIWI, а в Узбекистане — Payme.

Если к системе решат подключиться другие сервисы, мы напишем об этом на специальном канале @BotNewsRu.

Во всей этой системе Telegram выступает в роли посредника между пользователем, разработчиком бота и платёжной системой, которую этот бот использует. Все платёжные данные, которые вы вводите, отправляются напрямую в платёжную систему. Дальше, если система увидела ваш платёж и ;даёт добро, ваши контактные данные (адрес для доставки) отправляется боту, чтобы он ;мог завершить оформление заказа.

У такой системы есть как преимущества, так и недостатки.

Из плюсов: ваши данные будут находиться в безопасности, поскольку Telegram не хранит и не обрабатывает их.

Из минусов: Telegram не сможет обрабатывать жалобы и возвраты средств. Все эти проблемы вам придётся решать самостоятельно: с владельцем бота, платёжной системой или вашим банком.

Однако, Telegram будет контролировать ситуацию в целом и будет блокировать ботов, которые занимаются мошенничеством, вымогательством или прочими нехорошими вещами.

Что делать, если я…

  • …обычный пользователь: просто ждите, пока разработчики ботов напишут что-нибудь интересное. А пока можете поиграть с демо-ботом, который продаёт несуществующие вещи: @ShopBot.
  • …разработчик ботов: как обычно, читайте документацию и делайте ботов.
  • …платёжный сервис: подключайтесь к нашему API.

Удачного шоппинга!

Оцените статью
Рейтинг автора
4,8
Материал подготовил
Егор Новиков
Наш эксперт
Написано статей
127
А как считаете Вы?
Напишите в комментариях, что вы думаете – согласны
ли со статьей или есть что добавить?
Добавить комментарий