Константин, То столкнулся с такой-же проблемой. Сейчас пытаюсь решить. Вижу только варианты, где ссылки заранее прописываются, и сложно как-то делать скидку или еще что-нибудь
А можно узнать где вы делаете оплату?
Константин, вообще, для меня подошло решение через inline keyboard.
В callback дате хранить id платежа. И через кнопку "Проверить платёж", реализовать отправку запросов на проверку, с КД в несколько минут.
Так же в чём плюс, как по мне, inline keyboard. Всю необходимую информацию по платежу можно размещать не в calldata, что ограниченна длиной в вроде бы 64 символа, а прямо в сообщении (лимит вроде 4к символов), ну кроме какой-то скрытой информации, какую можно оставить в calldata. А далее считывать сам текст сообщения и обрабатывать как того требует ситуация.
во многих платёжных системах в ссылке на оплату можно сформировать ссылку куда вернуться после оплаты .. типа кнопки "вернуться в магазин" .. или бота заставлять раз в 10-20-30 сек проверять прошла ли оплата