0

我正在尝试为一家商店 cms 开发一个支付模块。付款是基于在银行获得的。

因此,首先为每个订单在银行侧创建(使用 curl)一张“票”。在银行服务器上的付款页面上,该客户端以其票证 ID 被转发。如果客户付款并按下“返回商店”按钮,一切都很好。
但是,如果客户付款并且不按此按钮,我需要检查结果(他是否付款)。它也是由 curl 制作的。我正在通过票证 ID 请求信息并接收一个包含我需要的参数的数组,其中我需要检查结果代码。

所以我需要自动检查它(例如,一个小时内每 5 分钟 1 次)。Cron 帮不了我,因为它都是动态进程。

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

4

2 回答 2

2

使用 cron。PHP 不提供调度程序之类的功能,因为它超出了该语言的范围。您可以使用 DB 来存储整个过程所需的一些参数。

于 2012-10-22T09:14:20.703 回答
0

我将扩展一点 WebnetMobile 关于使用 cron 来满足您的需求的答案。

很可能您的数据库中有一张表,您可以在其中存储从银行获得的票证,以及无论何时成功或失败,以及票证的创建日期。

然后,如果您想要从银行票据创建日期起每五分钟检查一次,无论它是否成功(如果未知),您应该每分钟运行一个 cron来执行以下操作:

  1. 检查是否存在未定义状态(成功或失败)的银行票据。
  2. 检查是否创建的时间(不带秒)减去当前时间(不带秒)MOD 5 == 0。
  3. 如果为真,则表示从创建工单开始又过了 5 分钟,应该检查,否则什么也不做。

我认为这会做你想要的

于 2012-10-22T18:13:31.247 回答