1
我正在从事电子商务网站。该网站应与付款处理器集成。我有以下的订单表。电子商务网站设计
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将 '未决'。用户被重定向到付款处理器。如果付款被授权,payment_status应被更新为'付款'。如果交易丢失(或)未授权的payment_status应更新为 '丢失'。我想给用户30分钟付费。如果他在30分钟内未付款,payment_status将被更新为丢失,并且订购的物品将被卡入并可供其他人预订。
那么,这是如何实现的?如何在30分钟后运行脚本以更新订单(或)我应该每隔5分钟使用一次cron-job检查丢失的交易?
我可能使用事件schedular http://dev.mysql.com/doc/refman/5.1/en/events-overview.html – 2012-08-02 01:45:00
为什么没有从支付处理器决定结果?通常情况下,订单将保留为待处理状态,您可以运行cron并检查“停滞”订单。否则,付款处理器应提供状态更新。 – Jakub 2012-08-02 01:45:09
@RPM我们可以在事件调度程序中使用事务吗? – ravi 2012-08-02 05:00:15