我在前端使用 stripe JS 库,只是设置令牌,实际上并没有使用该库来做任何事情。奇怪的是,当我加载任何页面条纹时,都会发出一堆奇怪的请求,其中很多都是重复的。通常它看起来像这样:
https://m.stripe.com/4
https://m.stripe.com/4
https://stripensrq.global.ssl.fastly.net/s/e
https://stripensrq.global.ssl.fastly.net/s/o
https://m.stripe.com/4
然后,如果我使用 History API 更改页面状态,即使这是一个单页面 Web 应用程序,它也会再次进行所有这些调用。这是正常的吗?
这个行为也让我感到惊讶。如果你有import { loadStripe } from '@stripe/stripe-js
在 SPA 中的任何位置,从应用程序打开的那一刻起,Stripe 就会在每个页面加载时开始打电话回家。
选项 1:推迟 Stripe 的库加载
从 @stripe/stripe-js v1.4.0 开始,您可以使用/pure
导入路径,推迟 Stripe 库的加载,直到应用程序实际调用loadStripe
:
import { loadStripe } from '@stripe/stripe-js/pure';
一旦你打电话loadStripe
,Stripe 将继续向https://m.stripe.com/4
每次 URL 更改时,直到浏览器通过 HTTP 请求(而不是通过 JavaScript 路由更改)导航到新页面或直到浏览器重新加载。
选项 2:禁用 Stripe 的欺诈检测机制
stripe.js 发出请求https://m.stripe.com/4
作为其一部分欺诈检测机制 https://stripe.com/docs/disputes/prevention/advanced-fraud-detection。从 @stripe/stripe-js v1.5.0 开始,您可以通过设置禁用此行为{advancedFraudSignals: false}
:
import {loadStripe} from '@stripe/stripe-js/pure';
loadStripe.setLoadParameters({advancedFraudSignals: false})
const stripe = await loadStripe('pk_test_TYooMQauvdEDq54NiTphI7jx');
请注意,禁用此功能会增加您收到欺诈交易的风险。
更多细节
如果您对其他详细信息感兴趣,我写了一篇关于此的博客文章:https://mtlynch.io/stripe-recording-its-customers/ https://mtlynch.io/stripe-recording-its-customers/
本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)