Оплата счетов через Telegram

11.08.21

Интеграция - Мессенджеры и боты

Изучаем методы API для работы с платежами через Telegram. Встроенная функция оплаты счетов в Телеграм.

Скачать файл

ВНИМАНИЕ: Файлы из Базы знаний - это исходный код разработки. Это примеры решения задач, шаблоны, заготовки, "строительные материалы" для учетной системы. Файлы ориентированы на специалистов 1С, которые могут разобраться в коде и оптимизировать программу для запуска в базе данных. Гарантии работоспособности нет. Возврата нет. Технической поддержки нет.

Наименование По подписке [?] Купить один файл
Оплата счетов через Telegram:
.epf 12,20Kb ver:0.1
14
14 Скачать (1 SM) Купить за 1 850 руб.

Как ни странно, но почему-то на Инфостарте нет описания очень полезной функции Телеграм - оплаты счетов из приложения. Эта возможность появилась в апреле 2021 года, описание https://core.telegram.org/bots/payments#introducing-payments-2-0

За основу для изучения API рекомендую взять бесплатную внешнюю обработку из статьи //infostart.ru/public/1479683/ 

1. Настроим бота для работы с платежами. Открываем в Telegram бота @BotFather, отправляем ему команду /mybots, выбираем своего бота, выбираем в меню пункт "Payments".

 

 

2. Среди предложенных вариантов рассмотрим тестовые платежи через "ЮKassa", выбираем соответствующий пункт "Connect ЮKassa: тест" и переходим к другому боту @YooKassaTestBot. С ним все просто: выполняем команду "/start", дальше бот попросит отправить два идентификатора "shopId" и "shopArticleId", отправляем их ему.

У вашего бота должен появиться токен для оплаты. Посмотреть его можно через @BotFather - "Payments", на скриншоте видно в самом верху сообщения "method connected: - ЮKassa: тест: 382764670:TEST:28305 2021-08-10 19:20".

3. Настройки закончены, переходим в конфигуратор 1С. Чтобы отправить счет на оплату, достаточно вызывать POST метод https://core.telegram.org/bots/api#sendinvoice:

prices = Новый Массив;

Для каждого ТекСтр Из Объект.Счет.Товары Цикл
	Стр = Новый Структура;
	Стр.Вставить("label",  ТекСтр.Номенклатура.Наименование);
	Стр.Вставить("amount", ТекСтр.Сумма*100);

	prices.Добавить(Стр);	
КонецЦикла;

СтруктураЗапроса = Новый Структура;          
СтруктураЗапроса.Вставить("chat_id",        Объект.channel);
СтруктураЗапроса.Вставить("title",          "Заголовок счета"); 
СтруктураЗапроса.Вставить("description",    "Описание");
СтруктураЗапроса.Вставить("payload",        Строка(Объект.Счет.УникальныйИдентификатор()));
СтруктураЗапроса.Вставить("provider_token", Объект.provider_token);
СтруктураЗапроса.Вставить("currency",       "RUB");
СтруктураЗапроса.Вставить("prices",         prices);

ТекстЗапроса = СтруктураВJSON(СтруктураЗапроса);

Ресурс = "bot" + Объект.token + "/sendInvoice";

Рез = TelegramОтправитьЗапрос(Ресурс, "POST", ТекстЗапроса);

