Apple Pay 支付请求 API iframe

Posted

技术标签:

【中文标题】Apple Pay 支付请求 API iframe【英文标题】:Apple Pay Payment Request API iframe 【发布时间】:2020-06-03 09:12:21 【问题描述】:

有一个页面实现了支付请求 api,它有一个 Applepay 按钮,一切正常。但是一旦页面嵌入到 iframe 中,就会发生 SecurityError 错误:尝试从安全来源与其***框架不同的文档启动 Apple Pay 会话。

属性allowpaymentrequest = 'true'

htmlIFrameElement 接口的allowPaymentRequest 属性返回一个布尔值,指示是否可以在跨域iframe 上调用支付请求API。

两个页面都是https。

example.com:

            const applePayMethod = 
                supportedMethods: "https://apple.com/apple-pay",
                data: 
                    version: 3,
                    merchantIdentifier: "somemerchantid",
                    merchantCapabilities: ["supports3DS",],
                    supportedNetworks: ["masterCard", "visa"],
                    countryCode: "US",
                ,
            ;

            const paymentDetails = 
                total: 
                    label: "My Merchant",
                    amount:  value: "27.50", currency: "USD" ,
                ,
            

            try 
                const request = new PaymentRequest([applePayMethod], paymentDetails, );

                const response = await request.show();
                const status = processResponse(response);
                response.complete(status);
             catch (e) 
                console.log(e)
              

code-with-iframe.com

<iframe allowpaymentrequest='true' src="https://example.com/" frameborder="0"></iframe>

【问题讨论】:

【参考方案1】:

Allowpaymentrequest 属性已弃用,浏览器不再支持

See more here

【讨论】:

以上是关于Apple Pay 支付请求 API iframe的主要内容,如果未能解决你的问题,请参考以下文章

银联 Apple Pay 支付集成

调试 Apple pay message 支付请求无效:<private>

无法从 Apple Pay 获得任何响应 - 此资源来自本地覆盖

如何在 Google Pay 和 Apple Pay 中为 Authorize.net 生成支付令牌(在移动应用交易中)?

apple pay代码实现

Apple Pay支付