> For the complete documentation index, see [llms.txt](https://docs.payments.thalescloud.io/llms.txt). Markdown versions of documentation pages are available by appending `.md` to page URLs; this page is available as [Markdown](https://docs.payments.thalescloud.io/nfc-wallet-sdk-ios/ja/implement-nfc-wallet/tokenize-a-card/check-card-eligibility.md).

# カードの有効性を確認する

## 概要

カードの有効性確認は最初のステップです **トークン化**。PANをデジタルウォレットアプリケーションでトークン化できるかどうかを確認します。

NFC Walletは、Token Service Provider（TSP）と有効性を確認します。

カードが有効であれば、NFC WalletはTSPから利用規約（T\&C）を返します。デジタル化前にT\&Cをエンドユーザーに表示し、同意を取得してください。

{% hint style="info" %}
プログラムによっては、 **利用規約（T\&C）** 必要ない場合があります。
{% endhint %}

## SDK 統合

使用する `CardDigitizationService.check有効性` を確認する **トークン化** 有効性。該当する場合、NFC Walletバックエンドは適用される利用規約（T\&C）を返します。

有効性チェックを実行するには、 `有効性Data` および次のいずれか `InstrumentData` または `pushSessionID`.

`有効性Data` には以下が含まれます:

* `language`: 操作に使用する優先言語（例： `en`).
* `inputMethod`: カード情報の収集方法（例: イシュアアプリケーションまたは手動入力）。

次のいずれかを指定してください:

* `InstrumentData`: 次のいずれかから構築されます `encryptedCardData` または `issuerPushReceipt`。カードデータは機密情報として扱い、必ず暗号化して送信してください。
* `pushSessionID`: NFC Walletバックエンドによって生成される一意の識別子です。イシュアのバックエンドは、プッシュカード登録時にこれを受け取ります。

### カード資格情報を使用して有効性を確認する

ほとんどの場合、カード資格情報を使用して有効性を確認します。PANと有効期限を指定してください。必要に応じてカードセキュリティコード（CSC）も指定できます。

カード資格情報は暗号化された形式で送信してください。

標準フローでは、イシュアのバックエンドがカード資格情報を提供します。デジタルウォレットアプリケーションは、それらを有効性チェックに使用します。

次のコードスニペットは、以下を使用して有効性を確認する方法を示しています `encryptedCardData`:

```swift
func triggerCheck有効性(_ pubKey: String, _ encryptedData: Data) async throws {
    do {
        let encryptedDataComponent = CardDigitizationService.InstrumentDataComponents(encryptedCardData: encryptedData, publicKeyIdentifier: pubKey)
        let instrumentData = encryptedDataComponent.instrumentData()
        // 有効性データを構築します
        let 有効性DataBuilder = CardDigitizationService.有効性DataComponents(inputMethod: .bankApp, language: "en")
        let 有効性Data = 有効性DataBuilder.有効性Data()
        let cardDigitizationService = CardDigitizationService()
        let acceptanceData = try await cardDigitizationService.check有効性(有効性Data, instrumentData: instrumentData)
        let tnc = acceptanceData.termsAndConditions
        // T&Cを保存し、UIに通知して応答を待ちます。
    } catch let error as CardDigitizationService.Error {
        // エラーを処理します。
    }
}
```

### イシュアプッシュレシートを使用して有効性を確認する

イシュアはイシュアアプリケーションからカード登録を開始できます。このフローでは、イシュアアプリケーションがイシュアプッシュレシートを送信します。デジタルウォレットアプリケーションは、それを使用して `InstrumentData`.

{% hint style="info" %}
イシュアプッシュレシートを使用したカード登録 **イシュアプッシュレシート** はMastercardでのみサポートされています。NFC WalletはMDES Token Connect仕様をサポートしています。
{% endhint %}

次のコードスニペットは、以下を構築する方法を示しています `InstrumentData` イシュアプッシュレシートを使用して。次に `有効性を確認する` カード資格情報を使用する場合と同じ方法で。

```swift
func triggerCheck有効性(_ payload: String, _ scheme: DigitalCard.Scheme) async throws {
    do {
        let pushReceiptDataComponent = CardDigitizationService.InstrumentDataComponents(scheme: scheme, payload: payload)
        let instrumentData = pushReceiptDataComponent.instrumentData()
        // 有効性データを構築します。
        let 有効性DataBuilder = CardDigitizationService.有効性DataComponents(inputMethod: .bankApp, language: "en")
        let 有効性Data = 有効性DataBuilder.有効性Data()
        let cardDigitizationService = CardDigitizationService()
        let acceptanceData = try await cardDigitizationService.check有効性(有効性Data, instrumentData: instrumentData)
        let tnc = acceptanceData.termsAndConditions
        // T&Cを保存し、UIに通知して、応答を待ちます。
    } catch let error as CardDigitizationService.Error {
        // エラーを処理します。
    }
}
```

### プッシュカード登録セッションIDを使用して有効性を確認する

アプリケーション内で暗号化されたカード詳細を共有しないようにするため、デジタルウォレットバックエンドはカード詳細をNFC Walletバックエンドに直接プッシュできます。NFC Walletバックエンドは一時的な **プッシュカード登録セッションID** (`pushSessionID`).

次のコードスニペットは、以下を使用して有効性を確認し、カード登録を続行する方法を示しています **プッシュカード登録セッションID**.

```swift
func triggerCheck有効性(_ pushSessionID: String) async throws {
    do {
        // 有効性データを構築します。
        let 有効性DataBuilder = CardDigitizationService.有効性DataComponents(inputMethod: .onFile, language: "en")
        let 有効性Data = 有効性DataBuilder.有効性Data()
        let cardDigitizationService = CardDigitizationService()
        let acceptanceData = try await cardDigitizationService.check有効性(有効性Data, pushSessionID: pushSessionID)
        let tnc = acceptanceData.termsAndConditions
        // T&Cを保存し、UIに通知して応答を待ちます。
    } catch let error as CardDigitizationService.Error {
        // エラーを処理します。
    }
}
```


---

# Agent Instructions
This documentation is published with GitBook. GitBook is the documentation platform designed so that both humans and AI agents can read, navigate, and reason over technical content effectively. Learn more at gitbook.com.

## Querying This Documentation
If you need additional information that is not directly available in this page, you can query the documentation dynamically by asking a question.

Perform an HTTP GET request on the current page URL with the `ask` query parameter, and the optional `goal` query parameter:

```
GET https://docs.payments.thalescloud.io/nfc-wallet-sdk-ios/ja/implement-nfc-wallet/tokenize-a-card/check-card-eligibility.md?ask=<question>&goal=<endgoal>
```

`ask` is the immediate question: it should be specific, self-contained, and written in natural language.
`goal` is optional and describes the broader end goal you are ultimately trying to accomplish on behalf of the user. GitBook uses it to tailor the answer towards what is most useful for that goal.

The response will contain a direct answer to the question and relevant excerpts and sources from the documentation.

Use this mechanism when the answer is not explicitly present in the current page, you need clarification or additional context, or you want to retrieve related documentation sections.
