苹果是否为网络支持 iframe 付费?

nab*_*hha 6 stripe-payments applepay

当按钮位于顶级文档时,我有苹果支付网络工作。不幸的是,当在 iframe 中打开时,它会抛出以下错误:

Trying to call an ApplePaySession API from a document with an different security origin than its top-level frame.
Run Code Online (Sandbox Code Playgroud)

Mar*_*llo 4

ApplePaySession对象被创建为与与请求相关联的特定域相关联。进行商家验证时,您收到的商家会话会与您在验证商家会话时发布的域关联的 URL 相关联。如果顶级框架的域与与您的商家会话关联的域不匹配,则请求将失败,就像您所发生的情况一样。

我想这是为了防止恶意脚本注入帧,当商家会话实际上与恶意脚本关联时,恶意脚本试图诱骗用户为与顶级域关联的商品和服务付款。

可以通过让框架中的代码根据与您要放置框架的页面关联的域验证商家会话来使事情正常进行,但这不是我尝试过的场景。

更新于 12/01/2017

正如本文下面的评论中提到的,不支持将 Apple Pay 与框架一起使用。

  • 没有。Safari 将检查点击事件的来源,并且仅适用于顶级框架。我尝试了几种不同的方法,但 iframe(即使使用 HTTPS)不起作用。 (3认同)