MISPOS系统详细设计Word格式文档下载.docx

上传人:b****6 文档编号:21254457 上传时间:2023-01-28 格式:DOCX 页数:35 大小:118.40KB
下载 相关 举报
MISPOS系统详细设计Word格式文档下载.docx_第1页
第1页 / 共35页
MISPOS系统详细设计Word格式文档下载.docx_第2页
第2页 / 共35页
MISPOS系统详细设计Word格式文档下载.docx_第3页
第3页 / 共35页
MISPOS系统详细设计Word格式文档下载.docx_第4页
第4页 / 共35页
MISPOS系统详细设计Word格式文档下载.docx_第5页
第5页 / 共35页
点击查看更多>>
下载资源
资源描述

MISPOS系统详细设计Word格式文档下载.docx

《MISPOS系统详细设计Word格式文档下载.docx》由会员分享,可在线阅读,更多相关《MISPOS系统详细设计Word格式文档下载.docx(35页珍藏版)》请在冰豆网上搜索。

MISPOS系统详细设计Word格式文档下载.docx

向该进程发测试交易,返回测试结果。

Step3:

检测umsPinSrv及密钥设置情况。

调用加密库,利用指定的WorkKey及密钥索引做加密运算,

……

业务处理进程设计

输出处理进程设计

1.4模块间交互控制

输出处理进程与外部系统一般采用TCP通讯,超时时间50秒。

业务处理进程与输出处理进程之间采用本地Socket方式通讯,超时时间53秒。

输入管理进程与业务处理进程之间采用本地Socket方式通讯,超时时间56秒。

前台系统与输入管理进程之间采用TCP通讯,超时时间60秒。

任何进程产生超时都将向上一级系统(进程)返回内部返回码E00

只有前台系统与业务处理进程能够发起冲正。

业务处理进程在遇到接收应答超时、收到内部返回码E00时,将直接发起冲正,并返回内部返回码E00;

当前台系统遇到接收应答超时或交易成功但后续操作失败(如打印签购单失败)时,将发起冲正交易,前台系统收到E00不需再发起冲正。

1.5接口定义

前台接口定义

收银端接口报文由【报文长度+报文头+报文体+MAC】的结构构成。

【报文长度】为两个字节的网络字节序整数,具体定义如下:

#defineu_int16unsignedshort

u_int16iPackLen;

【报文头】采用结构体定义的定长格式,报文头为每个交易所必须的公共部分,具体定义如下:

typedefstructtagTUMS_CLIENT_PKGHEAD

{

charsaVersion[2+1];

//主版本号1byte+副版本号1byte,如10

charsaTransCode[4+1];

//交易代码(功能号)

charsaCrypt[2+1];

//加密方式1byte,0-不加密,1-DES,2-3DES,其它保留

charsaOperNo[20+1];

//收银员编号

charsaMchtCode[20+1];

//商户编号(系统内部编号,可以与银联的商户代码一致,也可自行分配,通过商户编号与收银台号对应一个机台,并在服务器端根据不同的应用映射真实的商户代码与终端号,如银联应用、储值卡应用等)

charsaCounterNo[10+1];

//收银台号(前台统一设置收银台号,由后台自动映射终端编号)

charsaSerial[20+1];

//标识该笔交易的序列号,应答报文应原样返回,格式”YYYYMMDDHHMISS”,序列号+商户编号+终端号唯一标识一笔交易,后台应做校验,目前暂定14位,后补‘\0’

charsaRecNum[4+1];

//记录条数(报文体中含有多条信息时适用,一般报文填‘0001’)

charsaNextPkg[1+1];

//是否有后续包(0-没有,1-有)

charsaRetNo[3+1];

//内部返回码(返回提示信息saRetMsg由于是可变长字段,一般定义在报文体的第一个字段中,不得超过250个字节)

charsaTrack2Len[2+1];

//二磁道信息长度,压缩之前的长度

charsaTrack2[24+1];

//二磁道信息

chariTrack3[3+1];

//三磁道长度

charsaTrack3[64+1];

//三磁道信息

}TUMS_CLIENT_PKGHEAD;

报文头共计176个字节

【报文体】

报文体采用竖线分割的变长结构(报文体中不得出现不可见字符,否则一律使用BCD码展开;

最后一个字段之后没有分隔符),具体定义如下

