如何在继续使用PHP之前等待回调
我正在开发一个使用银行API的在线支付解决方案 当用户在银行网站上输入其信用卡号时(因此我不必处理PCI合规问题),API会回调到我的一个页面,发送交易响应(批准、时间、金额等),然后调用我的“返回URL”将客户带回我的网站,但是除了确认号码之外没有任何信息 我在“返回URL”上显示了一些信息,这些信息由API传输到回调。因此,我决定将回调的数据存储在数据库中,以便稍后在“返回URL”中检索它如何在继续使用PHP之前等待回调,php,api,callback,Php,Api,Callback,我正在开发一个使用银行API的在线支付解决方案 当用户在银行网站上输入其信用卡号时(因此我不必处理PCI合规问题),API会回调到我的一个页面,发送交易响应(批准、时间、金额等),然后调用我的“返回URL”将客户带回我的网站,但是除了确认号码之外没有任何信息 我在“返回URL”上显示了一些信息,这些信息由API传输到回调。因此,我决定将回调的数据存储在数据库中,以便稍后在“返回URL”中检索它 我如何才能在我的“返回URL”上确定回调已完成其操作,并且我可以开始从数据库检索数据?通常,您总是在r
我如何才能在我的“返回URL”上确定回调已完成其操作,并且我可以开始从数据库检索数据?通常,您总是在reutrn URL上显示Successs to customer,但不提供任何下载。 产品下载信息或确认电子邮件将从回调url触发
因为仍然无法等待api回调,所以您只能等待回调,然后处理订单。不知道api很难说,但您必须能够与banks api一起检查确认号,以检查它是否为“真实”确认号
在“返回URL”上执行此检查,然后将收到的信息与最初回拨时存储在数据库中的信息进行匹配。如果信息不匹配或不在你的数据库中,抛出一个“等待/处理”.gif并每隔10秒重试一次,直到你收到一个结果,否则处理一个超时。你有理由怀疑银行可能在完成交易之前重定向到你的站点吗?@lvaroG.Vicario:因为我正在处理一些数据库工作回拨,我不想冒险在一切都完成之前到达我的网站。我认为服务器延迟可能会导致问题。除非检查数据,否则您无法确定。=/因此,只需在数据库中创建一个“done”字段,并确保回调的最后一个操作正在更新该字段。当你在返回页面上检查它的值时,你可以决定这个过程是否完成。好吧,这就是我目前正在做的,我想知道是否存在一个“更干净”的解决方案。谢谢!但有时,信用卡和paypal分别需要数小时和数天的时间。