尝试从安全性与其顶层框架不同的文档开始Apple Pay会话

问题描述

问题:

我在我的网站(https://www.example.com/order上有ApplePay,它可以正常工作并获得全额付款。

现在,我尝试将子域(src="https://www.example.com/order")中的IFrame(https://sub.example.com)与包含苹果工资并出现错误的表单进行集成

Trying to start an Apple Pay session from a document with an different security origin than its top-level frame

两个站点都使用Https。

主域(有和没有www)和子域已在Apple开发人员帐户中验证。

解决方法

这个错误可以在 webkit source

中找到
if (!ancestorDocument->securityOrigin().isSameSchemeHostPort(topOrigin))
    return Exception { InvalidAccessError,"Trying to start an Apple Pay session from a document with an different security origin than its top-level frame." };
}

isSameSchemeHostPort 函数 checks iframe 和页面的协议、域和端口相同

return a.protocol == b.protocol
    && a.host == b.host
    && a.port == b.port

因此,框架和页面的协议、域和端口必须相同才能将 iframe 与 ApplePay 集成。

,

您不能将Frames与Apple Pay一起使用,因为这被认为是不好的做法

相关问答

依赖报错 idea导入项目后依赖报错,解决方案:https://blog....
错误1:代码生成器依赖和mybatis依赖冲突 启动项目时报错如下...
错误1:gradle项目控制台输出为乱码 # 解决方案:https://bl...
错误还原:在查询的过程中,传入的workType为0时,该条件不起...
报错如下,gcc版本太低 ^ server.c:5346:31: 错误:‘struct...