金融POS机与收银机标准函数接口说明.doc
《金融POS机与收银机标准函数接口说明.doc》由会员分享,可在线阅读,更多相关《金融POS机与收银机标准函数接口说明.doc(12页珍藏版)》请在冰豆网上搜索。
金融POS机与收银机
标准接口函数说明
上海杉德银卡通信息服务有限公司
2008年10月
目录
(一) 动态库接口定义 3
1. 传入传出数据结构定义:
(C语言) 3
2. 传入字段说明:
4
3. 传出字段说明:
4
(二) 相关表定义 5
1. 操作类型表:
5
2. 交易类型表:
5
3. 卡类型表:
5
4. 字段与交易类型关系表:
(M为必填字段) 6
(三) 收银一体化 6
1) 串口POS一体化通讯流程:
7
附录一发卡行标识 11
附录二动态库返回码表:
(动态库只返回串口通讯上的错误) 12
附录三其它部分返回码及信息 12
(一)动态库接口定义
///动态库名字:
LIBSAND.DLL(WIN)LIBSAND.SO(LINUX)
///ZLSH.LIB(DOS)
///函数名称:
card_trans
///函数功能:
按传入数据完成刷卡任务
///参数:
///com串口号
///upData传入数据
///downData传出数据
///
voidcard_trans(intcom,char*upData,char*downData);
1.传入传出数据结构定义:
(C语言)
structstrTransUp{structstrTransDown{
charOperateType[2];charOperateType[2];
charTransType[2];charTransType[2];
charCardType[2];charCardType[2];
charCashRegNo[6];charResponseCode[2];
charCasherNo[6];charResponseMsg[40];
charAmount[12];charCashRegNo[6];
charCashTraceNo[6];charCasherNo[6];
charOriginTraceNo[6];charAmount[12];
charReserved[48];charSellteNum[6];
};charMerchantID[15];
charMerchantName[40];
charTerminalID[8];
charCardNo[19];
charExp_Date[4];
charBankNo[6];
charTransDate[8];
charTransTime[6];
charAuth_Code[6];
charSysRefNo[12];
charCashTraceNo[6];
charOriginTraceNo[6];
charSysTracdNo[6];
charOriginSysTraceNo[6];
charReserved[48];
};
2.传入字段说明:
字段名称
长度
数据类型
备注
操作类型
2
ASC
固定值(见操作类型表)
交易类型
2
ASC
固定值(见交易类型表)
卡类型
2
ASC
固定值(见卡类型表)
收银机编号
6
ASC
商场内唯一(左补零,无则全补空格)
柜员号
6
ASC
(左补零,无则全补空格)
金额
12
ASC
以分位单位(左补零)
收银流水号
6
ASC
同一收银机内唯一(左补零,无则全补空格)
系统流水号
6
ASC
撤销时填写
预留字段
48
ASC
退货交易时,左起12位参照号4位日期MMDD
3.传出字段说明:
字段名称
长度
数据类型
备注
操作类型
2
ASC
固定值(见操作类型表)
交易类型
2
ASC
固定值(见交易类型表)
卡类型
2
ASC
固定值(见卡类型表)
返回码
2
ASC
“00”为成功,其它详见错误返回码表
返回信息
40
ASC
返回码对应的信息
收银机编号
6
ASC
柜员号
6
ASC
金额
12
ASC
以分位单位(左补零)
结算批次
6
ASC
商户号
15
ASC
商户名称
40
ASC
终端号
8
ASC
卡号
19
ASC
卡有效期
4
ASC
发卡行编码
6
ASC
(见发卡行编码表)
交易日期
8
ASC
YYYYMMDD
交易时间
6
ASC
HHMMSS
授权号
6
ASC
系统参照号
12
ASC
退货时要用到的参照号
收银流水号
6
ASC
原收银流水号
6
ASC
撤销原样返回
系统流水号
6
ASC
原系统流水号
6
ASC
预留字段
48
ASC
巍康和斯玛特交易时,返回12位卡余额+24位斯玛特批次号
联华卡交易时,返回12位卡余额+15票据号
(二)相关表定义
1.操作类型表:
操作代码
操作类型
备注
“A0”
交易
返回“A1”
“B0”
查询
返回“B1”
…
…
…
2.交易类型表:
交易代码
交易类型
备注
“30”
消费
返回“31”
“40”
撤销
返回“41”
“50”
退货
返回“51”(支持部分退货功能)
“90”
初始化
斯玛特,魏康卡用,银行卡无此项
“91”
签到
必须支持此功能
“92”
结算
必须支持此功能
…
…
…
3.卡类型表:
卡类型编码
卡类型
备注
“01”
银行卡
“03”
斯玛特卡
“06”
巍康卡
“05”
联华OK卡
“07”
联华积点卡
4.字段与交易类型关系表:
(M为必填字段)
交易类型
操作类型
交易类型
卡类型
收银机编号
操作员号
金额
收银机流水号
原收银机流水号
预留字段
消费
A0
30
M
撤销
A0
40
M
M
退货
A0
50
M
M
初始化
A0
90
签到
A0
91
结算
A0
92
…
…
…
…
…
…
…
…
…
…
(三)收银一体化
收银一体化指将业务终端和POS机有机的连接或统一起来,实现系统整合。
收银一体化的方式是多样的,主要有以下几种:
1)串口POS(通过串口与服务器实现通讯)一体化
串口POS起到了取卡信息与密码输入的作用,除了取卡信息和密码输入外,还需要控制POS机与业务终端的动态库之间的交互,以便多批不同数据的处理。
动态库需要多次从POS机接受指令并传递数据给服务器;
2)网络POS一体化
网络POS实现与收银一体化,动态库的任务是从业务终端接收交易指令,并传递给POS机,然后由POS机完成与服务器的交互并将交易结果返回给业务终端。
3)拔号POS一体化
与网络POS类似,不同之处是POS机是以电话线拔号的方式通讯。
1)串口POS一体化通讯流程:
串口一体化网络拓扑图:
附录一发卡行标识
序
前2位
含义
第3至6位
含义
1
00
内卡
0001
交换中心
2
00
内卡
0102
工商银行
3
00
内卡
0103
农业银行
4
00
内卡
0104
中国银行
5
00
内卡
0105
建设银行
6
00
内卡
0100
邮政储汇局
7
00
内卡
0301
交通银行
8
00
内卡
0302
中信实业银行
9
00
内卡
0303
光大银行
10
00
内卡
0304
华夏银行
11
00
内卡
0305
民生银行
12
00
内卡
0306
广发银行
13
00
内卡
0307
深发银行
14
00
内卡
0308
招商银行
15
00
内卡
0309
兴业银行
16
00
内卡
0310
浦发银行
17
00
内卡
0311|0401
上海银行
18
00
内卡
0402|6501
上海农信
19
00
内卡
0408|6408
宁波银行
20
00
内卡
0410
平安银行
21
00
内卡
0316
浙江银行
22
00
内卡
0317
渤海银行
23
00
内卡
0403
北京银行
24
00
内卡
0417
盛京银行
25
00
内卡
0420
大连银行
26
00
内卡
0423
杭商银行
27
00
内卡
0434
天津银行
28
00
内卡
4802
银联商务天津分公司
29
01
威士卡
XXXX
VISA
30
02
万事达卡
XXXX
MasterCard
31
03
JCB卡
XXXX
JCB
32
04
大来卡
XXXX
DinnerClub
33
05
运通卡
XXXX
AmericanExpress
附录二动态库返回码表:
(动态库只返回串口通讯上的错误)
代码
错误信息
备注
D1
“LRC校验错误”
几乎不会有此错误
16
“初始化COM错误”
设备被占用或没找到
D2
“打开COM错误”
线路不通时返回(常见)
D3
“接收COM错误”
几乎不会有此错误
D4
“发送COM错误”
几乎不会有此错误
D6
“操作类型错误”
几乎不会有此错误
D7
“交易类型错误”
几乎不会有此错误
13
“交易金额错误”
几乎不会有此错误
……
……
……
附录三其它部分返回码及信息
代码
返回信息
含义
00
ApprovedOrCompletedSuccessfully
承兑或交易成功
01
ReferToCardIssuer
查发卡方
02
ReferToCardIssuer'sSpecialCondition
查发卡方的特殊条件
03
InvalidMerchant
无效商户
04
Pick-up
没收卡
05
DoNotHonor
不予承兑
06
Error
出错
07
Pick-upCard,SpecialCondition
特殊条件下没收卡
09
RequestInProgress
请求正在处理中
12
InvalidTransaction
无效交易
13
Inva