NuDetect リスク管理プロバイダ
NuDetect は、一連のリスク評価をサポートするリスクサービスプロバイダです。QNB ALAHLI は、NuDetect 経由の以下のリスク評価をサポートしています。
- カードテストは、"カードサイクル審査" または "BIN 攻撃審査" としても知られ、カードの詳細、請求先住所、発送先住所などを含む取引の詳細情報を使用して、取引のリスク評価を行います。
- 信頼できるチェックアウトは、"行動データ審査"、"指紋審査"、"デバイス審査" としても知られ、支払者のインタラクション詳細 (キータッチ、マウスのクリックなど)、デバイスの詳細 (デバイス ID、IP アドレスなど)、位置情報 (支払者の地理的な位置など) を使用して。取引のリスク評価を行います。
リスク評価に基づいて、NuDetect は取引を承認または拒否のいずれかの推奨事項を提供します。推奨事項が拒否の場合、ゲートウェイは取引をブロックします。リスク評価の詳細 (リスク査定、適用したリスクルール、その結果を含む) が、取引応答で返されます。
NuDetect は、<<webServicesIntegration>> v56 以降でサポートされています。
インテグレーションへの NuDetect の追加
NuDetect を追加するインテグレーションステップは、お使いのインテグレーションモデルによって異なります。
前提条件
ゲートウェイ経由で NuDetect を使用する場合:
- 決済代行会社は、加盟店プロファイルで NuDetect リスクサービスプロバイダを有効にし、NuDetect リスクプロファイルを "カードテスト"、"信頼できるチェックアウト" または "カードテスト + 信頼できるチェックアウト" に設定する必要があります。
- "カードテスト" 評価を実行する場合、ゲートウェイでの NuDetect リスクプロファイルを "カードテスト" または "カードテスト + 信頼できるチェックアウト" に設定する必要があります。
- "信頼できるチェックアウト" 評価を実行する場合、ゲートウェイでの NuDetect リスクプロファイルを "信頼できるチェックアウト" または "カードテスト + 信頼できるチェックアウト" に設定する必要があります。
自身の支払画面を使用して支払者の詳細を収集し、"信頼できるチェックアウト" 評価を実施する場合、支払画面で指紋データを収集できるようにRisk JS API を統合する必要があります。
<<checkout>> 経由の NuDetect
<<checkout>> バージョン 56 以降のインテグレーションの場合、<<checkout>> 経由で開始された取引は、自動的に NuDetect に送信されてリスク査定が行われます。評価のタイプは、NuDetect のリスクプロファイル設定 ("カードテスト"、"カードテスト + 信頼できるチェックアウト"、またはその両方) に応じて異なります。
"信頼できるチェックアウト" で <<checkout>> が指紋データを収集できない場合、取引は NuDetect に送信されず、リスク査定は行われません。
<<directPayment>> 経由の NuDetect
自身の支払画面で支払者の詳細を収集する時に、Verify、Authorize、Pay、Standalone Capture 取引を使用してゲートウェイに送信した場合、"カードテスト" と "信頼できるチェックアウト" のリスク評価で実装が異なります。
カードテスト
"カードテスト" 評価を実行する場合で、"カードテスト" または "カードテスト + 信頼できるチェックアウト" の NuDetect プロファイルが設定されている場合、ゲートウェイはユーザーに代わって NuDetect 経由でリスク評価を処理します。
- ゲートウェイに送信された Verify、Authorize、Pay、Standalone Capture 取引は、NuDetect に送信されて "カードテスト" のリスク評価が行われます。
- 取引フィルタルールが設定されている場合、取引は取引フィルタを使用して事前にスクリーニングされます。
信頼できるチェックアウト
"信頼できるチェックアウト" を実行する場合で、"信頼できるチェックアウト" または "カードテスト + 信頼できるチェックアウト" の NuDetect プロファイルが設定されている場合、Risk JS API に統合して支払画面が指紋データを収集できるようにする必要があります。支払画面が指紋データを収集できない場合、取引はリスク査定のために NuDetect に送信されません。
"信頼できるチェックアウト" が有効であるかを確認するには、ゲートウェイに
Payment Options Inquiry
リクエストを送信します。"カードテスト" の有無にかかわらず "信頼できるチェックアウト" が有効の場合、
Payment Options Inquiry
レスポンスが
risk.fingerprintprovider
=
NUDETECT
を返します
Risk JS インテグレーション
このセクションでは、NuDetect インテグレーション で Risk JS API を使用する方法について説明します。
手順 1: セッションの作成
Create Session 操作を実行して、セッション ID を取得します。セッションの作成後、セッションに保存するリクエストフィールドと値を使用してセッションを更新できます。
Create Session API リファレンス[REST][NVP]
手順 2: API の初期化
支払画面で、ゲートウェイサーバから Risk JS API (risk.js
) を照会します。これで、risk
オブジェクトはウィンドウ/グローバルなネームスペースに配置されます。
https://qnbalahli.test.gateway.mastercard.com/static/risk-core/1.0.0/risk.min.js
risk.js Reference[JavaScript]
フォーム非表示入力要素を入力
Risk.configure( )
メソッドを使用して設定を完了すると、リスク JS SDK は以下の非表示入力要素を支払画面の <form> 要素の中に作成しますので、ご注意ください。これは通常、カード詳細のカバーです。リスク JS SDK は、支払者が支払画面でインタラクションを開始した時に非表示入力要素の中に指紋データを生成します (キータッチ、マウスの移動やクリックなど)。
<input name="nds-pmd" type="hidden">
支払画面に <form> 要素がない場合、非表示入力要素を手動で挿入する必要があります (例: Risk.configure( )
メソッドの実行前に <入力名="nds-pmd" タイプ="hidden">)。
Risk JS 初期化リクエスト
セッションの作成後、Risk.configure( )
メソッドを使用して API を初期化します。このメソッドは、ページのロード中、または DOM が準備完了の状態の時に行われる必要があります。これはページロードで 1 回だけ起動されなければなりません。このメソッドの起動後、リスク JS はメンバー変数として設定値を入力します。
riskConfig
オブジェクトで以下の必須フィールドを引数として提供します。
merchantId
: ゲートウェイでの加盟店の識別子。
sessionId
: Create Session コールを使用して、作成したセッション ID。
apiVersion
: (オプション) リクエストの <<webServicesIntegration>> バージョン。値を指定していない場合、apiVersion
はデフォルトで 56 になります。
riskProvider
: (オプション) ゲートウェイのリスクサービスプロバイダの識別子。現在、NUDETECT リスクサービスプロバイダのみが リスク JS API 経由でサポートされています。リスクサービスプロバイダを提供しない場合、リスク JS API は Payment Options Inquiry
リクエストを行って、サポートされているリスクプロバイダを決定します。
コールバック機能
オプションとして、callback
機能を Risk.configure()
メソッドの中に指定できます。これは、メソッドの完了後に引数として response
オブジェクトと一緒に起動されます。response
オブジェクトは、message
と status
プロパティを含み、設定が正常に処理、またはエラーによって失敗したかを示します。
設定が正常に処理された場合:
{ status: "SUCCESS", message: "Risk SDK is configured successfully."}
設定が失敗した場合:
{ status: "ERROR", message: "Error message"}
API 設定の初期化の例
Risk.configure({
merchantId: "TESTMERCHANT",
sessionId: "SESSION0002899787259G30902270H6",
apiVersion: 56,
riskProvider: "NUDETECT"
},
function(response) {
// Handle Risk.configure() response */
console.log(response.message)
// Configuration message: 'Risk SDK is configured successfully.'
console.log(response.status)
// Configuration status: 'SUCCESS' or 'ERROR'
}
);
手順 3: セッションへの指紋データの収集
Update Session コールを使用して、手順 1 で作成したセッション内のフィールドを追加または更新できます。支払いと支払者データをセッションに追加すると、後に Verify、Authorize または Pay 操作の際の入力情報として、支払者に関連するリスクを決定する際に使用することができます。支払者が [今すぐお支払い] ボタンをクリックしたときに Update Session を実行します。
必須フィールド
- device.fingerprint: 手順 2 に従って、非表示入力要素の値を指定します。非表示入力要素には、リスク JS SDK で保存した支払者の指紋データが含まれます。
- sourceOfFunds.provided.card.*: 支払いに使用されるカードの詳細。
order.amount
- order.currency: 注文の通貨。
- transaction.id: この支払認証用の一意の識別子。
- order.id: この注文用の一意の識別子。
セッションからフィールドを削除することはできませんが、既存のフィールドの値を上書きすることができることにご注意ください。
Update Session API リファレンス [REST][NVP]
手順 4: 支払取引の送信
Update Session が正常に処理できた場合、返されたセッションには、インタラクションからの支払者の支払詳細が含まれます。返されたセッションを使用して、注文確認を提示するか、支払いをゲートウェイに送信します。「セッションを使用した操作の実行」を参照してください。