我目前正在做一个电子商务项目,我需要一些关于我的付款页面的帮助。在结帐页面,我得到了用户的支付信息,它只是一个 GSM 号码,我将其发布到支付系统服务,该服务返回一个同步响应。响应可以是“OK”、“NOT OK”、“AWAIT”和“TIMEOUT”。OK 表示支付成功,NOT OK 表示支付不成功,当然“TIMEOUT”表示支付操作超时。
棘手的部分是“等待”。该服务的超时时间为 4 分钟。这 4 分钟用于用户通过他/她的手机完成他/她的付款。支付系统以这样不同的方式工作,当我开始支付过程时,服务立即返回“等待”并向用户的智能手机发送通知。此通知启动,我们称其为自定义钱包,自定义钱包应用程序。然后,用户选择他/她在此自定义钱包系统中预定义的支付卡并确认支付。用户有 4 分钟的超时时间。在这 4 分钟内,他/她要么完成付款,要么操作超时。我的问题是,这个支付服务是一个同步操作。所以,我必须每 5 秒调用一次,持续 4 分钟,直到我得到除“AWAIT”之外的响应。到这个时候,我必须向页面返回一个同步响应,指示支付过程已经开始并等待用户确认,并启动一个异步操作,检查这个自定义钱包服务 4 分钟并获得响应。然后我需要将此异步响应发布到网页。
我正在寻找一种解决此问题的方法,以避免可能出现的并发或同步等问题。我也希望有一些示例代码。谢谢...