> 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-android/ja/implement-nfc-wallet/tokenize-a-card/digitize-a-card.md).

# カードをデジタル化する

## 概要

カードが有効性チェックに合格し、必要に応じてエンドユーザーが利用規約（T\&C）を受け入れたら、デジタル化を開始します。

デジタル化の間：

* イシュアのバックエンドは **トークナイゼーション** 決定（グリーンフロー、イエローフロー、またはレッドフロー）をNFCウォレット経由でデジタルウォレットアプリケーションに返します。
* イシュアのバックエンドが承認する（グリーンフローまたはイエローフロー）の場合：
  * トークンリクエスタ（Token Requestor）はデジタルカードとそのアセット（プロファイルと支払いキー）を作成します。
  * NFCウォレットはデジタルカードのプロファイルと支払いキーをデジタルウォレットアプリケーション内に安全にプロビジョニングします。

イエローフローでは、カードをプロビジョニングする前にデジタルウォレットアプリケーションがID＆V（ステップアップ認証）を実行します。

レッドフローでは、デジタル化は拒否され、SDKはエラーコールバックを返します。

プログラムに基づいて、グリーンフロー、イエローフロー、またはその両方を実装してください。

{% hint style="info" %}
プログラムによっては、 **利用規約（T\&C）** は必須ではない場合があります。その場合、デジタルウォレットアプリケーションはエンドユーザーの操作なしにT\&Cを受け入れることができます。
{% endhint %}

## SDK の統合

開始 **カードのデジタル化** を呼び出して `MGCardEnrollmentService.digitizeCard(...)`.

まず実装する必要があります `MGDigitizationListener` 登録のカラー フローに従ってコールバックを処理することでデジタル化の進行状況を追跡するために：

* で： **グリーンフロー（承認、ステップアップなし）** SDKはこれらのコールバックを呼び出します：

  * `onCPSActivationCodeAcquired`
  * `onComplete`

  詳細については、参照してください [グリーンフロードデジタル化](/nfc-wallet-sdk-android/ja/implement-nfc-wallet/tokenize-a-card/digitize-a-card/green-flow-digitization.md).
* で： **イエローフロー（ステップアップありで承認）** SDKはさらに以下も呼び出します：

  * `onSelectIDVMethod`
  * `onActivationRequired`

  詳細については、参照してください [イエローフロードデジタル化](/nfc-wallet-sdk-android/ja/implement-nfc-wallet/tokenize-a-card/digitize-a-card/yellow-flow-digitization.md).

デジタル化エラーが発生した場合、NFCウォレットSDKは次のコールバックを発行します：

* `onError`：デジタル化に失敗しました。使用する `error.getCode()` を使用して、再試行するか、エンドユーザーに操作を求めるか、サポートに回すかを判断します。

### `MGDigitizationListener` 実装例

以下のコードスニペットを参照して、を実装してください `MGDigitizationListener`

{% code expandable="true" %}

```java
// Digitizationリスナーを構築します
public class MyDigitizationListener implements MGDigitizationListener {

    @Override
    public void onCPSActivationCodeAcquired(String digitalCardId, byte[] activationCode) {
        // このdigitalCardIdのプロビジョニングを開始するためにactivationCodeを受け取ります。
        // 「プロビジョニングセッションをトリガーする」を参照してください。
    }

    @Override
    public void onSelectIDVMethod(IDVMethodSelector idvMethodSelector) {
        // イエローフローのみ - ID＆Vメソッドのリストを受け取ります
        // 「イエローフロードデジタル化」を参照してください
    }

    @Override
    public void onActivationRequired(PendingCardActivation pendingCardActivation) {
        // イエローフローのみ - アクティベーションを必要とする選択されたID＆Vメソッド
        // 「イエローフロードデジタル化」を参照してください
   }

    @Override
    public void onComplete(String digitalCardId) {
        // デジタル化が正常に完了しました。
    }

    @Override
    public void onError(String digitalCardId, MobileGatewayError error) {
        // デジタル化に失敗しました。
        // error.getCode()を解析し、適切な再試行/復旧ロジックを適用します。
    }
});
```

{% endcode %}

### カードをデジタル化する例

以下の例では、デジタル化を開始するためのコードを示します。

* グリーンフローの場合、を提供する必要があります **認証トークン**.

{% code expandable="true" %}

```java
// あなたのカードデジタリゼーションリスナーへの参照
// - コールバックを使用してデジタル化の進行状況を追跡するため
MyDigitizationListener digitizationListener = new MyDigitizationListener();

// 登録サービスを取得します。
// Enrollment Serviceのハンドラを取得する
        MGCardEnrollmentService enrollmentService =

digitizeCard(...)
// 「カードの有効性を確認する」を参照してください。
// その後、エンドユーザーの同意後：

// グリーンフローの場合は認証を提供します
byte[] authenticationToken = null;

enrollmentService.digitizeCard(tncSession, authenticationToken, digitizationListener);
```

{% endcode %}


---

# 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:

```
GET https://docs.payments.thalescloud.io/nfc-wallet-sdk-android/ja/implement-nfc-wallet/tokenize-a-card/digitize-a-card.md?ask=<question>
```

The question should be specific, self-contained, and written in natural language.
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.
