📄 datapackunpackmodule.h
字号:
// 0410 冲正类应答消息(冲正取款,冲正转帐)
// 0500 对帐类请求消息(自助设备结帐)
// 0510 对帐类应答消息(自助设备结帐)
// 0600 管理类请求消息(自助设备开机时间同步,自助设备线路检测,
// 自助设备软件故障,自助设备硬件故障,
// 前置机软开启自助设备服务,前置机软关闭自助设备,
// 前置机统计自助设备交易信息)
// 0610 管理类应答消息(自助设备开机时间同步,自助设备线路检测,
// 自助设备软件故障,自助设备硬件故障,
// 前置机软开启自助设备服务,前置机软关闭自助设备,
// 前置机统计自助设备交易信息)
unsigned char Bit_map[17]; //位图
unsigned char Extended_bit_map[17]; //扩展位图
unsigned char Service_id[5]; //服务类型,n5
// 00000 (银行业务类)
// 10000 (管理类)
unsigned char Transact_code[6]; //交易处理代码,n6*/
// 010000(01提款/现金付款,000银行业务,0非撤消交易
// 010009(01提款/现金付款,000银行业务,9撤消交易)
// 020000(02现金存款,000银行业务,0非撤消交易)
// 030000(03转帐服务,000银行业务,0非撤消交易)
// 030009(03转帐服务,000银行业务,9撤消交易)
// 040000(04查询服务,000银行业务,0非撤消交易)
// 050000(05改密,000银行业务,0非撤消交易)
// 060000(06交易确认,000银行业务,0非撤消交易)
// 601000(60设备端或前置机发起管理请求,100自助设备开机时间同步,0非撤消交易)
// 601010(60设备端或前置机发起管理请求,101自助设备线路检测,0非撤消交易)
// 601020(60设备端或前置机发起管理请求,102自助设备软件故障,0非撤消交易)
// 601030(60设备端或前置机发起管理请求,103自助设备硬件故障,0非撤消交易)
// 601040(60设备端或前置机发起管理请求,104自助设备结帐,0非撤消交易)
// 601050(60设备端或前置机发起管理请求,105前置机软开启自助设备服务,0非撤消交易)
unsigned char Trade_money_type[3]; //交易货币的类型a3,人民币CNY,美元USD
unsigned char Trade_amount[12]; //交易金额,n12;全额充正时:交易金额=总金额
//部分充正时:交易金额=总金额-实际交易金额
unsigned char Settlement_amount[12]; //结算金额,n12
ATM_IFORM_Replacement_amount Replacement_amount; //42字节
//部分或全额冲正交易时所需重置的金额an42
ATM_IFORM_Original_trade_elements_of_equipment Original_trade_elements;
//20字节
//设备端原始交易数据n20
unsigned char Service_of_entry_mode[3]; //指定磁卡为021,IC卡为051,an3
ATM_IFORM_pin_capture_code Pin_capture_code; //2字节
//服务点PIN获取码
unsigned char Personal_pin_data[8]; //个人PIN数据(银行端密码)b64
unsigned char New_personal_pin_data[8]; //个人新PIN数据b64
unsigned char Start_date_of_fee[8]; //an8缴费起始日期
unsigned char End_date_of_fee[8]; //an8缴费终止日期
unsigned char Start_date_of_print[8]; //an8打印起始日期
unsigned char End_date_of_print[8]; //an8打印终止日期
ATM_IFORM_Clientele_identity_id Clientele_identity_id; //21字节
//客户证件号
unsigned char Clientele_name[10]; //as10客户姓名
unsigned char Card_effective_date[4]; //n4卡的有效期
unsigned char Primary_account[19]; //银行主帐号(转帐时为转出帐号)n..19
unsigned char Child_id_of_primary_account[2]; //n2主帐号的子帐号
// 01:磁条卡,ic卡第一帐号(基本帐号);
// 02:ic卡电子存折;
// 03:ic卡电子钱包;
// 04-99:保留
unsigned char Ingress_account[19]; //银行的转入帐号n..19
unsigned char Child_id_of_ingress_account[2]; //银行转入帐号的子帐号;
// 01:磁条卡 ic卡第一帐号;
// 02:ic卡电子存折;
// 03:ic卡电子钱包;
// 04-99:保留
unsigned char Track_2_data[37]; //llvar37第二磁道信息,不包括起始符':'或';'
unsigned char Track_3_data[104]; //lllvar104第三磁道信息
unsigned char Date_of_trade_addr[8]; //an8交易地日期
unsigned char Time_of_trade_addr[6]; //an6交易地时间
unsigned char Ic_security_data[256]; //ans...256,Ic卡验证信息
unsigned char Equipment_id[8]; //ans8设备编号
//1-2位定义如下:
// 51 取款机,52 银行POS终端,53 商用POS终端
// 54 存款机,55 存取款机,56外币存款机,59 POB
// 60 结单打印机,61存折补登机,62多媒体查询机,63自动缴费机
//3-5位:县辖号
//6-8位:顺序号
unsigned char Agent_addr_code[11]; //llvar11代理地机构编号
unsigned char Settlement_date_of_equipment[8]; //an8设备结帐日期
unsigned char Trace_number_of_equipment[6]; //n6设备端流水号
unsigned char Prepositive_computer_code[11]; //n..11前置机机构编号
unsigned char Settlement_date_of_prepositive_computer[8];//an8前置机结帐日期
unsigned char Prepositive_computer_trace_number[12]; //n12前置机流水号
unsigned char Prepositive_computer_trade_date[8]; //an8前置机交易日期
unsigned char Prepositive_computer_trade_time[6]; //an6前置机交易时间
ATM_IFORM_Original_trace_number_of_prepositive_computer Original_trace_number_of_prepositive_computer;
//26字节
//n26冲正所需前置机原始交易数据
unsigned char Card_center_code[11]; //llvar11发卡中心机构编号
unsigned char Settlement_date_of_bank[8]; //an8银行主机结算日期
unsigned char Bank_trace_number[12]; //n12银行主机流水号
unsigned char Bank_trade_date[8]; //an8银行主机交易日期
unsigned char Bank_trade_time[6]; //an6银行主机交易时间
ATM_IFORM_Balance_amount_of_bank Balance_amount_of_bank;
//36字节
//ans36银行帐户余额
unsigned char Authorization_code[6]; //an6授权码
unsigned char Entrust_unit_code[11]; //llvar11委托单位机构编号
unsigned char Settlement_date_of_entrust_unit[8]; //an8委托单位结帐日期
unsigned char Entrust_unit_trace_number[12]; //n12委托单位流水号
unsigned char Entrust_unit_trace_date[8]; //an8委托单位交易日期
unsigned char Entrust_unit_trace_time[6]; //an6委托单位交易时间
ATM_IFORM_Balance_amount_of_bank Balance_amount_of_entrust_unit;
//36字节
//ans36委托单位余额
unsigned char Account_type_of_entrust_unit; //an1委托单位帐号类型(需根据委托单位制定)
unsigned char Account_of_entrust_unit[20]; //an20委托单位帐号
ATM_IFORM_Message_of_receive_file Message_of_receive_file;
//58字节
//ans58文件传输信息
ATM_IFORM_Equipment_server_status Equipment_server_status;
//13字节
//a13设备服务状态
ATM_IFORM_Drawing_box_status Drawing_box_status; //32字节
//ans32取款钞箱张数
ATM_IFORM_Statistics_of_trade_information Statistics_of_trade_information;
//66字节
//n66交易统计信息
ATM_IFORM_Exception_information Exception_information; //11字节
//an11例外信息
unsigned char Receive_file_buffer[1024]; //anslllvar1024文件块接收缓冲
unsigned char Additional_data[1024]; //anslllvar1024可能会存放二进制数据,并需要设备端返回
unsigned char Respond_code[2]; //an2应答码
ATM_IFORM_Security_related_control_information Security_related_control_information;
//16字节
//数据安全控制信息保密代码ans16
unsigned char Key_used_number[8]; //n8密钥同步计数器
unsigned char Message_authentication_code[8]; //b64信息授权代码
}ATM_IFORM;
DATAPACKUNPACKMODULE_API int PackDatagram(ATM_IFORM *pATM , unsigned char * pStr);
DATAPACKUNPACKMODULE_API int UnPackDatagram(unsigned char *pStr , ATM_IFORM *pATM);
int ISOToATM(ISO_data *pISO,ATM_IFORM *pATM);
void BCDToASC(unsigned char *bcd,unsigned char *asc,int asc_len);
int RcvStrToISO(unsigned char *dstr,ISO_data *pISO);
int ATMToISO(ATM_IFORM *pATM,ISO_data *pISO);
void ASCToBCD(unsigned char *ascii_buf,unsigned char *bcd_buf,int conv_len);
int ISOToSendStr(unsigned char *dstr,ISO_data *pISO);
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -