目前我有一个脚本可以在某人被定向到支付处理器后处理订单。
付款处理商偶尔会向我的网站发送两个(或更多)回复(通常在第一次回复的一分钟内)。
我已就此问题与付款处理商联系;他们不认为这是他们系统的一个问题,并说我的脚本应该考虑任何额外的回复,只听取最后发送的回复。
在多个响应订单上,第一个响应成功,因此在此响应进入时处理订单 如果第二个响应出现,通常大约30秒后出现错误响应,我取消订单 问题是我已经发出了一个"谢谢你的订单"从第一次回复发送给客户的电子邮件,这显然不是理想的。
有没有办法在订单处理后的几分钟内触发单独的脚本运行?即检查订单是否在原始订单后几分钟仍然有效并发送电子邮件
我在考虑一个每分钟运行一次的cron作业,但是由于脚本只需要在下订单时才需要运行,所以这肯定会有点过分了吗?
答案 0 :(得分:4)
您可以使用shell_exec("/usr/bin/php /path/to/test.php ".($orderId)." &");
开始后台作业,并在开始(sleep(180));
处延迟3分钟,然后执行代码以检查订单的状态。 $argv[2]
应包含您的orderId编号。
答案 1 :(得分:1)
答案 2 :(得分:-1)
为什么在第二次请求来自您的支付处理器后,您无法更改消息并通过电子邮件通知某人?
据我所知 - 您的处理器在发送第二个响应时已经在您的网站上调用了一些URL。所以这是你需要的触发器。如果他们没有这样的回调功能 - 您可以安装一些cron,其中将通过未完全处理的订单并检查此类订单的付款状态,并通过另一封电子邮件通知客户。