欧博allbet-allbet欧博手机版-官方网址

MINPOS接口文档
点击量:次    更新时间:2015-08-05

MINPOS接口文档

一、 概述

1. 应用方案概况

本系统方案采用MINIPOS医院终端相连,实现采用银行卡(含医院卡)缴费功能。

2. 功能概述

医院终端(windows/浏览器)POS之间通过USB(HID免驱设备)相连,POS起到了存储主密钥、刷卡、获取个人密码以及交易数据处理的作用,通讯转发通过医院系统完成。

交易由医院系统通过医院终端(客户发起,客户调用数据转发服务驱动POS设备实现交易控制。

POS根据传入的交易类型指令分别进入不同的处理流程

如:签到消费积分卡等交易

POS机具将数据ISO8583包加密后通过数据转发服务发送给客户端最终送到银行的收单系统。

银行收单系统接收并对交易进行处理;

银行收单系统处理结果即刷卡交易的最终结果通过客户转发给POS,POS解析交易结果并告知医院系统,交易结束。

 

 

 

3. 网络拓


二、 操作流程

交易处理流程:

一笔刷卡交易的操作流程可以分为 5 步,每步说明如下:

1、 医院系统通过客户端实现与医院的交互,操作员客户进行操作,确定缴费金额,当确认需要使用POS 缴费时,点击相关操作按钮,激活POS 。客户调用数据转发服务驱动POS进行交易处理,将应缴金额等传递至POS

2、在POS上划卡,输入密码等操作后,POS进行处理,组好ISO8583包通过客户提交给银行部署在医院的前置系统(医院前置)

3、医院前置进行与银行收单系统进行通讯;

4、银行处理后,将结果送医院前置,医院前置将其转发至POS。

5、POS解析交易结果,返回交易结果至医院客户,医院客户端再将相应结果发至医院系统。

 

三、数据转发服务调用方式及接口函数

html页面实现,实现语言为javascript

1. JS方法调用方式

使用jqury 调用

$.ajax({

  url:url,

  type:"POST",

  data:data,

  contentType:"application/json; charset=utf-8",

  dataType:"json",

  success: function(result){

    //返回数据处理

  }

})

 

备注:

url: 待定;

data:为传入参数(数据格式为json 例:

{

" TransType ": "签到",

"TokenID": " START_PAY",

"SerialNumber": "000001", 

};

result : 为返回数据(数据格式为json 例:)

4. 数据包格式(Json)

 

字段名

类型

标题

必须

说明

TransType

String

交易类型

True

交易类型

签到:LOGIN

消费:PURCHASE

查询缴费金额:“INQUERY”

TokenID

String

“START_PAY”

True

登陆之后应用向支付服务发起的每一个请求中均需携带此字段。

SerialNumber

String

序列号

True

各个请求、响应消息唯一序列号,通过序列号完成请求与响应的对应关系

PackageType

String

包类型

True

发起交易时初始为0,后续通过判断该值,处理数据

1为交易结束

0,转发数据至POSP

ISO8583

String

转发POSP数据

 

Base64 编码格式,

PackageType = 0时,有效

Amount

String

交易金额

 

固定12字节ASC,以分为单位

1元表示为

00000000100

TransDate

String

交易日期

 

YYYYMMDD

TransTime

String

交易时间

 

HHMMSS

CustNo

String

商户号

 

 

TermNo

String

终端号

 

 

TraceNo

String

凭证号

 

 

CardNo

String

卡号

 

 

RefNo

String

检索参考号

 

 

OldTraceNo

String

原交易凭证号

 

撤销交易时使用

OldRefNo

String

原交易参考号

 

撤销退货交易时使用

OldTransDate

String

原交易日期

 

退货交易时使用YYYYMMDD

ErrorCode

String

错误代码

 

 

RetMsg

String

返回信息说明

 

当失败时返回错误信息

当成功时,返回“交易成功”

 

 

 

 

 

说明:

1. 流程说明:

医院前置系统(与POSP进行通讯,发起交易,收到组包的8583包,发给POSP(银行收单系统),并接受返回数据) ---- 数据转发服务  ----POS(组包,解包);

步骤1:医院前置(发起交易)----- 数据转发服务----- POS,

步骤2:POS 组8583包---- 数据转发服务----- 医院前置发数据给POSP 并等待返回数据,

步骤3:医院前置将返回的8583包---- 数据转发服务-----POS解8583包

步骤4POS解析交易结果,上传交易要素---  数据转发服务---- 医院系统

2. 是否必填项说明: 

根据实例部分确定某个字段是否必填。

3. ISO8583,数据说明:

a) POS打包原始数据格式为ISO8583:“TPDU+报文头+数据包”,POS全报文加密EMC(ISO8583);

b) POS通过数据转发服务上传的ISO8583数据,为Base64(ENC ISO8583);

