# 高度な不正使用検知機能 不正な支払いを防止する Stripe の機能を最大限に活用するために開発者が使用できるツールについてご紹介します。 [Stripe.js](https://docs.stripe.com/js.md) は Stripe の JavaScript ライブラリで、企業が顧客のブラウザから重要な決済情報を安全に収集できるように設計されています。[Stripe In-App Payments](https://docs.stripe.com/payments/mobile.md) は、Stripe.js に対応するネイティブの iOS および Android バージョンです。 Stripe.js とモバイル SDK は、デバイスの特性とユーザーアクティビティーに関して、正当な取引と不正な取引の区別に役立つシグナルを調べ、高度な不正利用検出を提供します。これらのシグナルは、*Radar* (Stripe Radar helps detect and block fraud for any type of business using machine learning that trains on data across millions of global companies. It’s built into Stripe and requires no additional setup to get started) などの Stripe の不正防止システムに貢献します。このシグナルは、`m.stripe.com` エンドポイントに定期的にリクエストを行うことにより、Stripe のバックエンドに転送されます。 Also, on each page where you load Stripe.js, it can load hCaptcha. hCaptcha is a type of CAPTCHA that helps stop fraud and provides additional signals to Stripe while being low friction for legitimate customers. To opt out of use of hCAPTCHA integration, reach out to [Stripe Support](https://support.stripe.com/contact/login). Stripe の目標は、不正使用を最小限に抑えながら、正当な顧客からの支払いを最大化することです。不正使用は、オンラインビジネスを運営する上での最大の課題の 1 つになり得ます。普段は大量の不正使用を経験していないビジネスでさえも、突然、予期せずに攻撃を受け多額の損害を被ることがあります。Stripe は毎月、Stripe をご利用のビジネスで 5 億 USD の不正な支払いを未然に防いでいます。防止に向けて、Stripe では、取引データ (金額、顧客の配送先住所、日付など) と高度な不正使用検出シグナル (デバイスとアクティビティーのシグナル) の両方を含め、犯罪者やボットの判別に役立つ情報を収集し分析します。 収集される情報の内容とその用途の詳細については、[プライバシーポリシー](https://stripe.com/privacy)と[クッキーポリシー](https://stripe.com/cookies-policy/legal)をご覧ください。 ## シグナルの種類 ### デバイスの特性 デバイスの特性は、顧客のブラウザ、画面、またはデバイスに関するシグナルになります。これは、Stripe が変則的な閲覧動作と一致する構成を識別したり、この動作を Stripe ネットワークの他のビジネスで観測される類似したパターンと比較したりする際に利用できます。稀な、または本物のユーザのコンピュータ環境を反映しているとは考えにくい、これらのパラメータの組み合わせにより、不正取引を露呈させることができます。 ### アクティビティインジケータ さらに高度な不正利用検出シグナルには、実際の買い物客からのアクティビティインジケータも含まれます。これは、正当な顧客と、不正な購入者やボットを区別するために役立ちます。たとえば、ボットは、実際の人間よりもずっと速く Web サイトや決済フォーム内を移動する傾向があります。また、カード番号は入力ではなくコピーと貼り付けのことがよくあります。これらのシグナルには、マウスアクティビティのインジケータや、ショッピング中にユーザが各ページに費やした時間も含まれます。このシグナルはいずれも、セッション期間全体にわたるボットとみられる動作の識別に役立ちます。 Stripe は、Stripe Elements の入力フィールドに対応する場合にのみ、ページのコンテンツに関するデータを収集します。たとえば、Stripe はメールアドレスを収集して、Link の登録とログインを事前入力することがあります。Stripe Element にメールアドレスのフィールドがない場合、Stripeでは、ページのコンテンツからその情報は収集されません。この情報は保存されません。ユーザーアクティビティーに関するシグナルは、単一のサイトまたはアプリの単一のショッピングセッションを対象範囲とし、他のショッピングセッション、サイト、またはアプリには関連付けられません。 ## シグナルが収集されるタイミング Stripe の不正使用エンジンが観測するアクティビティが多ければ多いほど、Stripe の不正使用防止能力も向上します。このため Stripe では、決済ページだけでなく、ショッピングに利用されるすべてのページに Stripe.js を含めることをお勧めします。このように Stripe.js が対応する範囲を広げることで、Stripe は、実際の顧客から不正な購入者を区別するための豊富なシグナルを得られるようになります。 Stripe.js をまったく使用しない場合には、ビジネスが *PCI 準拠* (Any party involved in processing, transmitting, or storing credit card data must comply with the rules specified in the Payment Card Industry (PCI) Data Security Standards. PCI compliance is a shared responsibility and applies to both Stripe and your business)の全責任とその他の不正使用のリスクを負わなくてはならなくなります。 iOS と Android SDK は、SDK オブジェクトがインスタンス化されると、アプリの高度な不正使用検出シグナルを収集します。データは、トークン化リクエストの間のみに Stripe に転送されます。 ## データのプライバシー [プライバシーポリシー](https://stripe.com/privacy)に記載されているように、この高度な不正利用検出シグナルデータは決して広告に使用されることはなく、また広告会社に貸し出し、販売、提供されることもありません。Stripe はこのデータを不正利用検出およびセキュリティの目的のみに使用し、不正利用検出とセキュリティの目的に有用である限り保持します。 内部においてこのデータは、Stripe による厳しいアクセス管理ポリシーの対象となり、そのデータへのアクセスは不正使用検出防止およびセキュリティに従事する少数の Stripe 従業員のみに限定されます。 ## 高度な不正使用検出を無効化する Stripe ユーザーは、それぞれのウェブサイトおよびアプリで、一連の高度な不正利用検出シグナルの収集を無効にすることができます。無効化すると、不正利用のリスク、特に[カードテスティング](https://docs.stripe.com/disputes/prevention/fraud-types.md#card-testing)のリスクが高くなります。Stripe は引き続き、[Stripe Checkout](https://docs.stripe.com/payments/checkout.md) 支払いページなどの Stripe ドメインで不正利用検出シグナルを収集します。 さらに、高度な不正使用検出シグナルを無効化しても、顧客が決済ページで Stripe によって管理されるフィールドとインタラクトした際に記録されるイベント (Stripe ではこれらのイベントを不正使用を防止し、Stripe Elements の機能を確認するために使用します) の収集にも、[3D セキュア 2 認証](https://support.stripe.com/questions/3d-secure-2-device-information) (Stripe はこの情報を、発行銀行がリスク分析をできるように発行銀行に送信する必要があります) 中に収集される基本的なデバイス情報収集にも影響しません。 ### Stripe.js [Stripe.js](https://docs.stripe.com/js/including) で高度な不正利用検出シグナルを無効化するには、Stripe.js スクリプトタグでクエリタグとして `advancedFraudSignals` を設定するか、または最新バージョンの [Stripe.js モジュール](https://github.com/stripe/stripe-js)に更新し、`pure` エクスポートを使用して、`setLoadParameters` を呼び出します。 #### HTML ```html ``` ### iOS SDK [Stripe iOS SDK](https://github.com/stripe/stripe-ios) で高度な不正使用検出シグナルを無効化するには、iOS SDK v19.1.1 以降に更新します。Stripe SDK を構成する際に、`advancedFraudSignalsEnabled` プロパティを設定します。 #### Swift ```swift StripeAPI.defaultPublishableKey = "<>" StripeAPI.setAdvancedFraudSignalsEnabled(false) ``` ### Android SDK [Android SDK](https://github.com/stripe/stripe-android) で高度な不正使用検出シグナルを無効化するには、Android SDK v14.4.0 以降に更新します。Stripe SDK を構成する際、Stripe SDK オブジェクトのインスタンス化やアクセスの前に、`advancedFraudSignalsEnabled` プロパティを設定します。 #### Kotlin ```kotlin class MyApp : Application() { override fun onCreate() { super.onCreate() Stripe.advancedFraudSignalsEnabled = false PaymentConfiguration.init( applicationContext, "<>" ) } } ```