PBOCEMV交易流程详解POS与卡片的数据交互进行分析.docx

上传人:b****3 文档编号:2838232 上传时间:2022-11-15 格式:DOCX 页数:12 大小:19.38KB
下载 相关 举报
PBOCEMV交易流程详解POS与卡片的数据交互进行分析.docx_第1页
第1页 / 共12页
PBOCEMV交易流程详解POS与卡片的数据交互进行分析.docx_第2页
第2页 / 共12页
PBOCEMV交易流程详解POS与卡片的数据交互进行分析.docx_第3页
第3页 / 共12页
PBOCEMV交易流程详解POS与卡片的数据交互进行分析.docx_第4页
第4页 / 共12页
PBOCEMV交易流程详解POS与卡片的数据交互进行分析.docx_第5页
第5页 / 共12页
点击查看更多>>
下载资源
资源描述

PBOCEMV交易流程详解POS与卡片的数据交互进行分析.docx

《PBOCEMV交易流程详解POS与卡片的数据交互进行分析.docx》由会员分享,可在线阅读,更多相关《PBOCEMV交易流程详解POS与卡片的数据交互进行分析.docx(12页珍藏版)》请在冰豆网上搜索。

PBOCEMV交易流程详解POS与卡片的数据交互进行分析.docx

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]

SELECTSENDENDdd

qwe#######################################################

#######################################################

[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相关的便于记忆的数据此处为PBOCCredit

87:

应用优先指示器,如果卡片有多个应用,指出同一目录中应用的优先级。

bit8=》1:

没有持卡人确认应用不能选择;0:

没有持卡人确认可以选择应用

bit7-bit5:

RFU

bit4-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]SELECTSENDENDdd

qwe#######################################################

#######################################################

[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:

RFU

bit1:

1=支持CDA

字节2:

RFU

AFL(应用文件定位器),每个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文件就是:

0x14

b2############################################

[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]

展开阅读全文
相关资源
猜你喜欢
相关搜索

当前位置:首页 > 求职职场 > 面试

copyright@ 2008-2022 冰豆网网站版权所有

经营许可证编号:鄂ICP备2022015515号-1