var icData = new ICData();

var deviceResult = crd.CRDICPowerOn();
if (!deviceResult.IsSuccess)
return null;

var result = crd.CRDPBOCInit();
if (!result.IsSuccess)
return null;

var pseResult = crd.CRDPBOCGetPSEAID("1PAY.SYS.DDF01");
if (!pseResult.IsSuccess)
return null;

var selectADFResult = crd.CRDPBOCSelectADF(pseResult.Result.AId);
if (!selectADFResult.IsSuccess)
return null;

var afl = crd.CRDPBOCGetProOption(0, 0);
if (!afl.IsSuccess)
return null;

var readAppdata = crd.CRDPBOCReadAppData(afl.Result);
if (!readAppdata.IsSuccess)
return null;

var readTrackInfo = crd.CRDPBOCGetTrack2Data();
if (!readTrackInfo.IsSuccess)
return null;

var cardNumber = crd.CRDPBOCGetICInfo(BaseInfoType.CardNo);
if (!cardNumber.IsSuccess)
return null;

var initForLoad = crd.CRDPBOCInitForLoad();
if (!initForLoad.IsSuccess)
return null;

var trackInfo = readTrackInfo.Result.Track2Data.Split('=');
icData.凭证代号 = trackInfo.Count() == 2 ? "26" + trackInfo[1].Substring(10, 7) : "";
icData.卡号 = cardNumber.Result.CardNo;
icData.卡号序号 = cardNumber.Result.CardNoIndex;
icData.安全认证信息 = crd.CRDPBOCReadIcTLV(initForLoad.Result.CardNoAndIndex, initForLoad.Result.ARQCRawData, initForLoad.Result.ARQCData);

.....发送报文获取IC卡写卡脚本
根据行内返回脚本能需要调用外部认证(SS_CRD_PBOCExternalAuth)
也可能在执行脚本方法做认证(不需要交易调用外部认证方法)

var exeScirpt = crd.CRDPBOCExecScirpt(response.脚本);
TradeLogger.DebugFormat("ExecScirpt结果:{0}", exeScirpt.Result);
if (!exeScirpt.IsSuccess)
{
writeCardIsSuccess = false;
}
var finishLoad = crd.CRDPBOCFinishLoad();
TradeLogger.DebugFormat("FinishLoad结果:{0}", finishLoad.Result);
if (!finishLoad.IsSuccess)
{
writeCardIsSuccess = false;
}
var close = crd.CRDPBOCClose();
TradeLogger.DebugFormat("PBOCClose结果:{0}", close.Result);
if (!close.IsSuccess)
{
writeCardIsSuccess = false;
}
var powerOff = crd.CRDICPowerOff();
TradeLogger.DebugFormat("PowerOff结果:{0}", powerOff.Result);
if (!powerOff.IsSuccess)
{
writeCardIsSuccess = false;
}

