---
title: Silent Verification
description: 재방문 사용자를 위해 비대면 카드 검증에서 백그라운드 검증을 활성화합니다. 신호와 반복성을 활용하여 거래를 무음으로 승인할 수 있는지 판단합니다.
canonical: https://developer.unico.io/ko/dual-api/developers/regional-solutions/card-not-present-verification/integration/silent-verification
locale: ko
generated_by: markdown-export
---

Silent Verification을 사용하면 이전에 검증된 재방문 사용자가 **화면에 노출되는 캡처 단계 없이** 비대면 카드 검증 거래를 완료할 수 있습니다. 사용자에게 새로운 셀피를 요청하는 대신, Unico의 기술이 백그라운드에서 신호와 반복성을 평가하여 거래를 무음으로 승인할 수 있는지 판단합니다.

Silent Verification은 별도의 제품이 아니라, [결제 거래](/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로 컨텍스트 신호를 수집하고 거래를 생성할 때 동일한 외부 키를 전송하는 것이 무음 승인의 가능성을 열어줍니다.

:::note[적용 조건]
- Silent Verification은 Unico의 기술이 신호를 통해 신원을 평가할 수 있을 만큼 충분한 이력이 있을 때 적용됩니다.
- 이력 부족 등의 이유로 이러한 평가가 불가능한 경우, 거래는 대신 표준 시각적 흐름으로 대체됩니다. 예를 들어 특정 신원이 네트워크에서 처음 확인되는 경우 이런 일이 발생할 수 있습니다.
:::

## 1. SDK로 디바이스 메타데이터 수집

평소와 같이 플랫폼용 Capture SDK를 설치하고 초기화하세요 — Silent Verification은 이 설정을 변경하지 않습니다. `externalUserId`를 전송하려면 플랫폼의 모니터링 데이터 수집 가이드를 따르세요:

- [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는 아직 Silent Verification을 지원하지 않습니다.
:::

:::warning[이것은 단순한 옵저버빌리티 메타데이터가 아닙니다]
모니터링 데이터 수집 가이드에서는 `externalUserId`를 "SDK의 캡처 동작이나 API 응답을 변경하지 않는" 선택적 텔레메트리로 설명합니다. 이는 SDK 자체만 놓고 보면 사실입니다. **비대면 카드 검증에서는 이 동일한 필드를 백엔드가 거래를 무음으로 승인할 수 있는지 판단하는 데 사용합니다.** 이 값을 전송하는 것이 바로 해당 거래에 대해 Silent Verification을 활성화하는 요인입니다 — 여기서는 이 값이 무의미하지 않습니다.
:::

## 2. 동일한 externalUserID로 거래 생성

`externalUserID`는 선택 사항이지만, 이것이 없으면 해당 거래에 대해 Silent Verification이 발생할 수 없습니다. [결제 거래](/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"
  }
}
```

생략해도 오류는 발생하지 않습니다 — 거래는 여전히 정상적으로 생성되며, 다만 항상 시각적 마찰(visual friction)이 있는 표준 흐름을 따르게 됩니다.

## 3. 응답 처리

거래가 조건을 충족하여 백그라운드에서 자동으로 승인된 경우, 추가 작업이 필요하지 않습니다:

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

그렇지 않으면, 응답에는 Silent Verification 없이 생성된 거래와 마찬가지로 표준 시각적 흐름을 완료하기 위한 `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)을 참조하세요.