Iphone 中的 Stripe 3d 安全身份验证流程重定向失败

问题描述 投票:0回答:1

与 Stripe 合作,我实现了他们的 3D 安全身份验证流程 -

https://docs.stripe.com/ payments/3d-secure/authentication-flow#handle-redirect

我遇到的问题特别是在 iPhone 上完成 3d 安全 iframe 后处理重定向,文档提到使用 iframe 中的

window.top.postMessage
来提醒父级 iframe 已完成,代码示例 -

家长-

  window.addEventListener('message', function(ev) {
    if (ev.data === '3DS-authentication-complete') {
      on3DSComplete();
    }
  }, false);

iframe -

window.top.postMessage('3DS-authentication-complete');

总体而言,该解决方案有效,但似乎在过去的几天里,我们的许多 iPhone 客户都在中途崩溃了,在调试问题时,我们发现消息事件侦听器在我们手动触发的事件之前接收到了大约 90k 个事件上面的代码示例。 如此大量的请求会导致浏览器失败并有时刷新页面。 与 Android/Desktop 相比,在我们之前只有大约 2-3 个事件。

我不确定过去几天 iPhone 是什么原因导致触发大量消息事件,我们尝试重构它以使用 customevents/hashchange,但这些解决方案都不适用于跨域请求(如 iframe与父代不是同源)。

还有其他人遇到过这个问题吗?有什么解决方法吗?

谢谢

javascript iframe stripe-payments cross-domain 3d-secure
1个回答
0
投票

您是否收到了 90k 个相同的“3DS 验证完成”事件?这听起来确实是一个奇怪的问题,但我从未遇到过。我建议您联系Stripe 支持,并提供详细的复制步骤。

© www.soinside.com 2019 - 2024. All rights reserved.