您好,欢迎访问三七文档
当前位置:首页 > 商业/管理/HR > 项目/工程管理 > PBOCEMV-交易流程详解--POS与卡片的数据交互进行分析
PBOC/EMV-交易流程详解--POS与卡片的数据交互进行分析符号说明:RFU:预留使用近期在调试pboc的交易,就萌生了把所有数据交互进行分析的想法,目的是抛砖引玉,希望有高手指正本文错误,或者理解不透彻的地方。事不宜迟,下面是pboc交易的开始:检测插片,检测卡片存在后:(1):选择支付环境pse:1PAY.SYS.DDF01选择(SSELECT)报文,00A4xx(通过命令选择)xx(第一个或仅有一个)a4############################################[ICLEN:20][00][a4][04][00][0e][31][50][41][59][2e][53][59][53][2e][44][44][46][30][31][00]SELECTSENDENDddqwe##############################################################################################################[GETLEN:40][6f][24][84][0e][31][50][41][59][2e][53][59][53][2e][44][44][46][30][31][a5][12][88][01][01][5f][2d][08][7a][68][65][6e][66][72][64][65][9f][11][01][01][90][00]SELECTGETENDdd#######################################################对PSE支付环境的响应6F:FCI模板84:DF名称A5:FCI专用模板88:目录基本文件的SFI(高三位为0,后面补100,进行读取文件数据)5F2D:首选语言9F11:发卡行代码表索引BF0C:发卡行自定义数据--(该卡没有带此数据)FCI(文件控制信息)包含FCI(短文件标识符),目录中的每个应用列出一个应用。--至此,PSE选择完成。如果卡片对选择支付环境的响应不是9000,POS需要尝试逐个选择AID(2):选择与PSE相关联的一个基本文件,该文件会列出所支持的支付应用。(读记录)READRECORD00b2xx(记录号)xx(表明读记录号)b2############################################[ICLEN:5][00][b2][01][0c][00]SELECTSENDENDdd#######################################################asd#######################################################[GETLEN:49][70][2d][61][2b][4f][07][a0][00][00][03][33][01][01][50][0b][50][42][4f][43][20][43][72][65][64][69][74][87][01][01][9f][12][0f][43][41][52][44][20][49][4d][41][47][45][20][30][30][30][31][90][00]SELECTGETENDdd#######################################################卡片的响应:70xx(长度)xx(记录模板)70:基本数据模板61:应用模板,有pse才会存在,包含应用目录入口相关的数据对象4F:应用标识符=RID+PIX(应用提供商和专用应用标识符)50:应用标签,EMV规定为必备数据,用于应用选择,与AID相关的便于记忆的数据此处为PBOCCredit87:应用优先指示器,如果卡片有多个应用,指出同一目录中应用的优先级。bit8=》1:没有持卡人确认应用不能选择;0:没有持卡人确认可以选择应用bit7-bit5:RFUbit4-bit10000:不指定优先级。:xxxx:1-15,1优先级最高9f12:应用首选名称此处是:CARDIMAGE0001获得一个AID后,应该选入AID列表继续读取文件的下一个记录b2############################################[ICLEN:5][00][b2][02][0c][00]SELECTSENDENDdd#######################################################asd#######################################################[GETLEN:2][6a][83]SELECTGETENDdd#######################################################直到没有任何记录可读取(3):根据读取的记录的应用标识符加入AID列表,然后根据用户按键进行选择应用或者根据优先级选择应用。a4############################################[ICLEN:13][00][a4][04][00][07][a0][00][00][03][33][01][01][00]SELECTSENDENDddqwe##############################################################################################################[GETLEN:48][6f][2c][84][07][a0][00][00][03][33][01][01][a5][21][87][01][01][9f][38][0c][9f][1a][02][9f][7a][01][9f][02][06][5f][2a][02][5f][2d][08][7a][68][65][6e][66][72][64][65][9f][11][01][01][90][00]SELECTGETENDdd#######################################################--选择ADF的响应报文6F:FCI模板84:DF名称9F38:PDOL的数据(9F1A:终端国家代码;9F7A:电子现金指示器,9F02:授权金额,5F2A:交易货币代码)5F2D:首选语言9F11:发卡行代码表索引进行最终选择,要求用户输入金额,判断POS是否能走电子现金交易路径,表示电子现金指示器。(4):获取处理选项(GPO)通知卡片交易开始。根据PDOL选项进行组包。GPO指令的发送80a80000xx(长度)83(PDOL标签)xx(PDOL长度)xxxx(数据)a8############################################[ICLEN:19][80][a8][00][00][0d][83][0b][01][56][01][00][00][00][00][00][09][01][56][00]SELECTSENDENDss##############################################################################################################[GETLEN:18][80][0e][58][00][08][01][01][00][10][01][04][01][18][01][03][00][90][00]SELECTGETENDss#######################################################GPO的响应格式包括:80xx(长度)xx(应用交互特征)xx(AFL)如上,应用交互特征为:5800解析:bit8:RFU;bit7:1=支持SDA;bit6:1=支持DDA;bit5:1=支持持卡人认证bit4:执行终端风险管理bit3:支持发卡行认证bit2:RFUbit1:1=支持CDA字节2:RFUAFL(应用文件定位器),每个AFL包括4个字节字节1:bit8-bit4:SFI(短文件标识符)bit3-bit1:000字节2:文件中要读的第1个记录的记录号(不能为0)字节3:文件中要读的最后一个记录的记录号(大于或等于字节2)字节4:从字节2的记录好开始,用于静态数据记录的个数(从0开始,不大于(字节3)-(字节2)+1)根据GPO返回的AFL,读文件。读文件号格式为:SFI左移3位,右边补100。比如上面的08十六进制就是00001000bit8-bit4才是SFI,所以真实的是:00000001,读取文件的时候,右补0100(表明读取指定记录),得到00001100,就是0x0c。同理,02文件就是:0x14b2############################################[ICLEN:5][00][b2][01][0c][00]SELECTSENDENDdd#######################################################asd#######################################################[GETLEN:66][70][3e][5f][20][0f][46][55][4c][4c][20][46][55][4e][43][54][49][4f][4e][41][4c][57][11][62][28][00][01][00][00][11][17][d1][01][22][01][01][23][45][67][89][9f][1f][16][30][31][30][32][30][33][30][34][30][35][30][36][30][37][30][38][30][39][30][41][30][42][90][00]SELECTGETENDdd#######################################################70:模板5f20:持卡人姓名:FULLFUNCTIONAL57:二磁道等价数据(包括主账户分隔符失效日期服务码PIN验证域自定义数据如果不是偶数,补充F)9F1F:磁道一自定义数据b2############################################[ICLEN:5][00][b2][01][14][00]SELECTSENDENDdd#######################################################asd#######################################################[GETLEN:18][70][0e][5a][08][62][28][00][01][00][00][11][17][5f][34][01][01][90][00]SELECTGETENDdd#######################################################5a:应用主账号(PAN)5F34:应用主账号(应用PAN的序列号)b2############################################[ICLEN:5][00][b2][02][14][00]SELECTSENDENDdd#######################################################asd##################################################
本文标题:PBOCEMV-交易流程详解--POS与卡片的数据交互进行分析
链接地址:https://www.777doc.com/doc-6161177 .html