gpt4 book ai didi

google-chrome - 在 Google Chrome 扩展程序中使用 Stripe 信用卡表单——无法避免 "Payment not secure?"

转载 作者:行者123 更新时间:2023-12-04 06:23:27 24 4
gpt4 key购买 nike

我正在尝试在浏览器弹出窗口中获取一个简单的 Stripe 信用卡表单,用于 google chrome 扩展。然而,在最新版本的 Chrome 中,信用卡表格总是伴随着“付款不安全”的消息:

Payment not secure

我在这里阅读了 google chrome 文档对这条消息的看法:https://developers.google.com/web/updates/2016/10/avoid-not-secure-warn

我认为这是相关的部分:

为确保您的页面不会显示“不安全”警告,您必须确保所有包含元素的表单以及检测为信用卡字段的任何输入仅出现在安全来源上。这意味着顶级页面必须是 HTTPS,如果输入在 iframe 中,则该 iframe 也必须通过 HTTPS 提供。

我检查了 Stripe 信用卡表单的 iframe,它似乎正在通过 https 加载其所有资源,就像 Google 所说的那样。

我没有在扩展的其他任何地方加载任何其他资源。

我唯一能想到的另一件事是扩展弹出窗口本身是一个 chrome-extension://URL,但我不确定这是否与此处相关。如果这是问题所在,这是否意味着如果没有“付款不安全”消息,就不可能在扩展弹出窗口中拥有信用卡表格?

任何帮助或澄清将不胜感激!

这是我的代码:

popup.html

<!doctype html>
<html>
<head>
<script src="popup.js"></script>
<script src="stripe.js"></script>
<style>
body{
width: 400px;
}
</style>
</head>
<body>
<form id="PaymentForm">
<h2>Enter Payment Details</h2>
<div>
<div id="card-element" class="field"></div>
</div>
</form>
</body>
</html>

popup.js:
window.onload = function(){
var stripe = Stripe('MY_API_KEY');
var elements = stripe.elements();

var card = elements.create('card', {
style: {
base: {
iconColor: '#666EE8',
color: '#31325F',
lineHeight: '40px',
fontWeight: 300,
fontFamily: 'Helvetica Neue',
fontSize: '15px',

'::placeholder': {
color: '#CFD7E0',
},
},
}
});
card.mount('#card-element');
}

更新

在完全卸载 Chrome 并删除我在 ~/Library/Application Support/Google/Chrome 中的所有个人资料信息然后重新安装后,此信用卡表单错误似乎已经消失,我不再看到“付款不安全”消息。也许这只是一些奇怪的短暂错误。然而,Stripe API 仍然会向控制台打印一个不祥的警告:

您可以通过 HTTP 测试您的 Stripe.js 集成。但是,实时 Stripe.js 集成必须使用 HTTPS。

正如之前所说,Stripe 似乎在用 https 本身做所有事情,所以我想知道这(也许?)是否与 Stripe 表单位于带有 chrome-extension://url 的浏览器弹出窗口内的事实有关。

最佳答案

I'm wondering if this (maybe?) is related to the fact the stripe form is inside a browser popup with a chrome-extension:// url.



是的,几乎可以肯定是这样。当Javascript(通过 window.location.protocol )看到的协议(protocol)不是 https: 时,您提到的警告是由 Elements 发出的。 . (没有可用的 Elements 代码的未缩小版本,但您可以相对轻松地检查 minified code 并查找触发您提到的警告的条件。)

实际上,如果您确定文件实际上是通过 HTTPS 加载的,那应该没问题。但是,这种不常见的情况可能意味着您不符合 PCI SAQ A 的资格。 .我建议您直接联系 Stripe's support看看他们是否可以提供有关您的扩展的 PCI 合规性状态的更多信息。

关于google-chrome - 在 Google Chrome 扩展程序中使用 Stripe 信用卡表单——无法避免 "Payment not secure?",我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/43329732/

24 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com