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 将是“ pending ”。用户被重定向到支付处理器。如果支付被授权,payment_status 应更新为“已支付”。如果交易丢失(或)未经授权的支付状态应更新为“丢失”。我想给用户 30 分钟付款。如果他未能在 30 分钟内付款,payment_status 将被更新为丢失,并且订购的物品将被取消并可供其他人预订。

那么,如何实现呢?如何在 30 分钟后运行脚本以将订单更新为丢失(或)我应该每 5 分钟使用一次 cron-job 检查丢失的交易?

4

1 回答 1

0

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

UPD:糟糕,没有注意到 php 标签。作为变体,在按状态选择付款之前更新付款状态

于 2012-08-02T01:51:24.800 回答