报文体的最大长度为1280个字节,不得越界。

红色部分字段为必填项。

【MAC】

视交易而定,不需要MAC的交易,该字段为8个字节的’/0’

银联POSP应用类交易(功能号头两位01)

取工作密钥(向服务器取工作密钥)

ums_cup_getworkkey(0101)上送

字段名

字段长度

描述

ums_cup_getworkkey(0101)返回

saRetMsg

/

返回内容描述,可为空

saPinKey

16

saMacKey

消费(需要MAC)

ums_cup_pca(0102)上送

saAmt

单位元,小数点二位

saEncPin

saKey

32

前台保存的PINKEY+MACKEY

saEnFlag

1

‘0’-返回中文,’1’-返回英文,涉及到的返回字段:

saMchtName、saBankName、saAdv

saAnnId

2

‘00’~‘99’循环取数,标识当前公告的版本,如版本不一致,则下发新的公告内容,如不需要公告,则传’-1’

saExFlow

20

收银系统的小票流水号(二次开发时使用,记入流水库,与收银系统对帐匹配时使用)

返回内部错误时(返回码E开头):

ums_cup_pca(0102)返回

最新公告版本

saAnnounce

公告内容(不得含有’|’)

返回码A开头:

saCupRetNo

银联POSP应用的返回码

saCupRetMsg

应用返回码描述

saCupRetHelp

应用返回错误时的提示操作

saMchtCode

15

银联POSP应用的具体商户代码

saMchtName

商户名称

saTermNo

8

银联POSP应用的终端号

saBankCode

发卡银行编号

saBankName

发卡银行名称

saCardNo

卡号

saRefSeq

12

中心流水

saDate

14

交易日期YYYYMMDDHHMISS

saExDate

4

卡有效日期

saBatchNo

6

批次号

saSeqNo

流水号

saAuthNo

授权号

交易金额,元为单位,小数点2位

saAdv

签购单上打印的额外信息,如为空则不打印(譬如中奖信息等等);

换行通过^分割

saSDBankCode

收单银行代码

saSDBankName

收单银行名称

iAppId

1-银联卡应用,2-银商储值卡,3-瑞富通卡

注:

·

返回E07,则表示前台存放密钥过期,新密钥通过报文PCA应答带回,存放在报文体saRetMsg中(32个字节,PINKEY+MACKEY)中,前台应用应更新保存密钥,同时重新驱动密码键盘,提示用户再次输入密码并再次上送。

如连续两次上送。

返回E00,表示交易超时,但前台应用不需发起冲正;

只有在交易无应答或后续操作失败的情况下,可发起冲正。

内部返回码E开头,则表示系统内部错误,无需判断应用返回码;

A开头,则系统操作无误,需判断应用返回码。

内部返回码A01,应用返回码00,则表示已中奖,应提示收银员并将中奖信息saAdv打印在签购单上。

消费冲正(需要MAC)

ums_cup_pcc(0152)上送

saOrSerial

原交易序列号

单位元,小数点二位,用于校验

ums_cup_pcc(0152)返回

返回内容描述,内部返回码E开头时有效,可为空

冲正通过“序列号+商户编号+终端号”唯一标识原交易,其中商户编号及终端编号在报文头中,序列号在报文体中

所有银联冲正应答结构都采用统一格式

撤销(需要MAC)

ums_cup_pra(0103)上送

原批次号

原流水号

密码密文

同消费报文

ums_cup_pra(0103)返回

seDate

签购单上打印的额外信息,如为空则不打印(譬如中奖信息等等)

1-银联卡应用,2-银商储值卡,3-瑞富通卡

若服务器未找到匹配的原交易,则返回E08

同消费报文处理

撤销冲正(需要MAC)

ums_cup_prc(0153)上送

ums_cup_prc(0153)返回

查询余额(需要MAC)

ums_cup_inq(0104)上送

ums_cup_inq(0104)返回

余额,元为单位,小数点2位

查询交易明细(不需要MAC)

ums_cup_schtxn(0120)上送

查询失败返回:

ums_cup_schtxn(0120)返回

查询成功返回(记录条数在报文头中指定,报文最大长度控制明细笔数):

Lst1

Lst2

LstN

每笔明细内容(通过^分割)(148个字节一笔)

20(max)

13(max)

saOperNo

操作员编号

saTxnName

10(max)

交易类型

