Пиши время в базу и крон запускай каждую минуту.
Крон смотрит время заказа 12:00 и если текущее время 12:10 а оплаты нет то убирает бронь (какое вам нужно время не известно но предположим 10 мин ожидание). Если крон запустил файл а (текущее время) - (время заказа) < 10 то ничего не делает.