我正在做一个电子商务网站。本网站应与支付处理器集成。我有以下订单表。
orders(InnoDB)
-----------------------
id int PRIMARY KEY
user_account_id int
item_id int
price decimal(6,2)
payment_mode ENUM(cash,pg)
payment_status(pending,paid,lost)
order_timestamp Timestamp
下订单时, payment_status 将是“ pending ”。用户被重定向到支付处理器。如果支付被授权,payment_status 应更新为“已支付”。如果交易丢失(或)未经授权的支付状态应更新为“丢失”。我想给用户 30 分钟付款。如果他未能在 30 分钟内付款,payment_status 将被更新为丢失,并且订购的物品将被取消并可供其他人预订。
那么,如何实现呢?如何在 30 分钟后运行脚本以将订单更新为丢失(或)我应该每 5 分钟使用一次 cron-job 检查丢失的交易?