Warning: file_get_contents(/data/phpspider/zhask/data//catemap/1/php/283.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
如何在继续使用PHP之前等待回调_Php_Api_Callback - Fatal编程技术网

如何在继续使用PHP之前等待回调

如何在继续使用PHP之前等待回调,php,api,callback,Php,Api,Callback,我正在开发一个使用银行API的在线支付解决方案 当用户在银行网站上输入其信用卡号时(因此我不必处理PCI合规问题),API会回调到我的一个页面,发送交易响应(批准、时间、金额等),然后调用我的“返回URL”将客户带回我的网站,但是除了确认号码之外没有任何信息 我在“返回URL”上显示了一些信息,这些信息由API传输到回调。因此,我决定将回调的数据存储在数据库中,以便稍后在“返回URL”中检索它 我如何才能在我的“返回URL”上确定回调已完成其操作,并且我可以开始从数据库检索数据?通常,您总是在r

我正在开发一个使用银行API的在线支付解决方案

当用户在银行网站上输入其信用卡号时(因此我不必处理PCI合规问题),API会回调到我的一个页面,发送交易响应(批准、时间、金额等),然后调用我的“返回URL”将客户带回我的网站,但是除了确认号码之外没有任何信息

我在“返回URL”上显示了一些信息,这些信息由API传输到回调。因此,我决定将回调的数据存储在数据库中,以便稍后在“返回URL”中检索它


我如何才能在我的“返回URL”上确定回调已完成其操作,并且我可以开始从数据库检索数据?

通常,您总是在reutrn URL上显示Successs to customer,但不提供任何下载。 产品下载信息或确认电子邮件将从回调url触发


因为仍然无法等待api回调,所以您只能等待回调,然后处理订单。

不知道api很难说,但您必须能够与banks api一起检查确认号,以检查它是否为“真实”确认号


在“返回URL”上执行此检查,然后将收到的信息与最初回拨时存储在数据库中的信息进行匹配。如果信息不匹配或不在你的数据库中,抛出一个“等待/处理”.gif并每隔10秒重试一次,直到你收到一个结果,否则处理一个超时。

你有理由怀疑银行可能在完成交易之前重定向到你的站点吗?@lvaroG.Vicario:因为我正在处理一些数据库工作回拨,我不想冒险在一切都完成之前到达我的网站。我认为服务器延迟可能会导致问题。除非检查数据,否则您无法确定。=/因此,只需在数据库中创建一个“done”字段,并确保回调的最后一个操作正在更新该字段。当你在返回页面上检查它的值时,你可以决定这个过程是否完成。好吧,这就是我目前正在做的,我想知道是否存在一个“更干净”的解决方案。谢谢!但有时,信用卡和paypal分别需要数小时和数天的时间。