Если возможно, отделите платежные транзакции от состояния магазина; Вы не должны откатывать весь магазин из-за неоплаты, только транзакция / заказ. Кроме того, временная блокировка - не лучший способ сделать такие вещи, как реальные события, скорость интернет-соединения и общие отвлекающие факторы, которые создают риск возникновения ситуаций, когда платеж покупателя отменяется по ошибке. Если они нетерпеливы, вы можете потерять продажу ...
Однако без дополнительной информации о рассматриваемой системе трудно предложить альтернативу, поэтому я бы сказал, что используйте задание cron для удаления любых транзакций старше 10 минут, для которых не было установлено значение ПРИНЯТО.