Сразу отмечу, что одна из проблем в использовании ненативного подхода - это то, что ссылка в кнопке может просрочиться, нажав на нее пользователь перейдет на уже неактуальную платежную форму. Автоматизировать обновление ссылки, не создавая большого количества архитектурных проблем, нам не удалось, поэтому мы решили просто добавить в сообщение, что если ссылка стала неактивной, то необходимо вернуться назад и выбрать тариф заново, тогда бот сгенерирует новую ссылку на оплату.
Здравствуйте!
Спасибо, что поделились своим клиентским опытом. Отдельная благодарность за фидбэк - только так мы становимся лучше. Все проанализируем.
Рады помочь 😊
Интересная статья, спасибо
В тинькофф же есть специальная настраиваемая ссылка, куда от банка могут приходить POST запросы на каждое изменение статуса платежа. Единственное нужен доменный адрес
И там можно ловить изменение всех статусов, всех платежей
Асинхронный воркер это в целом решение, но выглядит немного костыльно :)))
Тоже недавно в чат-бота прикручивал тинькофф оплату
Я именно так и сделал. Получаю данные о платежах непосредственно от банка без воркеров.
Почему бы не запоминать ID Сообщения в бд вместе с платежной инфой и после того как ваш воркер прекращает дергать GetState (то есть вы точно знаете этот момент ), вы можете редактировать сообщения и ссылку от туда убирать
Думали над таким решением, но оно создает ряд проблем:
1. Таким образом мы тратим rate limit телеграма, который хотелось бы использовать максимально эффективно, особенно проблемно будет, когда количество пользователей увеличится
2. Возникают разные краевые случаи, если сообщение было удалено пользователем, то мы не сможем его обновить, это просто один из кейсов, который придется учитывать в коде, думаю потенциальных корнер кейсов будет больше
3. В целом энтропия проекта растет, придется написать еще один воркер, который будет заниматься апдейтом сообщений в телеграме
Исходя из всего этого, мы решили просто добавить сообщение в кнопку :)
А как вы дебажите бота? Поднимали свой тестовый сервак телеги?