我正在使用万事达卡支付网关 API 进行托管 session :Mastercard Payment Gateway API Documentation
集成在第一次加载时按预期工作,但这已被写入单页应用程序中。当用户通过面包屑返回页面时(使用 javascript 哈希加载“页面”)。当用户返回支付“页面”时,万事达卡支付 API 应该被第二次触发,但这种情况不会发生。
文档没有说明 PaymentSession.configure({})
是否可以多次发送,但我假设这是我的问题。
我尝试“重置”PaymentSession
并重新加载 session.js
javascript,但到目前为止还无法让这个特殊情况正常工作。我想知道是否有一种方法可以“重置”configure()
或者是否有其他方法可以解决此问题?
我不想复制并粘贴我的代码,因为它是支付集成,尽管它与文档中的示例几乎逐行相同。我还想说,这个问题与我的个人代码无关,更多的是与万事达卡支付 API 的工作方式以及我的网站是单个页面而不是仅在需要时加载 session.js 的事实有关。
最佳答案
我不喜欢运算符(operator)给出答案,但我有一个解决方案:
$.getScript("<mastercard url + version + merchant id>/session.js", function() {
//PaymentSession && PaymentSession.configure();
});
每次调用单页支付哈希时,都会使用 jQuery 加载 session.js
。一旦执行了 MasterCard 支付脚本,它就会运行 PaymentSession.configure()
。
我的公司最终将放弃 MasterCard 支付 API,因此这是一个合适的解决方案,并且不会增加太多页面负载。 我仍然有兴趣了解是否可以通过其他方式重置该脚本。
关于javascript - 万事达卡支付网关 API 单页应用程序,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/41448341/