重打印查询(不需要MAC)

ums_cup_reprint(0121)上送

原批次号,如果为空,则系统自动查找当日上一笔交易返回

ums_cup_reprint(0121)返回

未找到原交易,返回E08。

查询成功返回(与消费交易格式一致):

saTrnName

终端换批

服务器收到换批交易后,依次向中心发送结算、签退以及签到交易(如某一步交易无法成功,则直接返回错误步骤及原因,不需继续往下做),并将结果返回前台。

前台在做完换批交易后,应联机做签到交易,更新密钥。

ums_cup_chgBatch(0105)上送

ums_cup_chgBatch(0105)返回

管理类交易(功能号头两位00)

检测密码键盘密钥有效性

ums_manage_chkPinPad(0001)上送

加密的密码密文

ums_manage_chkPinPad(0001)返回

交易约定输入的密码明文为123456,PinKey密文:

1234567890ABCDEF,服务器端应预先保留加密正确的密文结果(CheckValue),以便检测时核对;

返回检测结果根据内部返回码判定,A00检测通过,E02检测不通过,返回其它则为其它错误,无法认定检测结果。

检测网络状态

ums_manage_chkNet(0002)上送

ums_manage_chkNet(0002)返回

iStep

检测步骤,详见注解

检测网络分为几个步骤,返回

iStep必须有返回值,一项未检测,iStep=0;

iStep小于最后一项的步骤,说明中间存在问题,未全部检测通过

iStep=1:

收银台到服务器网络通畅,后续步骤未检测

iStep=2:

正在检测服务器到路由器网络,成功返回A00,失败返回E02

iStep=3:

正在检测服务器到银联网络(发模拟报文检测),收到银联应答,则返回A00,否则返回E02

检测服务器状态

ums_manage_chkSrv(0003)上送

ums_manage_chkSrv(0003)返回

检测数据库是否正常。

后续步骤未检测。

登陆成功,返回A00,无法登陆返回E04

检测加密进程状态。

成功返回A00,失败返回E03

IStep=3:

检测加密机主密钥。

以123456为PIN明文,1234567890ABCDEF为PinKey密文,调用加密指令加密PIN,与预先设置的CheckValue进行比对,如全部检测通过,返回A00,否则返回E03,saRetMsg应包含检测哪组主密钥未通过的相关信息。

IStep=4:

检测业务处理进程状态。

通过发检测报文测试,收到应答返回A00,否则返回E02。

收银机公告

ums_manage_announce(0004)上送

idx

公告索引(可设置多个公告信息)

ums_manage_announce(0004)返回

公告内容可设置多项,具体由监控管理平台提供设置界面,公告应能设置有效期、公告范围(即收银台号范围),后台根据合法性校验,判别是否发送公告内容,需要发送返回A00,无公告信息最新saAnnId以及空的saAnnounce字段,否则返回其它错误。

身份认证

ums_manage_chkOper(0005)上送

saPass

收银员登陆密码(收银员号在报文头)

iType

验证类别

ums_manage_chkOper(0005)返回

saOperName

操作员姓名

iType表示验证类别

0-收银员登陆认证

1-收银主管授权认证

某些特殊的交易需要收银主管认证,譬如撤销时的主管认证等等。

2-系统管理员认证

一些管理类功能的授权认证,譬如设置系统参数等等。

认证通过,返回A00,否则返回E06

·

普通收银员登陆,后台可配置是否校验密码,一个终端同时只能由一个收银员登陆,不能覆盖,只能由收银程序发送收银换班交易,统计信息清零后才能覆盖。

系统初始化

在收银程序启动时调用,用于与后台同步终端信息,包括:

1、检查终端参数设置有效性(如商户代码、终端号等)

2、检查该终端是否已有收银员登陆,若有则取回收银员信息,若无,则提示收银员登陆

3、取回公告信息

ums_manage_initSys(0006)上送

报文头中saOperId为空

ums_manage_initSys(0006)返回

255(max)

saOperId

收银员号,若为空,前台提示收银员登陆,并做登陆交易

收银员姓名

256(max)

saFunc

开通功能

展开阅读全文
相关资源
猜你喜欢
相关搜索

当前位置:首页 > 工程科技 > 信息与通信

copyright@ 2008-2022 冰豆网网站版权所有

经营许可证编号:鄂ICP备2022015515号-1