---
title: サイレント認証
description: カード非提示認証において、シグナルと再来訪の履歴を用いて取引をサイレントに承認できるかどうかを判断することで、再来訪ユーザーに対するバックグラウンドでの認証を有効にします。
canonical: https://developer.unico.io/ja/dual-api/developers/regional-solutions/card-not-present-verification/integration/silent-verification
locale: ja
generated_by: markdown-export
---

サイレント認証を使用すると、以前に検証済みの再来訪ユーザーが、**キャプチャ画面を表示することなく**カード非提示認証の取引を完了できます。ユーザーに新しいセルフィーを求める代わりに、Unicoのテクノロジーがバックグラウンドでシグナルと再来訪の履歴を評価し、取引をサイレントに承認できるかどうかを判断します。

サイレント認証は別個のプロダクトではなく、[決済取引](/developers/regional-solutions/card-not-present-verification/integration/apis/api-reference/payment-transactions)および[クレジットカードOnboarding](/developers/regional-solutions/card-not-present-verification/integration/apis/api-reference/credit-card-onboarding)で説明されている、同じ取引作成フローの上に追加される1つのステップです。SDKでコンテキストシグナルを収集し、取引作成時に同じ外部キーを送信することが、サイレント承認の可能性を実現します。

:::note[適用条件]
- サイレント認証は、Unicoのテクノロジーがシグナルを通じてそのユーザーを評価できるだけの十分な履歴がある場合に適用されます。
- 履歴不足などの理由でこの評価ができない場合、取引は標準の画面表示フローにフォールバックします。これは、たとえばあるユーザーがネットワーク上で初めて確認された場合などに起こり得ます。
:::

## 1. SDKでデバイスメタデータを収集する

通常どおり、お使いのプラットフォーム用のCapture SDKをインストールして初期化してください — サイレント認証によってこのセットアップが変わることはありません。`externalUserId`を送信するために、各プラットフォームのMonitoring Data Collectionガイドに従ってください。

- [Android](/dual-api/developers/sdks-and-tools/android/smart-revalidation/silent-revalidation)
- [iOS](/dual-api/developers/sdks-and-tools/ios/capture-flow/capture-types/silent-revalidation)
- Web

:::info
Flutterはまだサイレント認証に対応していません。
:::

:::warning[ここでは単なる観測用メタデータではありません]
Monitoring Data Collectionガイドでは、`externalUserId`は「SDKのキャプチャ動作やAPIレスポンスを変更しない」任意のテレメトリとして説明されています。それはSDK単体としては事実です。**カード非提示認証では、この同じフィールドを使って、バックエンドが取引をサイレントに承認できるかどうかを判断します。** これを送信することが、その取引に対してサイレント認証を有効にする条件であり、ここでは無関係な項目ではありません。
:::

## 2. 同じexternalUserIDで取引を作成する

`externalUserID`は任意ですが、これがない場合、その取引に対してサイレント認証は行われません。取引を作成する際 — [決済取引](/developers/regional-solutions/card-not-present-verification/integration/apis/api-reference/payment-transactions)または[クレジットカードOnboarding](/developers/regional-solutions/card-not-present-verification/integration/apis/api-reference/credit-card-onboarding)経由 — SDKで使用したものと**まったく同じ**`externalUserID`を、`additionalInfo`内に含めて送信してください。

```json
{
  "additionalInfo": {
    "externalUserID": "YOUR_EXTERNAL_USER_ID"
  }
}
```

省略してもエラーにはなりません — 取引は通常どおり作成され、単に常に視覚的な摩擦を伴う標準フローに従うだけです。

## 3. レスポンスを処理する

取引が条件を満たし、サイレントに承認された場合、それ以上の対応は不要です。

```json
{
  "id": "6ab1771e-dfab-4e47-8316-2452268e5481",
  "status": "approved"
}
```

それ以外の場合、レスポンスには標準の画面表示フローを完了するための`link`が含まれます。これは、サイレント認証なしで作成された取引とまったく同じです。

```json
{
  "id": "6ab1771e-dfab-4e47-8316-2452268e5481",
  "status": "waiting",
  "link": "https://aces.so/example",
  "token": "eyJhbGciOiJIUzI1NiIsInR5cC[...]Ok6yJV_adQssw5c"
}
```

その他のステータスについては、返された`link`を使用して標準フローに従ってください。ステータスの全リストについては、[エクスペリエンスの制御](/developers/regional-solutions/card-not-present-verification/integration/controlling-the-experience/overview)と[列挙値](/developers/regional-solutions/card-not-present-verification/integration/apis/enumerated)をご覧ください。