PIN Pad 會在 PIN Pad 管理系統的控制下執行加密語言函式。 部分 PinPad 服務物件支援多個 Pin Pad 管理系統,部分 Pin Pad 管理系統支援不同電子資金轉移 (EFT) 交易主機的多個金鑰集合, 因此,針對每筆 EFT 交易,應用程式必須選取要使用的 PIN Pad 管理系統與 EFT 交易主機。
程式設計模型
依 PIN Pad 管理系統而定,必須提供一或多個 EFT 交易參數給 PIN Pad,以用於加密語言函式。 應用程式應設定 ALL EFT Transaction 參數屬性的值,以便更輕鬆地移轉至需要不同 PIN Pad 管理系統的 EFT 交易主機。
- 在開啟、宣告並啟用 PIN Pad 的控制之後,應用程式應針對每個 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 交易的所有作業均已完成。 此規格支援顯示器的兩種使用方式模型。 CapDisplay 屬性表示下列其中一種模型:- 應用程式可完整控制要顯示的文字。 若要使用此模型,應用程式會利用相關聯的 LineDisplay 控制項來與顯示器互動。 - 應用程式無法提供要顯示的文字。 反之,只能從預先定義的訊息清單選取要顯示的訊息。 若要使用此模型,有一組 PIN Pad 屬性可用來控制顯示器。
共用裝置
PIN Pad 是獨佔用途裝置,因此:
- 應用程式必須先宣告裝置,才能啟用。
- 應用程式必須先宣告並啟用裝置,該裝置才能開始讀取輸入,或呼叫方法來操作裝置。
Microsoft Point of Service for .NET (POS for .NET) ~Impl 方法
字尾為 "Impl" 的受保護抽象方法會從 POS for .NET 的公用對應端進行呼叫。 這可實作基底類別,以在呼叫 ~Impl 方法前後,執行適當的狀態與錯誤檢查。 這些方法必須在服務物件程式碼中實作,但僅可在特殊情況 (例如需要移除服務物件程式碼或變更標準驗證測試的情況) 下覆寫公用的非抽象對應端。
POS for .NET 事件
PinPad 服務物件可能會將下列事件傳送至應用程式:
- DataEvent
- DirectIOEvent
- StatusUpdateEvent
- ErrorEvent