c) 医院前置收到 Base64(ENC ISO8583),先进行 Base64 解码后将“ENC ISO8583”上传POSP;

d) 医院前置收到POSP返回数据后,将原始数据进行Base64(ENC ISO8583)编码通过数据转发服务下送给POS; 

3.实例

3.1、医院前置 --- 数据转发服务--- POS

{

  " TransType ": "LOGIN",

  "TokenID": " START_PAY",

  "SerialNumber": "000001",

PackageType0, 

}

3.2、POS --- 数据转发服务--- 医院前置(转发ISO8583至POSP)

备注:转发存在多次转发, 3.23.3 循环多次

{

  " TransType ": "LOGIN",

  "TokenID": " START_PAY",

  "SerialNumber": "000001", 

PackageType0,//当收到为0时,需要转发至POSP

 “ISO8584Base64(ENC ISO8583)

}

3.3、医院前置(转发ISO8583至POS) ---  数据转发服务--- POS

{

  " TransType ": "LOGIN",

  "TokenID": " START_PAY",

  "SerialNumber": "000001", 

PackageType0,

ISO8584Base64(ENC ISO8583),

}

3.4、POS --- 数据转发服务---医院前置

  " TransType ": "LOGIN",

  "TokenID": " START_PAY",

  "SerialNumber": "000001",

PackageType1, //当收到为1时,处理交易结果

"CustNo": "113650000012345",

"TermNo": "87654321",

"TransDate": "20140701",

"TransTime": "142221",

" ErrorCode ": "00",

RetMsg交易成功,

}

4.银行交易

4.1 消费

医院前置->POS的数据包

字段名

类型

标题

必须

说明

TransType

String

交易类型

True

交易类型

消费:PURCHASE

TokenID

String

“START_PAY”

True

登陆之后应用向支付服务发起的每一个请求中均需携带此字段。

SerialNumber

String

序列号

True

各个请求、响应消息唯一序列号,通过序列号完成请求与响应的对应关系

PackageType

String

包类型

True

发起交易时初始为0

Amount

String

交易金额

True

固定12字节ASC,以分为单位

1元表示为

00000000100

 

POS->医院前置  返回交易结果数据包

字段名

类型

标题

必须

说明

TransType

String

交易类型

True

交易类型

消费:PURCHASE

TokenID

String

“START_PAY”

True

登陆之后应用向支付服务发起的每一个请求中均需携带此字段。

SerialNumber

String

序列号

True

各个请求、响应消息唯一序列号,通过序列号完成请求与响应的对应关系

PackageType

String

包类型

True

 “1为交易结束

Amount

String

交易金额

True

固定12字节ASC,以分为单位

1元表示为

00000000100

TransDate

String

交易日期

True

YYYYMMDD

TransTime

String

交易时间

True

HHMMSS

CustNo

String

商户号

True

 

TermNo

String

终端号

True

 

TraceNo

String

凭证号

True

 

CardNo

String

卡号

True

 

RefNo

String

检索参考号

True

 

ErrorCode

String

错误代码

True

 

RetMsg

String

返回信息说明

True

当失败时返回错误信息

当成功时,返回“交易成功”

4.2 消费撤销

医院前置->POS的数据包

字段名

类型

标题

必须

说明

TransType

String

交易类型

True

交易类型

