如何實現EMV卡的電子商務系統
Posted on 2006-06-07 10:37 奔跑的阿甘 閱讀(720) 評論(0) 編輯 收藏 引用 所屬分類: ATM Technology/EMV Notes
如何實現EMV卡的電子商務(E-Commerce)系統
Michael 2006/05/20
一 系統架構
IC卡<-->CS(Cardholder System)<-->MS(Merchant Server)<-->PG(Payment Gateway)。
Cardholder System和Merchant Server之間采用SET(Secure Electronic Transaction)message protocol。
二 持卡人系統(Cardholder System)的設計
在電子商務系統的持卡人系統中,需要考慮以下因素:
1。CS需要實現的IC卡交互功能
包括:Card Selection, Application Selection, Application Initiation, Read Application Data, Cardholder Verification, Terminal Action Analysis, Issuer Script Processing&Completion,不需要實現以下功能:Offline Data Authentication, Processing Restrictions, Terminal Risk Management.
2。CS需要支持的IC卡命令集
包括:SELECT, GET PROCESSING OPTIONS, READ RECORD, GET DATA, VERIFY, GENERATE AC, EXTERNAL AUTHENTICATE。同時,CS需要能夠解釋IC卡返回的數據。
3。CS需要保存和處理的數據
在交易過程中,CS需要保存有以下數據元素:
1) Amount Other: Cashback amount, 在E-Commerce系統中值為空。
2) BrandID-AID Table:
3) ISO8859 Code Table: 幫助解析Application Preferred Name等數據。
4) Terminal Type: E-Commerce系統的終端類型是“unattended, online, controlled by cardholder”(value=34).
5) Transaction Type: E-Commerce系統執行的交易是"purchase of goods or service"(value=00).
6) Terminal Verification Results: CS執行完每個功能保存的結果(共5 BYTES,40BITS)。
4。SET協議擴展消息
SET消息包中需要包含以下信息以執行EMV交易。
1) commonChip: the cryptogram and related data,由CS生成,存放在PReq消息中。
2) acqCardExtensions: Issuer Authentication and Issuer Script data,由Payment Gateway生成,存放在PRes消息的AcqCardMsgData域中。
3) onlinePIN: PIN data entered by the cardholder,由CS生成,存放在PReq消息中。
三 Merchant Server的設計
無特殊需求。
四 PG(Payment Gateway)的設計
PG需要能夠處理上述定義的SET協議擴展消息。
五 交易處理過程
定義IC卡<-->CS(Cardholder System)<-->MS(Merchant Server)<-->PG(Payment Gateway)之間的交互接口。
1。交易流程總覽
如圖。
2。CS和IC卡的功能交互接口
1) Card Selection: 持卡人選擇相應的支付卡執行交易
過程:
Merchant Server支持的所有支付卡需要被顯示;
CS需要提供所有可支付的方式;
CS需提示持卡人在交易期間IC卡不能退出,除非提示這么做
2) Application Selection: CS從IC卡中選擇相應應用并顯示
過程:
CS從MS發送的SET Initiation Message中獲取可用于交易支付的機構Brand,并使用BrandID-AID表找到并創建支持的應用標識(AIDs)。如果AID沒有找到,則要求持卡人嘗試另一張卡或者更新BrandID-AID表。
在IC卡給SELECT命令的答復中若包含Application Preferred Name,則該名稱需要顯示給持卡人,若不包含,則顯示Application Label給持卡人。如果答復中還包含Issuer URL,則CS同時還需要顯示該Issuer的LOGO給用戶。
3) Application Initiation: 初始化應用
4) Read Application Data: CS讀取IC卡應用數據
5) Cardholder Verification: CS從持卡人處獲取PIN信息發給IC卡或者ISSUER做身份校驗
當AIP第一字節的第五位為1時,需要做持卡人身份驗證。
6) Terminal Action Analysis: IC卡針對CS的交易授權請求決定DECLINE OFFLINE還是同意ONLINE AUTHORISATION REQUEST
要求:在給IC卡的GENERATE AC命令中發送的數據元素需要按照一定的格式轉換,以方便IC卡理解。
7) Issuer Script Processing and Completion: CS根據腳本執行操作并提示用戶取卡
3。CS和MS的消息交互接口
1) SET Initiation: MS通知CS并告知支付卡方式等交易細節
MS需要創建SET Payment Initiation消息并發送給CS,CS需要能夠解析處理該消息。
2) Purchase Initiation: CS創建Purchase請求并驗證MS和PG的身份,同時發送交易信息給MS
過程:CS創建發送PInitReq消息(包含Language, BrandID, BIN數據),MS創建響應PInitRes消息
3) Purchase Request&Response
PReq包含Language, BrandID, PAN, BIN, AID, Application Expiration Date等數據。
4。MS和PG的消息交互接口
1) Authorization Request(AuthReq) & Response(AuthRes)
2) Capture Request(CapReq) & Response(CapRes)