Welcome to our new developer portal! Use the "Ask" button to chat with our AI Agent.
For the complete documentation index, see llms.txt. This page is also available as Markdown.

PPSEをカスタマイズする

概要

EMV Book B で定義されているとおり、PPSE(Proximity Payment System Environment)は非接触決済のエントリポイントです。各デジタルカードには、トークンプロファイルで定義された独自の PPSE があります。これには、対応するアプリケーションラベルと優先順位を含む、サポートされるアプリケーション識別子(AID)の一覧が含まれます。

NFC Wallet SDK は以下を提供します PPSE 管理 API。 これにより、デジタルウォレットアプリケーションは次のことができます。

  • 取得 PPSE (デジタルカードプロファイルで定義されたデフォルトの PPSE)。

  • 取得 補助 PPSE (共ブランドカード用の補助デジタルカードプロファイルで定義された PPSE)。

  • 新しい PPSE をカスタマイズする(カスタム PPSE).

  • 取得またはリセットする カスタム PPSE.

NFC Wallet SDK は カスタム PPSE 非接触取引用に定義されている場合にそれを使用します。

使用する PPSE 管理 API を使用して、共ブランドのデジタルウォレットプログラムにポリシーを適用します。

NFC Wallet SDK 以下のみを使用します PPSE または カスタム PPSEを使用しません 補助 PPSE.

SDK 連携

この PPSE 管理 API 以下を含みます PpseFciTemplate クラスと次の DigitalizedCard 操作:

  • DigitalizedCard.getPpse(): トークンプロファイルで定義されたデフォルトの PPSE を取得します。

  • DigitalizedCard.getAuxiliaryPpse(): 補助デジタルカードプロファイル(共ブランドカード)で定義された PPSE を取得します。

  • DigitalizedCard.getCustomPpse(): カスタム PPSE を取得します。返します null 定義されていない場合は

  • DigitalizedCard.setCustomPpse(): カスタム PPSE を設定します。 null を渡してクリアします。

カスタム PPSE の作成

次の方法でカスタム PPSE を構築します PpseFciTemplate

  • 既存の PPSE テンプレートを使用します。

  • 生の PPSE バイトを使用します。

  • 一から構築します。

方法 1: 既存のテンプレートから PPSE を構築する

デジタルカードの PPSE をベースにして、対象を絞って変更したい場合にこの方法を使用します。

使用する場面:

  • 優先度やタグなど、既存の PPSE 内の特定のフィールドをカスタマイズしたい。

  • 選択的な変更を加えながら、デフォルトの PPSE 構造を保持したい。

  • カスタマイズ用のベーステンプレートが必要。

方法 2: 生のバイトから PPSE を構築する

完全な PPSE 応答データが BER-TLV 形式ですでに利用可能な場合にこの方法を使用します。

使用する場面:

  • 完全な PPSE 応答データを生のバイトとしてすでに持っています。

方法 3: 一から PPSE を構築する

各コンポーネントを個別に定義して、PPSE 構造をプログラムで構築する必要がある場合にこの方法を使用します。

使用する場面:

  • 既存のバイトデータなしで PPSE データを構築しています。

  • ディレクトリエントリ、AID、ラベル、その他の PPSE コンポーネントをプログラムで定義する必要があります。

  • コンパイル時検証付きの型安全な構築を希望しています。

  • 生のバイトよりも構造化されたオブジェクトを好みます。

DigitalizedCard は PPSE 応答を PpseFciTemplateとして公開します。独自の PpseFciTemplateを構築できます。以下の例では、その方法を示します。

カスタム PPSE をクリア

を渡して null カスタム PPSE を削除し、デフォルトの PPSE 応答を復元します。

検証ルール

NFC Wallet SDK は、次を呼び出すとカスタム PPSE を検証します DigitalizedCard.setCustomPpse()。これにより、カスタム PPSE が EMV 要件と BER-TLV エンコーディングに従っていることが保証されます。

サイズ制限

  • シリアライズされた BER-TLV ペイロードは 256 バイト以下でなければなりません。

  • 内のカスタムタグキー BF0C または 61 は 2 バイトを超えてはなりません。

必須タグ

あなたの PpseFciTemplate には次を含める必要があります:

  1. DF Name — タグ 84

  2. 少なくとも 1 つの Directory Entry — タグ 61BF0C

  3. 各ディレクトリエントリ内のアプリケーション識別子 — タグ 4F

検証に失敗した場合、SDK は InternalComponentException をエラーコード ERROR_CODE_INVALID_PPSE_DATA.

AID ロックの制限

AID を LockStatus.LOCKED でロックすることは、単一ブランドの Visa カードでのみサポートされます。

を設定した場合 LockStatus.LOCKED サポートされていないカードに対して、SDK は InternalComponentException.

最終更新

役に立ちましたか?