消费:POSVOID

TokenID

String

“START_PAY”

True

登陆之后应用向支付服务发起的每一个请求中均需携带此字段。

SerialNumber

String

序列号

True

各个请求、响应消息唯一序列号,通过序列号完成请求与响应的对应关系

PackageType

String

包类型

True

发起交易时初始为0

OldTraceNo

String

原交易凭证号

True

撤销交易时使用

OldRefNo

String

原交易参考号

True

撤销交易时使用

 

POS->医院前置  返回交易结果数据包

字段名

类型

标题

必须

说明

TransType

String

交易类型

True

交易类型

消费:PURCHASE

TokenID

String

“START_PAY”

True

登陆之后应用向支付服务发起的每一个请求中均需携带此字段。

SerialNumber

String

序列号

True

各个请求、响应消息唯一序列号,通过序列号完成请求与响应的对应关系

PackageType

String

包类型

True

 “1为交易结束

Amount

String

交易金额

True

固定12字节ASC,以分为单位

1元表示为

00000000100

TransDate

String

交易日期

True

YYYYMMDD

TransTime

String

交易时间

True

HHMMSS

CustNo

String

商户号

True

 

TermNo

String

终端号

True

 

TraceNo

String

凭证号

True

 

CardNo

String

卡号

True

 

RefNo

String

检索参考号

True

 

OldTraceNo

String

原交易凭证号

True

撤销交易时使用

OldRefNo

String

原交易参考号

True

撤销交易时使用

ErrorCode

String

错误代码

True

 

RetMsg

String

返回信息说明

True

当失败时返回错误信息

当成功时,返回“交易成功”

4.3 退货

医院前置->POS的数据包

字段名

类型

标题

必须

说明

TransType

String

交易类型

True

交易类型

消费:REFUND

TokenID

String

“START_PAY”

True

登陆之后应用向支付服务发起的每一个请求中均需携带此字段。

SerialNumber

String

序列号

True

各个请求、响应消息唯一序列号,通过序列号完成请求与响应的对应关系

PackageType

String

包类型

True

发起交易时初始为0

Amount

String

交易金额

True

固定12字节ASC,以分为单位

1元表示为

00000000100

OldTransDate

String

原交易日期

True

退货交易时使用YYYYMMDD

OldRefNo

String

原交易参考号

True

 

 

POS->医院前置  返回交易结果数据包

字段名

类型

标题

必须

说明

TransType

String

交易类型

True

交易类型

消费:PURCHASE

TokenID

String

“START_PAY”

True

登陆之后应用向支付服务发起的每一个请求中均需携带此字段。

SerialNumber

String

序列号

True

各个请求、响应消息唯一序列号,通过序列号完成请求与响应的对应关系

PackageType

String

包类型

True

 “1为交易结束

Amount

String

交易金额

True

固定12字节ASC,以分为单位

1元表示为

00000000100

TransDate

String

交易日期

True

YYYYMMDD

TransTime

String

交易时间

True

HHMMSS

CustNo

String

商户号

True

 

TermNo

String

终端号

True

 

TraceNo

String

凭证号

True

 

CardNo

String

卡号

True

 

RefNo

String

检索参考号

True

 

ErrorCode

String

错误代码

True

 

RetMsg

String

返回信息说明

True

当失败时返回错误信息

当成功时,返回“交易成功”

 

 

 

 

 

 

 

 

 

 

4.4 数据转发

POS->医院前置   的数据包

字段名

类型

标题

必须

说明

TransType

String

交易类型

True

POS终端当前的交易类型:

冲正:“VOID”

自动签到:“LOGIN”

结算:“SETTLE”

批上送:“BATCHUP”

TokenID

String

“START_PAY”

True

登陆之后应用向支付服务发起的每一个请求中均需携带此字段。

SerialNumber

String

序列号

True

交易发起一致

PackageType

String

包类型

True

0

ISO8583

String

转发POSP数据

True

Base64 编码格式,

PackageType = 0时,有效

 

 

 

 

 

 

医院前置->POS返回交易结果数据包

字段名

类型

标题

