PIN パッドは、PIN パッド管理システムの制御下で暗号化機能を実行します。 一部の PinPad サービス オブジェクトは、複数の PIN パッド管理システムをサポートしています。また、一部の PIN パッド管理システムは、さまざまな電子資金転送 (EFT) トランザクション ホスト用に複数のキー セットをサポートしています。 そのため、EFT トランザクションごとに、アプリケーションは使う PIN パッド管理システムと EFT トランザクション ホストを選ぶ必要があります。
プログラミング モデル
PIN パッド管理システムによっては、暗号化機能で使うために 1 つ以上の EFT トランザクション パラメーターを PIN パッドに指定する必要があります。 さまざまな PIN パッド管理システムを必要とする EFT トランザクション ホストへの移行を容易にするために、アプリケーションではすべての EFT トランザクション パラメーター プロパティの値を設定する必要があります。
- PIN パッド コントロールを開き、要求し、有効にした後、アプリケーションは各 EFT トランザクションに対して以下の一般的なシナリオを使う必要があります。
- EFT トランザクション パラメーター (AccountNumber、Amount、MerchantID、TerminalID、Track1Data、Track2Data、Track3Data、Track4Data、TransactionType の各プロパティ) を設定してから、BeginEftTransaction(PinPadSystem, Int32) メソッドを呼び出します。 これにより、デバイスが初期化され、EFT トランザクションの暗号化機能が実行されます。
PIN エントリが OnFailure の場合は、EnablePinEntry() メソッドを呼び出します。 次に DataEventEnabled プロパティを設定し、DataEvent イベントを待機します。
- メッセージ認証コードが必要な場合は、必要に応じて ComputeMac(String) と VerifyMac(String) メソッドを使います。
- EndEftTransaction(EftTransactionCompletion) メソッドを呼び出して、EFT トランザクションのすべての操作が完了したことをデバイスに通知します。 この仕様では、ディスプレイの使用方法として 2 つのモデルをサポートしています。 CapDisplay プロパティは、次のモデルのいずれかを示します。- 表示されるテキストをアプリケーションが完全に制御します。 このモデルには、関連付けられた LineDisplay コントロールがあります。これはアプリケーションがディスプレイと対話するために使われます。 - アプリケーションは、表示されるテキストを提供できません。 代わりに、あらかじめ定義されたメッセージの一覧から選んで表示することしかできません。 このモデルには、ディスプレイを制御するために使われる一連の PIN パッド プロパティがあります。
デバイス共有
PIN パッドは排他的に使用されるデバイスであるため、次のようになります。
- アプリケーションは、デバイスを有効にする前にそれを要求する必要があります。
- デバイスが入力の読み取りを開始する前、またはデバイスを操作するメソッドを呼び出す前に、アプリケーションはデバイスを要求し、有効にする必要があります。
Microsoft Point of Service for .NET (POS for .NET) の ~Impl メソッド
"Impl" というサフィックスで終わる保護された抽象的なメソッドは、対応する POS for .NET パブリック メソッドから呼び出されます。 このため、基底クラスの実装では、~Impl メソッドが呼び出される前後に適切な状態およびエラーのチェックを実行できます。 これらのメソッドはサービス オブジェクト コードで実装する必要がありますが、パブリックで非抽象の対応するメソッドは、サービス オブジェクト コードで標準の検証テストを削除または変更する必要がある場合など、特殊な場合にのみオーバーライドする必要があります。
POS for .NET のイベント
PinPad サービス オブジェクトは、次のイベントをアプリケーションに送信できます。
- DataEvent
- DirectIOEvent
- StatusUpdateEvent
- ErrorEvent
参照
その他の参照情報
.NET