我们的应用程序是使用 ExtJs 创建的单页应用程序。对于任何用户操作,浏览器选项卡永远不会重新加载,并且所有操作都使用 ajax 执行。用户可以在同一个浏览器选项卡中打开/关闭多个 ExtJs 窗口/面板,这样一切都被限制在同一个浏览器选项卡中。
现在,我们需要在应用程序中集成支付网关,这包括将用户重定向到银行网站并将她带回我们的应用程序。
问题是,当浏览器重定向用户时,所有应用程序的 javascript 代码以及面板和窗口都会被破坏,当用户返回应用程序时,她会发现它与她离开的应用程序不同。
作为对此的解决方案,我们正在考虑使用以下两种方法:
选项 1. 维护应用程序的状态- 当用户离开银行的网站时,我们会以某种方式维护应用程序的状态 - 比如打开哪些窗口携带哪些数据,哪些变量具有哪些值等。当用户返回时,我们生成对她来说同样的应用状态。
选项 2. 有一个支付网关的浏览器弹出窗口- 我们打算提供一个按钮,该按钮将打开一个带有交易详细信息的小弹出窗口,在这个弹出窗口中,整个支付网关过程将发生在关心重定向和一切。
选项 1 被证明是非常麻烦和复杂的,因为保持准确的状态是不可行的。
对于选项 2,我们不确定这是否安全可行?
有没有人更早实施过这种方法。否则,我们可以选择的其他选择是什么?
感谢您提前提供任何帮助。