必须

说明

TransType

String

交易类型

True

POS终端当前的交易类型:

冲正:“VOID”

自动签到:“LOGIN”

结算:“SETTLE”

批上送:“BATCHUP”

TokenID

String

“START_PAY”

True

登陆之后应用向支付服务发起的每一个请求中均需携带此字段。

SerialNumber

String

序列号

True

交易发起一致

PackageType

String

包类型

True

0

ISO8583

String

转发POSP数据

Flase

当ErrorCode = 00 时有效

ErrorCode

String

错误代码

True

转发失败 非 00

RetMsg

String

返回信息说明

True

当失败时返回错误信息

当成功时,返回“转发成功”

 

说明:

1、由于医院POS没有主动发起交易的机制,该交易应嵌套在其他交易中发送,如“消费请求包->数据转发请求包->透明转发交易响应包->消费响应包”

2、此类交易医院仅做转发,直接将银行业务处理数据包转发至银行系统,例如签到、公钥下载等

3、此交易存在多次循环

4.5 查询缴费金额

医院前置->POS的数据包

字段名

类型

标题

必须

说明

TransType

String

交易类型

True

交易类型

查询缴费金额:INQUERY

TokenID

String

“START_PAY”

True

登陆之后应用向支付服务发起的每一个请求中均需携带此字段。

SerialNumber

String

序列号

True

各个请求、响应消息唯一序列号,通过序列号完成请求与响应的对应关系

PackageType

String

包类型

True

发起交易时初始为0

 

POS->医院前置   返回交易结果数据包

字段名

类型

标题

必须

说明

TransType

String

交易类型

True

交易类型

查询缴费金额:INQUERY

TokenID

String

“START_PAY”

True

登陆之后应用向支付服务发起的每一个请求中均需携带此字段。

SerialNumber

String

序列号

True

各个请求、响应消息唯一序列号,通过序列号完成请求与响应的对应关系

PackageType

String

包类型

True

 “1为交易结束

PayAmt

String

应缴费金额

True

固定12字节ASC,以分为单位

1元表示为

00000000100

PayCardNo

String

待缴费卡号

True

 

ErrorCode

String

错误代码

True

 

RetMsg

String

返回信息说明

True

当失败时返回错误信息

当成功时,返回“交易成功”

4.1 缴费

医院前置->POS的数据包

字段名

类型

标题

必须

说明

TransType

String

交易类型

True

交易类型

 

缴费:Pay

TokenID

String

“START_PAY”

True

登陆之后应用向支付服务发起的每一个请求中均需携带此字段。

SerialNumber

String

序列号

True

各个请求、响应消息唯一序列号,通过序列号完成请求与响应的对应关系

PackageType

String

包类型

True

发起交易时初始为0

PayAmt

String

缴费金额

True

固定12字节ASC,以分为单位

1元表示为

00000000100

PayCardNo

String

待缴费卡号

True

 

 

POS->医院前置   返回交易结果数据包

字段名

类型

标题

必须

说明

TransType

String

交易类型

True

交易类型

消费:Pay

TokenID

String

“START_PAY”

True

登陆之后应用向支付服务发起的每一个请求中均需携带此字段。

SerialNumber

String

序列号

True

各个请求、响应消息唯一序列号,通过序列号完成请求与响应的对应关系

PackageType

String

包类型

True

 “1为交易结束

Amount

String

交易金额

True

固定12字节ASC,以分为单位

1元表示为

00000000100

TransDate

String

交易日期

True

YYYYMMDD

TransTime

String

交易时间

True

HHMMSS

CustNo

String

商户号

True

 

TermNo

String

终端号

True

 

TraceNo

String

凭证号

True

 

CardNo

String

卡号

True

银行卡号扣款卡号(用于使用它行卡进行缴费)

PayCardNo

String

待缴费卡号

True

 

RefNo

String

检索参考号

True

 

ErrorCode

String

错误代码

True

 

RetMsg

String

返回信息说明

True

当失败时返回错误信息

当成功时,返回“交易成功”

 

XML 地图 | Sitemap 地图