IC卡写卡操作流程的更多相关文章

  1. 门禁 IC卡 ID 卡 RFID 手环 NFC 银行卡 手机模拟门禁

    门禁 IC卡 ID 卡 RFID 手环 NFC 银行卡 手机模拟门禁 原因 最近给公司换了一个门禁. 旧的门禁按键面板已经破了. 不支持我的手环. 按了密码后竟然要按 #. 相关信息 查了资料记录一下 ...

  2. Android NFC近场通信02----读写卡的准备工作

                        Android NFC近场通信02----读写卡的准备工作      因为公司接了一个听上去感觉比較NB的项目.给某油田做派工系统 .并由小女子负责Androi ...

  3. (集成电路卡)ID卡

    IC卡(intergrated Circuit Card,集成电路卡),又称为智能卡,智慧卡,微电路卡,微芯片卡 等等. 它是将一个微电子芯片嵌入符合ISO 7816标准的卡基中,做成卡片形状. IC ...

  4. cpu卡,sam卡原理

    第一部分 CPU基础知识一.为什么用CPU卡IC卡从接口方式上分,可以分为接触式IC卡.非接触式IC卡及复合卡.从器件技术上分,可分为非加密存储卡.加密存储卡及CPU卡.非加密卡没有安全性,可以任意改 ...

  5. 初识CPU卡、SAM卡/CPU卡简介、SAM卡简介 【转】

    初识CPU卡.SAM卡/CPU卡简介.SAM卡简介 IC卡按照接口方式可分为接触式卡.非接触式卡.复合卡:按器件技术可分为非加密存储卡.加密存储卡和CPU卡. 加密存储卡是对持卡人的认证,只有输入正确 ...

  6. 联盛德 HLK-W806 (十三): 运行FatFs读写FAT和exFat格式的SD卡/TF卡

    目录 联盛德 HLK-W806 (一): Ubuntu20.04下的开发环境配置, 编译和烧录说明 联盛德 HLK-W806 (二): Win10下的开发环境配置, 编译和烧录说明 联盛德 HLK-W ...

  7. Keil MDK STM32系列(九) 基于HAL和FatFs的FAT格式SD卡TF卡读写

    Keil MDK STM32系列 Keil MDK STM32系列(一) 基于标准外设库SPL的STM32F103开发 Keil MDK STM32系列(二) 基于标准外设库SPL的STM32F401 ...

  8. 迅雷9、迅雷极速版之迅雷P2P加速:流量吸血鬼?为什么你装了迅雷之后电脑会感觉很卡很卡?

    原文地址:http://www.whosmall.com/post/90 关闭极速版迅雷ThunderPlatform.exe进程 ThunderPlatform.exe目的:利用P2P技术进行用户间 ...

  9. 信用评分卡(A卡/B卡/C卡)的模型简介及开发流程|干货

    https://blog.csdn.net/varyall/article/details/81173326 如今在银行.消费金融公司等各种贷款业务机构,普遍使用信用评分,对客户实行打分制,以期对客户 ...

随机推荐

  1. DelphiXE8怎么使用调试模式

    需求:在开发Android程序时,大家一直是使用ShowMessage.其实XE是支持下断点的. 操作: 1.小米手机用USB线,连到电脑上. 2.小米手机-设置-关于手机-"MIUI版本& ...

  2. [iOS 多线程 & 网络 - 1.2] - 多线程GCD

    A.GCD基本使用 1.GCD的概念 什么是GCD全称是Grand Central Dispatch,可译为"牛逼的中枢调度器"纯C语言,提供了非常多强大的函数GCD的优势GCD是 ...

  3. HDU 1010 Tempter of the Bone (DFS+剪枝)

    题意:从S走到D,能不能恰好用T时间. 析:这个题时间是恰好,并不是少于T,所以用DFS来做,然后要剪枝,不然会TEL,我们这样剪枝,假设我们在(x,y),终点是(ex,ey), 那么从(x, y)到 ...

  4. C++中动态申请二维数组并释放方法

    C/C++中动态开辟一维.二维数组是非常常用的,以前没记住,做题时怎么也想不起来,现在好好整理一下. C++中有三种方法来动态申请多维数组 (1)C中的malloc/free (2)C++中的new/ ...

  5. javabean总结

    一. javabean 是什么? Bean的中文含义是“豆子”,顾名思义,JavaBean是指一段特殊的Java类, 就是有默然构造方法,只有get,set的方法的java类的对象. 专业点解释是: ...

  6. VB连接Mysql数据库

    当然机器装有mysql数据库 然后下载安装Mysql,odbc驱动 须要加入ado'菜单"project"->"引用" 找 Microsoft Activ ...

  7. 【转】教你Ruby快速入门

    转自:http://developer.51cto.com/art/200703/41243.htm 介绍 这是一个短小的Ruby入门,完全读完只需20分钟.这里假设读者已经安装了Ruby,如果你没有 ...

  8. Node.js简单介绍

    Node.js是一个能够让javascript执行在server上的平台,既是语言又是平台. Node.js是一个实时web应用程序的平台. Node.js有强大的包管理器npm,故node相关软件安 ...

  9. Codeforces Gym 100523K K - Cross Spider 计算几何,判断是否n点共面

    K - Cross SpiderTime Limit: 20 Sec Memory Limit: 256 MB 题目连接 http://acm.hust.edu.cn/vjudge/contest/v ...

  10. PhoneTutorial

    https://github.com/navasmdc/PhoneTutorial PhoneTutorial-master.zip