Php 电子商务网站设计

Php 电子商务网站设计,php,e-commerce,Php,E Commerce,我在一个电子商务网站上工作。本网站应与支付处理器集成。我的订单如下表所示 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 下单时,付款状态将为“待定”。

我在一个电子商务网站上工作。本网站应与支付处理器集成。我的订单如下表所示

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
下单时,付款状态将为“待定”。用户被重定向到付款处理程序。如果付款获得授权,付款状态应更新为“已付款””。如果交易丢失(或)未经授权的付款,则应将状态更新为 “丢失了””。我想给用户30分钟的付款时间。如果他未能在30分钟内付款,付款状态将更新为“丢失”,订购的物品将被取消并可供他人预订


那么,这是如何实现的呢?如何在30分钟后运行脚本以将订单更新为丢失(或者)我应该每5分钟使用一次cron作业检查丢失的事务?

我应该这样做,在应用程序存储挂起的事务信息中,并在30分钟后使用计时器更新数据库+cron任务(为了可靠性)

UPD:
哦,没有注意到php标记。作为变体,在选择“按状态付款”之前更新付款状态

我可能使用事件调度程序,为什么不让付款处理程序的响应确定结果?通常,订单处于挂起状态,您可以运行cron并检查“暂停”的订单。否则,付款处理程序应提供状态更新。@RPM我们可以在事件计划程序中使用事务吗?@ravi最有可能。但我现在懒得去查。但基本上,事件调度器只是告诉mysql在特定时间执行存储过程