2012-10-22 144 views
0

我正在尝试开发一个商店cms的支付模块。 付款基于银行收购。

因此,首先为每个订单在银行方面创建(带卷曲)“票”。 Ater客户端在银行服务器上的付款页面上以其票证ID被转发。如果客户付款并按下按钮“回去存储”,一切都很好。
但是,如果客户支付并不按下这个按钮,我需要检查结果(如果他支付或不支付)。它也是由卷曲制成的。我通过ticket id请求info,并接收一个数组,其中包含我需要检查的结果代码。

所以我需要自动检查它(例如1小时内每5分钟一次)。 克朗不能帮助我因为它是所有动态过程。

我创建了一个返回结果的函数。但是,我怎么能在任何时间间隔后台启动它?

在nginx的后台运行php脚本

+0

是否有可能为银行给你付款通知? PayPal就是这么做的,所以你不必连续轮询它们。 –

+0

@Jack是的,这是最好的方法。但目前银行只能以这种方式工作。 – Sergey

回答

2

使用cron。 PHP不提供任何类似调度器的东西,因为它超出了语言的范围。您可以使用DB来存储整个过程所需的一些参数。

0

我会扩展一点点WebnetMobile答案使用cron为你想要的。

可能你在你的数据库里有一个表格,你存储的是你从银行得到的门票,以及他们在何时取得或没有取得门票创建日期。

然后,如果你想要的是检查从银行票据建立日期,每五分钟whetever它suceed与否,如果不清楚,你应该运行一个cron 每分钟将做到以下几点:

  1. 检查是否有没有定义状态的银行票证(Suceed或Failed)。
  2. 检查是否创建时间(没有秒)减去当前时间(没有秒)MOD 5 == 0.
  3. 如果为true,表示另一个5分钟时间已经从该票创建过去,应该检查,否则什么也不做。

我认为这会做你想要什么