Доброго времени суток делаю бота для автопродаж и столкнулся с проблемой.Сейчас попробую как-то объяснить.Я добавляю в бота товар, допустим Яблоко, цена: 10 рублей , количество: 4 штуки.Пользователь выбрал его и ему бот отправляет форму оплаты с вариантами оплаты и тут нужно сделать чтобы после нажатия кнопки оплатить на оплату товара было 40 минут,после того как он нажал оплатить количество товара в базе меняется на 3 штуки.Если за эти 40 минут пользователь не оплатил товар то мы вернем товар в бота и станет опять 4 штуки и покупка отменяется.Как это можно реализовать возможно передавать ид юзера и ид товара и время нажатия кнопки оплатить в базу, а потом уже как-то сравнить с текущим временем. как это можно реализовать.
Формируете транзакцию с временной меткой, статусом "не оплачено" и связью на товар и количество.
При выводе количества товаров отминусовываете количество товаров, которые завязаны в транзакциях со статусом "не оплачено".
С нужной периодичностью пробегаете по транзакциям со статусом "не оплачено", и удаляете те, у которых временная метка старше 40 минут.