Событие в базе данных Postgresql
Задача - есть User, который покупает товар, у пользователя списываются деньги, но пользователь в течении 20 минут может отказаться, или вообще не получить услугу.
У товара есть статус который будет либо активный, либо завершенный, либо отменённый.
Как бы сделать чтобы по истечению 20 мин при отсутствии действий покупателя статус переходил в состояние закрытого и пользователю возвращались деньги на счёт?
Использую базу данных Postgresql