不正防止サービス(Sift)
概要
不正防止サービス(Sift)は、機械学習を用いて取引のリスクをスコアにより判定するサービスです。
カードトランザクションをリアルタイムで審査し、加盟店様が保持する顧客情報と注文内容を精査することで、不審な取引を見分けることができます。不正の可能性を0~100のスコアで数値化し、加盟店様の商品提供判断をサポートします。
- 利用可能接続方式:プロトコルタイプ
- 判定方式:スコアリング(0~100の数値で判定)
- 契約:必要(有料オプション)
不正防止サービス(Sift)のメリット
チャージバックリスクの軽減
判定スコアを参照することで、不正利用によるチャージバックリスクの軽減に寄与します。
運用負荷の軽減
機械学習による自動チューニング機能により、従来手動で行っていた不正防止ルールのチューニングが自動化され、運用負荷を大幅に軽減します。
導入コストの削減
Sift提供のJavaScript・SDK・APIを既存システムに組み込むことで利用できるため、大規模なシステム改修を行うことなく導入が可能で、開発負担などの導入コストを抑えることができます。
継続的な精度向上
不正と判断した取引やチャージバック情報をSiftに連携することで、機械学習モデルが継続的に学習し、判定精度が向上します。
不正防止サービス(Sift)を始めるには
-
契約の確認・申込
ご利用には不正防止サービス(Sift)の契約が必要です。未契約の場合は営業担当へご連絡ください。 -
Beacon Keyの取得
SiftのJavaScriptスニペットやSDKで使用するAPIキーです。
デバイス情報をSiftに送信する際に必要です。Siftのコンソール画面から取得してください。 -
デバイス情報送信の実装
お客様の利用デバイスからSiftにデバイス情報を送信するための実装を行います。
詳細はSiftにユーザーデータを送信するために必要な実装を参照してください。- Webブラウザ:加盟店様サイトにSift提供のJavaScriptスニペットを組み込み
- スマートフォンアプリ:加盟店様アプリにSift提供のSDK(iOS/Android)を組み込み
-
API連携の実装
当サービスのAPI経由でSiftとのデータ連携を実装します。
詳細は処理フロー(プロトコルタイプ)を確認してください。 -
テスト環境での動作確認
テスト環境でSift Sandboxに接続し、データ連携に問題がないか確認します。
当サービステスト環境にてSift Sandboxへの接続設定を行いますので、ご利用の際は営業担当までご連絡ください。 -
本番稼働開始
動作確認完了後、本番運用を開始します。
接続方式のサポート
| 接続方式 | サポート状況 | 関連リンク |
|---|---|---|
| OpenAPIタイプ | ✖ 非対応 | |
| プロトコルタイプ | ✔ 対応 | API仕様(idPass) API仕様(json) |
| リンクタイプ Plus | ✖ 非対応 |
サービス運用フロー
カードトランザクションをリアルタイムで判定します。
お客様が購入処理を開始すると、デバイス情報と取引情報がSiftに送信され、不正スコア(0~100)が返却されます。
加盟店様はスコアを基に商品提供を判断し、判断結果や不正情報をSiftに連携することで、機械学習の精度が向上します。
詳細な処理フローとシーケンス図については、処理フロー(プロトコルタイプ)を確認してください。
判定スコアに基づく運用の例
| スコアレンジ | 対応の例 |
|---|---|
| 0~40 | 低リスク:通常通り商品を発送 |
| 41~69 | 中リスク:調査の上、取引実行判断 加盟店様にて追加確認※を行い、取引の可否を判断 |
| 70~100 | 高リスク:取引を中止し、キャンセル処理を実施 |
※追加確認の例:
・配送先住所や電話番号の確認
・過去の取引履歴の確認
・本人確認等で正規ユーザとして確認が取れているかの確認 など
- ルールチューニングを最適化するため、「不正リスクが高い注文」や「実際にチャージバックになった注文」等をAPIやSiftコンソール画面から登録(フィードバック)してください。
- スコア閾値やチャージバック発生率は加盟店様の取扱商材やサービス提供地域、運用方針等により変動します。必ず1~2か月の学習期間を経過してからスコアのご活用を実施してください。
不正防止の仕組み
Siftは機械学習を用いて、複数の情報を総合的に分析することでリアルタイムに不正スコアを算出します。
判定に使用される情報
Siftは、以下の情報を総合的に分析して不正取引を検知します。
- デバイス情報:デバイスフィンガープリント、IPアドレス、ブラウザ情報など
- ユーザー情報:メールアドレス、電話番号、配送先住所など
- 取引情報:購入金額、商品名、商品単価など
- 行動情報:取引時刻など
- Siftグローバルネットワークデータ:世界中のSift利用サイトから収集された不正パターンデータ
機械学習による判定精度の向上
Siftの機械学習モデルは、以下のフィードバックにより継続的に学習し、判定精度を向上させます。
- $decision イベント:加盟店様による取引判断結果(正常/不正)のフィードバック
- $chargeback イベント:実際に発生したチャージバック情報
- グローバルネットワークデータ:世界中のSift利用サイトから収集された不正パターン
Siftで利用するイベント
Siftでは、以下のイベントを使用してデータ連携を行います。
| イベント | タイミング | 説明 |
|---|---|---|
| $create_order | 決済前 | 決済前にスコア判定を行います。 スコア判定の精度向上のため、$transactionとセットで実施してください。 利用API:決済前スコア判定($create_order)( SiftEvents)API |
| $transaction | 決済後 | 決済後にスコア判定を行います。 スコア判定の精度向上のため、$create_orderとセットで実施してください。 利用API:決済後スコア判定($transaction)( SiftEvents)API |
| $chargeback | チャージバック発生時 | チャージバック情報をSiftに登録します。 $transactionイベントを行った上で実施してください。 ※$transactionイベントを行っていない場合、データの紐付けが正常にされません。 包括加盟店様の場合、当サービスが自動連携します。 利用API:チャージバック情報連携($chargeback)( SiftEvents)API |
| $decision | 取引判断時 | 取引の判断結果をSiftに登録します。 スコア判定の精度向上のために使用します。 怪しいユーザーや注文データのフィードバック数を増やすことで スコア判定の精度が向上します。 Siftコンソール画面にて不正取引の追跡を行うことができるようになります。 包括加盟店様の場合、当サービスが自動連携します。 利用API:取引判断結果連携($decision)( SiftEvents)API |
$decisionイベントで連携すべき取引
機械学習の精度を高めるため、以下のような取引について判断結果をSiftに連携してください。
Looks Bad(怪しい・不正の可能性が高い取引)
- チャージバックが発生した取引
- 明らかに不審な配送先住所や電話番号での取引
- 過去の履歴から明らかに不正と判断できるユーザーからの取引
- 高額な取引で本人確認が取れなかった取引
Looks OK(信頼できる取引)
- 本人確認等で正規ユーザーとして確認が取れている取引
- スコアが低く、正常に商品を発送し完了した取引
- リピート購入などで信頼性が高いユーザーからの取引
用語集
SiftオーダーID
当サービスが発行するSiftへ送信したデータを識別するIDです。
このIDを使用してSiftでの取引履歴を追跡し、後続のイベント($chargeback、$decision等)と紐付けることが可能です。
Beacon Key
SiftのJavaScriptスニペットやSDKで使用するAPIキーです。
デバイス情報をSiftに送信する際に必要です。
Siftのコンソール画面から取得してください。
注意事項
以下の点にご注意ください。
- 不正取引の防止を100%保証するサービスではありません
- スコアはあくまで参考情報であり、最終的な取引可否の判断は加盟店様にて行っていただく必要があります
- スコア精度を担保するため、月間依頼件数が1万件以上お取り扱いのある加盟店様のご利用を推奨しております
- テスト環境(Sandbox)と本番環境では判定スコアが異なる場合があります
個人情報の利用について
JavascriptやAPIで取得する個人情報を含む情報はお客様の同意を得たうえでsiftへ連携してください。
処理料について
- $create_orderイベントに対して処理料が課金されます。$create_orderイベントは実行必須です。
$transactionイベントのみ実行はできません。 - 処理料は為替変動により変更する可能性があります。
- 不正の有無が正しく判定されなかった場合でも処理料は発生します。
- サイト管理画面・ショップ管理画面で処理料の対象取引を集計できます。
詳細は管理画面を使った運用を参照してください。
クレジットカード決済包括加盟店様
クレジットカード決済包括加盟店様の場合、当サービスがカード会社から受領したチャージバックデータをもとに
チャージバック情報・取引判断結果を自動連携しますので、加盟店様において$chargebackイベント、$decisionイベントの
実施は不要です。
ただし、以下条件を満たしている必要があります:
- $create_orderイベント(決済前スコア判定)、$transactionイベント(決済後スコア判定)が行われている
- $transactionイベント(決済後スコア判定)でオーダーIDが指定されている(SiftオーダーIDのみ指定している場合は対象外)
自動連携のDecisionIdはgmopg_order_looks_bad_payment_abuseです。
APIレート制限
1秒間にリクエスト可能な上限(レート上限)があります。
上限を超えたリクエストは「SI1000005」エラーが返却されます。
レート上限数についてはSiftのAPIリファレンスを参照してください。
API拡張子に関する注意
プロトコルタイプのAPI拡張子は .idPass と .json の2種類です。
$create_orderイベントには配列型のパラメータが含まれるため、以下に注意してください。
.idPassは配列や階層構造を扱えず単一項目のみ送信できます。複数の商品情報を送る場合は.jsonを利用してください。.idPassで配列相当のデータを送る場合は、親パラメータ名と子パラメータ名をアンダースコアで連結しフラットな形式で送信します。
$create_orderイベントでのItems(注文商品情報)の例を記載します。
【サンプル】.json形式のItems
{
"items": [
{
"itemId": "12344321",
"productTitle": "Microwavable Kettle Corn: Original Flavor",
"price": "4990000000",
"currencycode": "JPY",
"quantity": "1",
"upc": "097564307560",
"sku": "03586005",
"brand": "Peters Kettle Corn",
"manufacturer": "Peters Kettle Corn",
"category": "Food and Grocery",
"tags": [
"Popcorn",
"Snacks",
"On Sale"
]
},
{
"itemId": "B004834GQO",
"productTitle": "The Slanket Blanket-Texas Tea",
"price": "39990000",
"currencycode": "JPY",
"quantity": "1",
"upc": "6786211451001",
"sku": "004834GQ",
"brand": "Slanket",
"manufacturer": "Slanket",
"category": "Blankets & Throws",
"tags": [
"Awesome",
"Wintertime specials"
]
}
]
}
【サンプル】.idPass形式のItems(フラット形式)
Items_ItemId=12344321&Items_ProductTitle=Microwavable Kettle Corn: Original Flavor&Items_Price=4990000000&Items_CurrencyCode=JPY&&Items_Quantity=1&Items_Upc=097564307560&Items_Sku=03586005&Items_Brand=Peters Kettle Corn&Items_Manufacturer=Peters Kettle Corn&Items_Category=Food and Grocery&Items_Tags=Popcorn