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

11.08.21

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

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

Скачать файл

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

Наименование SM По подписке [?] Купить один файл
Оплата счетов через Telegram:
.epf 12,20Kb
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С с чат-ботами: Telegram, Viber, WhatsApp, WhatsApp Business, Instagram, ICQ, Facebook, Vkontakte, Skype, Одноклассники, Яндекс.Алиса, Avito а так же виджеты чата для сайтов: Verbox, Jivochat. Это универсальное и эффективное решение с большими возможностями, простым интерфейсом, наличием визуального конструктора, базовыми сценариями поведения из коробки, позволяющий запустить чат-ботов в течении 1-го дня.

65000 руб.

08.10.2019    59040    35    0    

155

Мессенджеры и боты Платформа 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    7120    48    11    

26

SALE! 25%

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

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

13200 9900 руб.

27.12.2021    35711    94    161    

190

SALE! 50%

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

Расширение 1С с полным набором инструментов для качественных транзакционных, триггерных и маркетинговых рассылок Email, SMS, WhatsApp, Telegram. Даже простые уведомления об оплате счетов способны существенно упростить сбор дебиторской задолженности. Применение всех возможностей прямого маркетинга выводит коммуникацию с клиентами, уровень сервиса и лояльность на новый уровень.

600 300 руб.

07.04.2014    85128    47    193    

133

SALE! 25%

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

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

15000 11250 руб.

18.06.2021    62423    299    269    

354

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

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

14900 руб.

15.11.2018    28849    31    48    

65
Комментарии
Подписаться на ответы Инфостарт бот Сортировка: Древо развёрнутое
Свернуть все
1. alexey_kurdyukov 162 11.08.21 10:29 Сейчас в теме
А эта функциональность уже где-то для чего-то используется? Что-то пока не понимаю, как с этим работать
2. elcoan 1023 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 4762 11.08.21 16:51 Сейчас в теме
Ну, если есть желание нарваться а) на ситуацию, когда вы заплатите, а деньги канули хз куда, б) вашими данными оперируют мошенники, то, наверное, можно и эту функциональность испозовать. Но имхо, лучше традиционными способами.

Кстати, не в курсе: Телеграм обратно разрешили использовать, или он запрещён в РФ?
4. elcoan 1023 11.08.21 17:08 Сейчас в теме
(3) Все данные о карточке передаются оператору и не отправляются ни боту ни в телеграм. Аналогично оплате по карте через любой сайт.
Телеграм уже разрешили использовать
5. Yashazz 4762 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 4762 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 178 11.08.21 21:15 Сейчас в теме
Интересно. спасибо. взял на заметку.
11. s-aleynicov 30.11.22 16:32 Сейчас в теме
Автор, прошу подтвердить, что у вас работает метод, так как реализовал все в своей разработке но именно этот метод отрабатывает правильно только при отмене оплаты, подтверждение не работает. Планирую скачать вашу обработку.

answerPreCheckoutQuery. В обработке это реализовано через команду "Подтвердить оплату".
14. zavedeev 28.12.22 11:59 Сейчас в теме
Авто добрый день, подскажите, после нажатия на Заплатить, как узнать что оплата прошла через платежную систему?
15. elcoan 1023 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 1023 09.01.23 10:09 Сейчас в теме
(17) Да, обработка факта платежа происходит в процедуре КомандаСписокСчетовНаСервере
zavedeev; +1 Ответить
Оставьте свое сообщение