PBOC流程解析(八) 联机处理

POS规范 -- IC卡操作流程 2016/09/21

联机处理

(一)文档说明

在联机响应处理阶段,终端接收来自发卡行主机的联机响应,并决定是否应该进行发卡行认证:

——如果以下两个条件同时满足,终端将按照7.11.4.3描述进行发卡行认证。

● 联机授权响应中包含发卡行认证数据;

● 应用交互特征(AIP)显示卡片支持发卡行认证。

——如果满足以下任一条件,终端将进行交易结束处理

● 联机授权响应中不包括发卡行认证数据;

● 应用交互特征(AIP)表明卡片不支持发卡行认证。

终端应能正确读取并处理收单行返回的数据:授权码,授权响应代码,发卡行认证数据,发卡行脚本等。

授权响应码的处理:联机成功后,收单行会在响应报文里传送发卡行的两字节授权响应码,表示发

卡行对交易的授权结果,如批准交易、拒绝交易或发卡行要求的授权参考。

处理脚本: 脚本解析及处理 后面单独再讲.

第二次GAC

(二)资料解析

第二次GAC根据8D CDOL2的数据来组包跟 CDOL1类似 8D-卡片风险管理数据对象列表2(CDOL2) Length=29 Value=8A02 9F0206 9F0306 9F1A02 9505 5F2A02 9A03 9C01 9F3704 9F2103 9F4E14 3030 //授权响应吗 000000000002 授权金额 000000000000 其他金额 0156 终端国家代码 000004E000 tvr 0156 交易货币代码 160601 交易日期 00 交易类型 719B5D0B 终端随机数 095214 交易时间 0000000000000000000000000000000000000000 商户名称 SEND:80AE40003630300000000000020000000000000156000004E000015616060100719B5D0B095214000000000000000000000000000000000000000000 这里发送的命令第三个字节为40(01000000),明显这个第二次GAC,终端请求的是TC。 recv:801E 40 18D7 7B029B07E9B6C0FB 070D0103602402010A010000000000B53DAF03 9000

表19  生成AAC时GENERATE AC命令返回的数据对象 
标签  长度  值  		存在 
‘9F27’  1  密文信息数据  必须 
‘9F36’  2  应用交易计数器  必须 
‘9F26’  8  应用认证密文  必须 
‘9F10’  变长,最长32  发卡行应用数据  可选 

(三)源码片段分析

根据AIP (82标签)和  返回的91标签 待认证的数据
paip = emvget_appdata(0x82, NULL);
if (AIP_IA_Support(paip) && (p91 = emvget_appdata(0x91, &i))) 
{
    if (emvicc_external_auth(p91, i) != 0x9000)  //认证命令
	{
        tvr_set(ISSUER_AUTHENTICATION_FAILED); //持卡人认证失败
    }
    tsi_set(ISSUER_AUTH_PERFORMED);//持卡人认证成功
}

(四)常见问题及分析

1.在做完对应的步骤,不要忘记设置相应的TVR(95) TSI(9B)

2.根据后台响应的39域应答码,向卡片发送第二次GAC请求指令,以结束交易



扫描关注我

(转载本站文章请注明作者和出处 Undefined

Post Directory