福建省社会保障金融IC卡医院就诊小额支付结算接口
福建省社会保障金融IC卡医院就诊小额支付结算接口
规范
福建省社会保障金融卡医院就诊小额支付结算 SUBJECT \*
MERGEFORMAT 接口规范
?
?
?
?
?
?
?
?
?
?
?
福建省社会保障金融IC卡医院就诊
小额支付结算接口规范
?
?
?
?
?
?
?
?
?
?
?
?
?
?
?
? 中国银联股份有限公司福建分公司
二?一?年五月十二日
?
版本控制信息
?
版本
日期
拟稿和修改
说明
1.0
2010.05.12
中国银联福建分公司
初稿
2010.5.21
中国银联福建分公司
根据和医院沟通修改
2010.5.24
中国银联福建分公司
完善参数描述,合并代付文件格式
?
目 录
?41引言
42接口
数定义
42.1卡片信息查询接口 52.2脱机消费接口
6ucTransAttachment格式 72.3 卡片交易明细查询接口 83.交易明细的清算
83(1 IC卡脱机消费批扣文件接口 83(1(1文件功能
83.1.2.命名规则及交易类型 83(1(3交易代码说明 93(1.4 IC卡脱机批扣文件的组成 93(1.5基本记录格式定义 15系统概述
15数据传输安全
16数据接口
16概述
16字段类型定义说明
16字段类型属性
17委托批量代收/代付申请文件 17文件名
17文件格式
17文件记录格式
20委托代收/代付处理结果应答文件 20文件名
21文件格式
21文件记录格式
24注意事项
24传输过程中文件的定义
24参与md5校验的数据
24应答文件注意事项
24分配的代码使用注意事项
24附
24行业单位代码对照表
26银行代码表
27处理结果代码表
28医院问
答疑
28代收与代付是否可以在同一个文件中, 28代收代付文件名称REQCyyyymmdd,
28医院行业单位代码是什么,
28医院代收付项目代码是什么,
28代收付请求文件中的用户号是什么, 28委托代收付提出日期是什么,是文件生成日期或数据交易日期
28为纪录的MD5校验值如何生成,用第三方工具, 28代收代付文件生成否如何传送,
29批量委托关系建立/撤销申请文件含义是什么, 29其他行业在生成代收代付文件后(即已上传),如何重新生成代收代付文
件,规范中并未有重复提交的校验,
29一日内是否可以多个上传文件,
29代收代付金额(N12.2)转换成字符后是否应该为13位, 29代收付系统环境如何搭建,
29若电子钱包交易成功,但医院系统若出现错误之类的没有上送相关数据,银行是否未来会将交易取消,医院是否需要一代收,一代付上传交易,
29服务提供商保留信息是否为医院保留信息,
29代收代付应答处理结果文件何时返还,何时到达医院账户,
1引言
本规范规定了福建省社会保障金融IC卡在医院就诊流程中进行小额支付结算的软件接口函数等内容,不涉及金融(或行业)前置系统、银联前置系统的规定。
本规范作为《中国银联商户MIS系统技术
》和《中国银联直联POS终端规范》的补充规范使用,仅适用于福建银行IC卡试点使用。规范适用于嵌入到商户MIS系统,POS终端只负责脱机交易处理,而交易流水日志维护和上送由MIS系统负责的情况。终端其它硬件、软件和安全要求应按照《中国银联直联POS终端规范》并通过相关认证、具备相关资质,MIS商户系统安全要求应参照《中国银联商户MIS系统技术标准》执行。
2接口函数定义
2.1卡片信息查询接口
函数原型
long YKT_ICGetInfo (
unsigned int nInfoType,
char *szCardInfo, unsigned long *ulBalance, char *szWarnmsg, char *szErrmsg
)
功能说明
读取IC卡上信息内容,本函数包含的卡基本信息查询、余额查询等两个
功能。
入口
nInfoType:信息类型
0 – 读卡信息及余额
1 – 只读卡信息,
2 – 只读余额
出口
szCardInfo:卡信息内容
当nInfoType = 0 或 = 1时,取值如下:
偏移地址
描述
长度(字节) 数据类型
0,31
姓名
32
AN
32,33
性别
2
AN
34,41
出生日期
8
AN
42,43
证件类型
2
AN
44,75
证件号码
32
AN
76,95
银行卡号
20
AN
96,104
社保卡号
9
AN
当nInfoType = 2时,此域无意义
性别:“01”,男,“00”,女
证件类型:
“00”,身份证
“01”,军官证
“02”,护照
“03”,入境证(仅限香港/台湾居民使用)
“04”,临时身份证
“05”,其他
ulBalance:卡片余额
当nInfoType = 1时,此域无意义
szWarnmsg:警告信息,非空时应显示
szErrmsg:错误信息
社保卡号从社保应用获取
函数返回值
0表示成功,非0表示失败,错误信息见szErrmsg参数。
注:数据类型AN的含义是字母和数字。
2.2脱机消费接口
函数原型
long YKT_ICPurchase ( unsigned long ulAmount, char *szTransTime, char *szTransOutInfo, unsigned long *ulTransCounter, unsigned long *ulBalance, char *szName,
char szBankCardNo[19+1],
char *szCertID,
char szSecureID[9+1],
char ucTransAttachment[142+1],
char *szWarnmsg, char *szErrmsg )
功能说明
脱机消费时调用或使用。
入口
ulAmount:交易金额(以分为单位)
szTransTime:交易日期时间(ASCII码14字节)
例如:“20100512133959”
szWarnmsg:警告信息,非空时应显示
szErrmsg:错误信息
出口
szTransOutInfo:交易输出信息
偏移地址
描述
长度(字节)
数据类型
0,19
电子钱包帐号(前19位)
20
AN
20,31
终端机编号
12
AN
32,45
交易日期时间
14
AN
ulTransCounter:卡片交易计数器
ulBalance:交易后余额 (以分为单位)
szName 姓名,最长32字节
szBankCardNo 电子钱包帐号(不是磁条卡帐号),定长19字节,左对齐,不
足右补空格,此值用来拷贝到脱机批扣文件段0内的19位主账号 szCertID 证件号码,最长32字节
szSecureID 社保卡号,定长9位,从社保应用获取
ucTransAttachment:交易附加域,转成ASC字符串,格式见下表 (用于上
送银联,固定长度 142+1 个字节)
szWarnmsg:警告信息,非空时应显示
szErrmsg:错误信息
函数返回值
0表示成功,非0表示失败,错误信息见szErrmsg参数。
ucTransAttachment格式
位置
长度
格式
内容
域号
内容(I/O)
说明
0
20
n
卡片序列号
I/O
左对齐,不足补空格,第20位补F
20
8
an
交易金额
I/O
用8个可见的十六进制字符(0~9,A~F)表示;若无法填写用缺省值空
格填充
28
2
n
交易类型标识
I/O
取值06表示电子钱包脱机消费
30
12
n
终端机编号
I/O
42
8
an
终端交易序号
I/O
用8个可见的十六进制字符(0,9,A,F)表示;若无法填写用缺省值
空格填充
50
8
n
终端交易日期
I/O
格式:YYYYMMDD
58
6
n
终端交易时间
I/O
格式:HHMMSS
64
8
an
交易验证代码(TAC)
I/O
用8个可见的十六进制字符(0,9,A,F)表示;若无法填写用缺省值
空格填充
72
2
an
消费密钥版本号
I/O
用2个可见的十六进制字符(0,9,A,F)表示;若无法填写用缺省值
空格填充
74
2
cn
消费密钥索引
I/O
76
4
an
卡片脱机交易序列号
I/O
用4个可见的十六进制字符(0,9,A,F)表示;若无法填写用缺省值
空格填充
80
8
an
钱包余额
I/O
用8个可见的十六进制字符(0,9,A,F)表示;若无法填写用缺省值
空格填充
88
16
n
发卡方标识
I/O
104
8
an
伪随机数
I/O
用8个可见的十六进制字符(0~9,A~F)表示;若无法填写用缺省值空
格填充
112
30
ans
保留使用
I/O
填空格
注:交易金额、交易类型标识、终端机编号、终端交易序号、终端交易日期、终端