不正防止サービス(Sift)処理フロー(プロトコルタイプ)
Siftを利用した決済の流れを以下に記載します。
以下は一例ですので、加盟店様の運用に合わせ、各イベントAPIを組み合わせて利用してください。
Siftを利用した決済の流れ
- 加盟店様がサイト及びスマートフォンアプリにて購入処理を開始します。
- お客様の利用デバイスからSiftにデバイス情報が送信されます。
利用デバイスがWebブラウザの場合は、加盟店様サイトにSift提供のJavaScriptを組み込む必要があります。
利用デバイスがスマートフォンアプリの場合は、加盟店様アプリにSift提供のSDKを組み込む必要があります。
詳細はSiftにユーザーデータを送信するために必要な実装を参照してください。 - お客様がお支払い手段を選択します。
- 加盟店様は$create_orderイベントを実行します。
- Siftにて決済前スコア判定を行います。
- 加盟店様は当サービスより返却されたスコアからサービス提供可否を判定し、サービス提供可と判断した場合、決済を行います。
- 加盟店様は$transactionイベントを実行します。
- Siftにて決済後スコア判定を行います。
- 加盟店様は必要に応じて当サービスより返却されたスコアから判断し、売上や決済のキャンセルを行います。
- 加盟店様は$decisionイベントを実行します。決済直後でなくとも問題ありません。
- 当サービスがSiftに対して情報の連携を行います。
- 加盟店様はお客様に購入完了画面を表示します。
チャージバック情報連携の流れ
-
加盟店様がカード会社からチャージバック情報を受け取ります
チャージバックが発生します。 -
加盟店様は$chargebackイベントを実行します
チャージバック情報をSiftに送信します。 -
当サービスがSiftに対してチャージバック情報を連携します
チャージバック情報がSiftに登録されます。 -
加盟店様は$decisionイベントを実行します。この際、
Sourceには「CHARGEBACK」をご指定ください
チャージバックに関する判断結果を連携します。 -
当サービスがSiftに対して情報を連携します
判断結果がSiftに反映され、機械学習の精度が向上します。
クレジットカード決済包括加盟店様の場合、当サービスがカード会社から受領したチャージバックデータをもとにチャージバック情報・取引判断結果を自動連携しますので、加盟店様において$chargebackイベント、$decisionイベントの実施は不要です。
Siftにユーザーデータを送信するために必要な実装
お客様の利用デバイスからSiftにユーザーデータを送信します。
利用デバイスがWebブラウザの場合は、加盟店様サイトにSift提供のJavaScriptを組み込む必要があります。
利用デバイスがスマートフォンアプリの場合は、加盟店様アプリにSift提供のSDKを組み込む必要があります。
JavaScript
利用デバイスがWebブラウザの場合は、以下のJavaScriptコードを加盟店様サイトに組み込みます。
<script type="text/javascript">
var _user_id = 'al_capone'; // Set to the user's ID, username, or email address, or '' if not yet known.
var _session_id = 'unique_session_id'; // Set to a unique session ID for the visitor's current browsing session.
var _sift = window._sift = window._sift || [];
_sift.push(['_setAccount', 'INSERT_BEACON_KEY_HERE']);
_sift.push(['_setUserId', _user_id]);
_sift.push(['_setSessionId', _session_id]);
_sift.push(['_trackPageview']);
(function() {
function ls() {
var e = document.createElement('script');
e.src = 'https://cdn.sift.com/s.js';
document.body.appendChild(e);
}
if (window.attachEvent) {
window.attachEvent('onload', ls);
} else {
window.addEventListener('load', ls, false);
}
})();
</script>
パラメータ説明
| 項目名 | 設定値 |
|---|---|
| _setAccount | 加盟店様のBeacon Keyを指定します。 Beacon Keyは、Siftのコンソール画面からご確認ください。 |
| _setUserId | お客様のアカウントを特定する値(ID、ユーザー名、メールアドレス)を設定します。 デバイス情報を送信する時点でお客様がログインされていない場合、空文字を設定します。 設定できる文字は、半角英数字と以下の記号です: . - _ + @ : ^ % ! $ |
| _setSessionId | お客様のセッションIDを指定します。 _user_idを空文字に設定している場合、決済前スコア判定($create_order)( SiftEvents)API実行と紐づけるために必須です。 |
SDK
利用デバイスがスマートフォンアプリの場合は、加盟店様アプリにSift提供のSDKを組み込む必要があります。
詳細はSiftのAPIリファレンスを参照してください。
パラメータ説明
| 項目名 | 設定値 |
|---|---|
| YOUR_ACCOUNT_ID | 加盟店様のAccount IDを指定します。 Account IDは、Siftのコンソール画面から確認してください。 |
| YOUR_JAVASCRIPT_SNIPPET_KEY YOUR_BEACON_KEY | 加盟店様のBeacon Keyを指定します。 Beacon Keyは、Siftのコンソール画面から確認してください。 |