Важный нюанс: при формировании поля prices сумму указываем в копейках, чтобы не было дробных значений (то же самое для других валют https://core.telegram.org/bots/api#labeledprice).

4. Если все параметры заполнили верно, то получателю придет сообщение:

 

 

5. Нажимаем "Заплатить" и открывшемся окне видим состав счета и возможность выбрать карту для оплаты:

 

 

Для тестового платежа ЮKassa предоставляет карту: 1111 1111 1111 1026, срок 12/22, CVC 000. Эти реквизиты можно увидеть в сообщениях от бота @YooKassaTestBot, может быть у Вас они будут другие. Нажимаем "Заплатить".

 

 

6. Далее нашему боту необходимо в течение 10 секунд подтвердить оплату (например, проверить остатки на складе, зарезервировать товар и т.д.). Для этого он должен получить уведомления от сервера Telegram и отправить в ответ подтверждение.

Уведомления получаем методом getUpdates ищем записи с типом "pre_checkout_query". Подтверждение отправляем методом answerPreCheckoutQuery. В обработке это реализовано через команду "Подтвердить оплату".

 

 

7. В Телеграме будет получено сообщение, что счет успешно оплачен. А метод getUpdates вернет новое уведомление с типом SuccessfulPayment. Его можно обработать, чтобы, например, чтобы изменить в 1С статус счета на "оплачен".

 

Обработка проверялась на Бухгалтерия предприятия КОРП, редакция 3.0 (3.0.94.17), можно адаптировать под любую другую конфигурацию.

Телеграм Telegram Бот Оплата ЮKassa Платежи Payments

См. также

Мессенджеры и боты Платформа 1С v8.3 1С:ERP Управление предприятием 2 1С:Бухгалтерия 3.0 1С:Управление торговлей 11 1С:Комплексная автоматизация 2.х 1С:Управление нашей фирмой 3.0 1С:Розница 3.0 Платные (руб)

Интеграция мессенджера WhatsApp и 1С: УНФ, УТ, КА, ERP - отправка и получение сообщений, картинок, файлов и видео прямо в 1С. Расширение работает с сервисом GreenApi.

15600 руб.

23.06.2023    9483    58    12    

34

Мобильная разработка Мессенджеры и боты Платформа 1С v8.3 1С:Конвертация данных Платные (руб)

Теперь создать telegram-бота - элементарно. Достаточно просто нарисовать блок-схему телеграм-бота, и он сразу заработает. Это возможно при использовании Графического конструктора телеграм-ботов. Это единственный конструктор ботов для telegram, чье качество и функционал подтверждены фирмой 1С, есть сертификат 1С:Совместимо. Расширение в интерактивном режиме, с помощью блок-схем, позволяет с минимальными трудозатратами создать телеграм-ботов в любой конфигурации, работающей на платформе «1С:Предприятие 8.3».

13200 руб.

27.12.2021    38198    108    161    

201

SALE! 25%

Мессенджеры и боты Системный администратор Программист Бизнес-аналитик Пользователь Руководитель проекта Платформа 1С v8.3 Платные (руб)

Развитие популярного решения для интеграции мессенджера Telegram с нашей любимой 1С - конструктор чат-ботов в Телеграм.

15000 11250 руб.

18.06.2021    65564    312    272    

369

Документооборот и делопроизводство (СЭД) Мессенджеры и боты Учет документов Платформа 1С v8.3 1С:Управление нашей фирмой 1.6 1С:Бухгалтерия государственного учреждения 1С:ERP Управление предприятием 2 1С:Бухгалтерия 3.0 Платные (руб)

Расширение для согласования справочников и документов в основных типовых конфигурациях. Ролевая адресация, условная маршрутизация, чат-бот telegram, интеграция с n8n, последовательное и параллельное согласование, уведомление о новых задачах на почту, блокировка объектов в зависимости от статуса, запрет проведения в зависимости от статуса, автозапуск процессов согласования, отчеты по исполнительской дисциплине. Не требуется снятие конфигурации с поддержки. Настройка без программирования. Версия для 1cfresh.com. Сертификат 1С-Совместимо.

14900 руб.

15.11.2018    30270    35    49    

71

Мессенджеры и боты Пользователь Платформа 1С v8.3 1С:Управление нашей фирмой 1.6 1С:Управление торговлей 11 Управленческий учет Платные (руб)

Данное расширение представляет собой интерфейс взаимодействия 1С с сервисом Wazzup. Данный сервис позволяет вести беседу с использованием номера телефона, привязанного к Whatsapp. Почитать о сервисе и его условиях использования можно по ссылке https://wazzup24.com/. На данный момент расширение поддерживает почти все доступные через API функции. Обновление от 19.05.2023, версия 2.1!

14400 руб.

30.11.2020    13594    8    13    

15

Мессенджеры и боты SMS рассылки Платформа 1С v8.3 1С:Управление нашей фирмой 3.0 Россия Платные (руб)

Решение реализовано в виде расширения. Заменяет отправку смс на отправку в WhatsApp через Green-api. Отправка чека картинкой.

7800 руб.

15.05.2024    1544    3    6    

6
Комментарии
Подписаться на ответы Инфостарт бот Сортировка: Древо развёрнутое
Свернуть все
1. alexey_kurdyukov 165 11.08.21 10:29 Сейчас в теме
А эта функциональность уже где-то для чего-то используется? Что-то пока не понимаю, как с этим работать
2. elcoan 1044 11.08.21 11:46 Сейчас в теме
(1) Например, как дополнительный канал для продажи вашего товара. Полученный счет можно "расшарить" - отправить друзьям, знакомым, выложить в группе.
dnikolaev; +1 Ответить
12. support_mbk 02.12.22 09:26 Сейчас в теме
(2)Автор, прошу подтвердить что у вас работает сейчас answerPreCheckoutQuery. В обработке это реализовано через команду "Подтвердить оплату".
13. s-aleynicov 02.12.22 19:29 Сейчас в теме
(12)все работает, автор спасибо

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

https://core.telegram.org/bots/api#answerprecheckoutquery
Прикрепленные файлы:
3. Yashazz 4790 11.08.21 16:51 Сейчас в теме
Ну, если есть желание нарваться а) на ситуацию, когда вы заплатите, а деньги канули хз куда, б) вашими данными оперируют мошенники, то, наверное, можно и эту функциональность испозовать. Но имхо, лучше традиционными способами.

