3DS 2.0 验证设备信息

在使用 3DS 2.0 验证 (3DS2) 验证银行卡支付时,Stripe 通过 Stripe.js 以及 iOS 和 Android SDK 收集有关客户设备的特定信息。按照 3DS2 协议要求,这些信息将与卡组织和发卡行共享,以帮助他们识别来自同一设备的重复支付,并评估交易的整体风险。

虽然 3DS2 协议要求收集超过 150 个数据元素,但 Stripe 仅收集如下少数元素,以保护用户隐私:核心 ID 和环境信息,我们认为这些元素足以对发卡行进行风险分析。

Stripe 收集哪些信息?

在网页上,Stripe.js 从浏览器收集以下信息:

作为 3DS2 中引入的指纹步骤的一部分,Stripe.js 可能会向发卡行打开一个隐藏的 iframe,允许该发卡行运行其自己专有的指纹脚本。(我们知道,随着浏览器实现双密钥存储,这种指纹方法将变得无效;我们正在与 W3C 和卡组织合作,以开发一种保护隐私的替代方案。)

对于应用内支付,iOS 和 Android SDK 会收集以下信息:

此外,3DS 2.0 验证规范引用了许多 iOS 和 Android SDK 不会收集的数据元素。

iOS 和 Android SDK 使用卡组织持有的密钥加密设备信息。Stripe 的服务器无权访问这些数据。

注意:iOS 和 Android SDK 根据 PCI 3DS 要求执行基本检查以检测已 root 的设备,并且仅将表示检查成功还是失败的布尔值传输到服务器。此外,根据 PCI 3DS 要求,3DS2 中涉及的 Android SDK 组件使用 ProGuard 进行混淆处理。

什么情况下会收集 3DS 验证设备信息?

3DS 验证设备信息在确认 PaymentIntent 或 SetupIntent 后收集(即当您调用 confirmCardPayment 或等效函数时),通常是在客户点击支付页面上的“支付”按钮后。

收集设备信息是 3DS 2.0 验证协议规定的程序,且仅在支付过程中触发。它不受 advancedFraudSignals 参数的影响。

如果您对 Stripe.js 收集的设备信息以及 iOS 和 Android SDK 有任何反馈,请联系 Stripe 支持


附加信息

欲了解有关对定期付款处理 3DS 验证的信息,请按照我们文档中的 Stripe Billing 指南执行操作。

有关对一次性付款处理 3DS 验证的指导,请参阅我们的银行卡身份验证与 3DS 验证指南