IC卡
前言
早期通路非常流行利用晶片卡記錄會員的資訊、以及會員的點數例如大苑子銷售的儲值卡。為了因應眾多客戶整合晶片卡的需求。而建立了晶片卡元件。
技術
- 1. 尋訪Windows API
- 2. 因IC晶片卡的卡機有的是有多種模式的。所以須先設定他是要走何種模式
- 3. 解析字型發生異常。在不同的讀卡機會遇到WINDCHAR OR ANSICHAR的異常
pos應用
- 1. 小丁婦幼的會員輸入
- 2. 綠野仙蹤的會員查詢
後續發展
- 1. 可與特定製卡廠商配合。可做儲值卡的應用
- 2. 加值、扣款、消費歷程的記錄、贈送點數。
uml
API訪問
winscard.dll 再system32 底下就有
靜態載入後封裝成元件使用
主要使用到的function,就不特別介紹如何使用,已封裝成元件。
常用Mathon |
功能說明 |
SCardEstablishContext |
呼叫周邊卡機回應 |
SCardListReadersA |
回應機器名稱 |
SCardConnectA |
連結卡機 |
SCardTransmit |
讀取記憶體 |
pcsc使用
TPCSCConnector – [送收WEBSV動作請求] |
|
事件 |
說明 |
OnCardActive |
卡片動作後[可取卡片固定資訊] |
OnCardInserted |
卡片插入後 |
OnCardInvalid |
卡片無效 |
OnCardRemoved |
卡片離開後 |
OnError |
其他錯誤 |
OnReaderListChange |
卡片列表選擇,若卡機本身可讀多種類型客戶也有此需求可以在此做設定否則固定即可 |
OnReaderWaiting |
等待卡片插入 (用來更新狀態) |
TPCSCConnector.Properties – [PCSC設定的屬性] |
||
參數 |
屬性 |
說明 |
UseReaderNum |
integer |
選擇第幾個讀卡類型 |
TPCSCConnector Init – [檢查是否有此裝置設備 ] |
||
回傳 |
屬性 |
說明 |
Return |
Boolean |
True找到設備 False找不到設備 |
TPCSCConnector Open – [設備連結] |
||
回傳 |
屬性 |
說明 |
Return |
Boolean |
True 連線成功 False 連線失敗 |
TPCSCConnector Connect – [選擇的接口連線] |
||
回傳 |
屬性 |
說明 |
Return |
Boolean |
True連線成功 False連線失敗 |
TPCSCConnector Disconnect – [關閉接口連線] |
TPCSCConnector.Close – [關閉設備連線] |
TPCSCConnector GetResponseFromCard – [讀取資料] |
||
參數 |
屬性 |
說明 |
apdu |
String |
訪問的卡片類型使用 Example 4442 #$FF#$B0#$00#$20#$08 從第20像後取8個位置 Example mafee #$FF#$CA#$00#$00#$00 查卡片內存全部 |
回傳 |
屬性 |
說明 |
Return |
String |
回應字串(卡片內存) |