> 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/manage-digital-cards/display-digital-cards.md).

# デジタルカードを表示する

## 概要

後 **トークン化**、あなたの **デジタルウォレットアプリケーション** は表示する必要があります **エンドユーザー** そのデジタルカード。

リスト表示と詳細表示を提供します。カードの状態、カードアート、メタデータを使用してUIを構築します。

## SDK統合

### カード一覧を取得

後 **トークン化** が完了すると、 **デジタルウォレットアプリケーション** デジタルカードを取得して表示できます。

使用する `DigitalCardManager.cardList` を使用して、すべてのデジタル化されたカードの一覧を取得します。

<pre class="language-swift" data-title="デジタルカード一覧"><code class="lang-swift">func retrieveCardList() async {
  let manager = DigitalCardManager()
  do {
    let cardList = try await manager.cardList
    // cardList を使用して UI を埋めます。
  } catch {
<strong>    // エラーを処理します。
</strong>  }
}
</code></pre>

### デジタルカードを取得

デジタルカードを `DigitalCard` から `DigitalCardManager` いくつかの方法があります:

{% code title="デジタルカードを取得" %}

```swift
func getDigitalCards() async throws {
  let manager = DigitalCardManager()

  // まず全一覧を取得してから、要素にローカルでアクセスします。
  let cardList = try await manager.cardList

  // デフォルトカードとして指定されたカードを取得します。
  let defaultCard = try await manager.defaultCard

  // 一覧の最初のカードを取得します。
  let firstCard = cardList.first

  // 一覧の最後のカードを取得します。
  let lastCard = cardList.last

  // 特定のインデックスにあるカードを取得します。
  // 範囲外のインデックスにアクセスするとクラッシュするため、先に検証します。
  let index = 0
  guard cardList.indices.contains(index) else { return }
  let cardAtIndex = cardList[index]

  // 一覧の件数を使って最後のカードを取得します。
  let cardCount = cardList.count
  let lastCardByIndex = cardList[cardCount - 1]

  // 特定の digitalCardID を持つカードを取得します。
  let digitalCardID = ""
  let specificCard = await manager.digitalCard(forID: digitalCardID)
}
```

{% endcode %}

### カード詳細を取得

1つの `DigitalCard` デジタル化されたカードを表します。UIを構築し、カードのライフサイクルを管理するために必要なデータを公開します:

* `DigitalCard.State`: デジタルカードの状態
* `DigitalCard.CardArt`: カードアートデータ
* `DigitalCard.CardMetadata`: カードメタデータ。以下を含みます:
  * PANの下4桁
  * トークンの下4桁
  * PANの有効期限
* `DigitalCard.PaymentKeyInfo`: ペイメントキー情報。以下を含みます:
  * 残り支払い回数
  * 補充が必要かどうか
  * ペイメントキーの種類
  * ペイメントキーの有効期限日時
* `DigitalCard.Details`: カードスキームと機能。以下を含みます:
  * `スキーム`: 支払いスキーム（Visa、Mastercard、またはPURE）
  * `paymentTypesSupported`: 対応する支払いチャネル
* `DigitalCard.paymentAccountReference`: 主要な非接触カードの Payment Account Reference（PAR）

次の例では、デジタルカードの詳細を取得する方法を示します:

{% code title="デジタルカード詳細を取得" %}

```swift
func retrieveCardDetails(digitalCard: DigitalCard) async {
  do {
    // カードの状態: .active、.suspended、.inactive など。
    // .active のカードは支払いに使用できます
    // .suspended のカードは支払いを行うために有効化が必要です
    // .inactive のカードは、初回の ID&V が完了していないことを意味します。
    // ID&V を再開するには pendingActivationSession を使用します。
    // その他の場合、カードは使用されていません
    let cardState = try await digitalCard.state

    // カードアートの取得
    let cardArt = try await digitalCard.cardArt
    let bitmap = try await cardArt.bitmap(forArtType: .cardBackgroundCombined)
    // アートの種類: .bankLogo、.schemeLogo、.cardBackground、.cardBackgroundCombined、.coBrandLogo、.cardIcon。

    // カードメタデータの取得
    let cardMetadata = try await digitalCard.cardMetadata
    let panLastDigits = cardMetadata.panLastDigits
    let panExpiry = cardMetadata.panExpiry

    // カードのペイメントキー情報
    let paymentKeyInfo = try await digitalCard.paymentKeyInfo
    let numberOfPaymentsLeft = paymentKeyInfo.numberOfPaymentsLeft
    let needsReplenishment = paymentKeyInfo.needsReplenishment

    // カード詳細
    let cardDetail = try await digitalCard.details
    let scheme = cardDetail.scheme
    let supportedPaymentTypes = cardDetail.paymentTypesSupported

    // 主要カードプロファイルの Payment Account Reference（PAR）
    let paymentAccountReference = digitalCard.paymentAccountReference
    
  } catch {
    // エラーを処理します。
  }
}
```

{% endcode %}

### 補助カード詳細を取得

カードがコバッジ対応の場合、 `digitalCard`.

* `DigitalCard.hasAuxiliaryScheme`: 返す値 `true` カードに補助スキームがある場合
* `DigitalCard.auxiliaryPaymentAccountReference`: 補助非接触カードの Payment Account Reference（PAR）

カードがコバッジ対応の場合、次も読み取れます:

* `DigitalCard.Details.auxiliaryScheme`: 補助支払いスキーム
* `DigitalCard.CardMetadata.auxiliaryTokenLastDigits`: 補助トークンの下4桁
* `DigitalCard.CardMetadata.auxiliaryTokenExpiry`: 補助トークンの有効期限日
* `DigitalCard.paymentKeyInfo.auxiliaryNumberOfPaymentsLeft`: 補助スキームの残り支払い回数

カードがコバッジ対応でない場合、これらのプロパティは返します `nil`.

{% code title="補助スキーム詳細を取得" %}

```swift
// コバッジ対応カードの追加詳細
let details = try await digitalCard.details
let cardMetadata = try await digitalCard.cardMetadata
let paymentKeyInfo = try await digitalCard.paymentKeyInfo

if digitalCard.hasAuxiliaryScheme {
  let auxScheme = details.auxiliaryScheme

  let auxTokenLastDigits = cardMetadata.auxiliaryTokenLastDigits
  let auxTokenExpiry = cardMetadata.auxiliaryTokenExpiry

  let auxNumPaymentsLeft = paymentKeyInfo.auxiliaryNumberOfPaymentsLeft

  // 補助カードプロファイルの Payment Account Reference（PAR）
  let auxPaymentAccountReference = digitalCard.auxiliaryPaymentAccountReference
  
  // カードがコバッジ対応でない場合、これらの値は `nil` になります。
}
```

{% 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 by asking a question.

Perform an HTTP GET request on the following URL with the `ask` and `goal` query parameters:

```
GET https://docs.payments.thalescloud.io/nfc-wallet-sdk-ios/ja/implement-nfc-wallet/manage-digital-cards/display-digital-cards.md?ask=<question>&goal=<user_goal>
```

`ask` is the immediate question: it should be specific, self-contained, and written in natural language.
`goal` is what the user is ultimately trying to achieve, the reason they need the answer. Sharing it helps GitBook give you a better, more relevant answer. A goal is most helpful when it describes the outcome the user wants rather than restating the question. For example, with `ask=how do I create an API token`, a goal like `automate deployments from our CI pipeline` lets GitBook tailor the answer to that use case.

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.