Кстати, не в курсе: Телеграм обратно разрешили использовать, или он запрещён в РФ?
4. elcoan 1044 11.08.21 17:08 Сейчас в теме
(3) Все данные о карточке передаются оператору и не отправляются ни боту ни в телеграм. Аналогично оплате по карте через любой сайт.
Телеграм уже разрешили использовать
5. Yashazz 4790 11.08.21 18:30 Сейчас в теме
(4)
не отправляются ни боту ни в телеграм
Блажен, кто верует)
https://www.fontanka.ru/2021/03/22/69824777/ - а что сегодня у силовиков, то завтра на развалах радиорынков и в сети.
7. retr0 12.08.21 07:24 Сейчас в теме
(5) Не статья а базар дешевой бабы, обычный инфо шум, аля "Вот я там, читал, вот я там слышал, да да ребят, телеграм точно не безопасный, зуб даю. Правда в действие ничего подобного не видел, ну ничего страшного, что ж меня обманывать кто будет". Никакой конкретики. А судя по твоему первому комментарию, видно, что ты уже динозавр как в том видео - "Ынтырнет, он нам на*** не нужон Ынтырнет ваш".
BomjBandit; +1 Ответить
8. Yashazz 4790 12.08.21 15:04 Сейчас в теме
(7) Спасибо, посмеялся) Ну, когда тебя кинут на деньги или закроют за чужие прегрешения - тогда вспомнишь, кто из нас динозавр)))
10. retr0 13.08.21 06:41 Сейчас в теме
9. webester 26 12.08.21 15:32 Сейчас в теме
(3)
Телеграм обратно разрешили использовать, или он запрещён в РФ?

Пользование телеграммом никогда не было запрещено в РФ. Доступ к нему блокировался(ну как блокировался, пытались блокировать) какое-то время, но даже в это время наши депутаты и некоторые гос органы вполне себе публично им пользовались
(5)
Блажен, кто верует)

Веруете вы в данном случае, в какую-то ахинею, желтого цвета уровня спид инфо
6. dnikolaev 179 11.08.21 21:15 Сейчас в теме
Интересно. спасибо. взял на заметку.
11. s-aleynicov 30.11.22 16:32 Сейчас в теме
Автор, прошу подтвердить, что у вас работает метод, так как реализовал все в своей разработке но именно этот метод отрабатывает правильно только при отмене оплаты, подтверждение не работает. Планирую скачать вашу обработку.

answerPreCheckoutQuery. В обработке это реализовано через команду "Подтвердить оплату".
14. zavedeev 28.12.22 11:59 Сейчас в теме
Авто добрый день, подскажите, после нажатия на Заплатить, как узнать что оплата прошла через платежную систему?
15. elcoan 1044 30.12.22 09:20 Сейчас в теме
(14) Добрый день!
7. В Телеграме будет получено сообщение, что счет успешно оплачен. А метод getUpdates вернет новое уведомление с типом SuccessfulPayment. Его можно обработать, чтобы, например, чтобы изменить в 1С статус счета на "оплачен".
16. zavedeev 07.01.23 15:58 Сейчас в теме
Добрый день, как определить факт оплаты?
17. zavedeev 07.01.23 16:28 Сейчас в теме
у вас в обработке это есть?
18. elcoan 1044 09.01.23 10:09 Сейчас в теме
(17) Да, обработка факта платежа происходит в процедуре КомандаСписокСчетовНаСервере
zavedeev; +1 Ответить
Оставьте свое сообщение