金融POS机与收银机标准函数接口说明(windows版本2013)

更新时间:2024-04-05 00:34:01 阅读量: 综合文库 文档下载

说明:文章内容仅供预览,部分内容可能不全。下载后的文档,内容与下面显示的完全一致。下载之前请确认下面内容是否您想要的,是否完整无缺。

金融POS机与收银机 标准接口函数说明

2013年3月

(一) 动态库接口定义

///

动态库名字:LIBSAND.DLL(WIN) LIBSAND.SO(LINUX) ///ZLSH.LIB(DOS)

///函数名称:card_trans

///函数功能:按传入数据完成刷卡任务 /// com 串口号 /// upData 传入数据 /// downData传出数据 ///

void card_trans(int com, char * upData, char * downData);

1. 传入传出数据结构定义:(C语言)

struct strTransUp { struct strTransDown {

char OperateType [2]; char OperateType [2];

char TransType [2]; char TransType [2]; char CardType [2]; char CardType [2]; char CashRegNo [6]; char ResponseCode [2]; char CasherNo [6]; char ResponseMsg [40]; char Amount [12]; char CashRegNo [6]; char CashTraceNo [6]; char CasherNo [6]; char OriginTraceNo[6]; char Amount [12]; char Reserved [48]; char SellteNum [6]; }; char MerchantID [15];

char MerchantName [40]; char TerminalID [8]; char CardNo [19]; char Exp_Date [4]; char BankNo [6]; char TransDate [8]; char TransTime [6]; char Auth_Code [6]; char SysRefNo [12]; char CashTraceNo [6]; char OriginTraceNo[6]; char SysTracdNo [6]; char OriginSysTraceNo [6]; char Reserved [48]; };

批次(概念):上一笔结算到本次结算之间称为一批次。 撤销(概念):当批次且当天内对之前一笔消费(当天)进行全额撤销。正

常情况下一天营业结束做结算,所以以当天为撤销的有效期。

退货(概念):隔天,对前一笔消费进行全额或部分退货。

金额问题: 传入金额为收银机传入需要消费或撤销的金额,传出金额为

实际的消费或撤销金额,固将传入金额与传出金额做比较。(联华OK卡交易,如下发金额大于卡内余额,联华后台会将卡内余额扣掉,返回实际的交易金额,所以联华OK卡交易时要判断金额)。

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 40 ASC 6 ASC 6 ASC 12 ASC 备注 固定值(见操作类型表) 固定值(见交易类型表) 固定值(见卡类型表) “00”为成功,其它详见错误返回码表 返回码对应的信息 交易的实际金额,以分位单位(左补零) 联华OK卡交易,如下发金额大于卡内余额,联华后台会将卡内余额扣掉,返回实际的交易金额,所以联华OK卡交易时要判断金额 银行卡交易金额返回为收银机下发金额。 结算批次 6 ASC 商户号 商户名称 终端号 卡号 卡有效期 发卡行编码 交易日期 交易时间 授权号 系统参照号 收银流水号 原收银流水号 系统流水号 原系统流水号 预留字段 15 40 8 19 4 6 8 6 6 12 6 6 6 6 48 ASC ASC ASC ASC ASC ASC ASC ASC ASC ASC ASC ASC ASC ASC ASC (见发卡行编码表) YYYYMMDD HHMMSS 退货时要用到的参照号 撤销原样返回 巍康和斯玛特交易时,返回12位卡余额+24位斯玛特批次号 联华卡交易时,返回12位卡余额+15票据号 微信、支付宝的交易,返回的应是交易号,最大长度为32 有优惠交易时,预留字段前12位放实际交易金额,后12位放优惠金额。 (二) 相关表定义

1. 操作类型表:

操作代码 “A0” “B0” ? 操作类型 交易 查询 ? 备注 返回“A1” 返回“B1” ? 2. 交易类型表:

交易代码 “30” “40” “50” “90” “91” “92” 交易类型 消费 撤销 退货 初始化 签到 结算 备注 返回“31” 返回“41” 返回“51”(支持部分退货功能) 斯玛特,巍康卡用,银行卡无此项 返回“91” 返回“92” “80” “EG” “EI” 余额查询 条码支付消费 条码支付撤销 返回“81” 返回“EH” 返回“EJ” 3. 卡类型表:

卡类型 01 02 03 05 06 07 12 25 26 27 29 30 31 32 33 34 39 40 41 42 43 45 48 49 51 51 57 58 59 61 62 64 65 银行卡 会员卡 SMART卡 联华OK卡 巍康卡 联华积点卡 畅购卡 苏州通 北京瑞通 北京奥斯卡 同方会员卡 巾帼卡 东方文化卡 美廉美会员卡 便利通卡 索迪斯 高汇通 纽斯达卡 移动手机钱包(交易) 都市旅游卡 上海公交卡 交行分期 得仕卡 AEON JUSCO卡 银商购物卡 卡名 备注 银商资讯卡(徐家汇) 雅高在线磁条卡 雅高在线IC卡 山东一卡通 南京市民卡 雅高脱机卡 招行积分一体化 综合保险卡

66 67 68 69 70 73 74 75 77 78 79 80 83 86 87 88 89 90 91 92 93 95 96 98 E1 E2 E3 E4 E5 E7 E8 E9 F2 F3 F4 F5 F6 F7 F8 G1 G2 苏州一卡通消费 唐山远洋城 羊城通卡 普天银通磁条卡 普天银通非接卡 大众商务卡 指付通 欧诺卡 润通赢点通 徐家汇商城卡 锦江磁条卡 共享一卡通 开心购卡 东方CJ礼品卡 建行积分 爱心卡 无锡市民卡 易士卡 商盟卡 瑞祥商务卡 电信翼支付 河北一卡通 中国移动手机支付- NFC支付 爱农智慧卡 信联卡 中欣支付卡 春秋商旅卡 发达卡 交行信用卡积分 苏州通充值 瑞得卡 杉德银行积分(平安) 壹卡会 付费通 索迪斯磁条卡 平安付壹钱包 广发积分 上海银行积分 支付宝当面付 新生易卡 微信支付 G3 格林豪泰储值卡

4. 字段与交易类型关系表:(M为必填字段)

交易类型 操作类型 消费 A0 撤销 A0 退货 A0 初始化 A0 签到 A0 结算 A0 银行卡余A0 额查询 条码消费 A0 条码撤销 A0 ? ? 交易类型 30 40 50 90 91 92 80 EG EI ? 卡类型 M M M M M M M M M ? 收银机编号 ? 操作员号 ? 金额 M M M M M ? 收银机流水号 ? 原收银机流水号 M M ? 预留字段 M M M ?

5. 条码支付交易流程

支付宝&微信支付消费收银机01条码支付动态库POS02卡类型传入03数据传入04卡类型判断F805支付宝支付G206微信支付01:条码支付:收银机端选择条码支付键,;02:卡类型传入:选择支付宝/微信支付卡类型读入条码;03:数据传入:根据接口将交易类型、卡类型、条码等信息传入动态库;04:卡类型判断:根据收银机传入的卡类型判断微信、支付宝直接传递给对应的程序;05:支付宝支付:卡类型为F8时由支付宝处理;06:微信支付:卡类型为G2时由微信支付处理;

条码支付消费撤销收银机01条码支付撤销动态库POS02卡类型传入03数据传入04卡类型判断F805支付宝撤销G206微信撤销01:条码支付撤销:收银机端选择条码支付撤销按键,;02:卡类型传入:扫描枪扫描订单号传送给POS,选择需撤销卡类型;03:数据传入:根据接口将交易类型、卡类型、订单号信息传入动态库;04:卡类型判断:根据收银机传入的交易类型、订单号、卡类型传送给对应的应用处理;05:支付宝撤销:卡类型为F8支付宝时由支付宝处理;06:微信撤销:订卡类型为G2微信时由微信支付处理;

附录二 动态库返回码表:(动态库只返回串口通讯上的错误)

代码 D1 16 D2 D3 错误信息 “LRC校验错误” “初始化COM错误” “打开COM错误” “接收COM错误” 备注 几乎不会有此错误 设备被占用或没找到 线路不通时返回(常见) 几乎不会有此错误 D4 D6 D7 13 ?? “发送COM错误” “操作类型错误” “交易类型错误” “交易金额错误” ?? 几乎不会有此错误 几乎不会有此错误 几乎不会有此错误 几乎不会有此错误 ??

附录三 其它部分返回码及信息

代码 00 01 02 03 04 05 06 07 09 12 13 14 15 19 20 21 22 23 25 30 31 33 34 35 36 37 38 39 40 41 42

返回信息

Approved Or Completed Successfully Refer To Card Issuer

Refer To Card Issuer's Special Condition Invalid Merchant Pick-up Do Not Honor Error

Pick-up Card, Special Condition Request In Progress Invalid Transaction Invalid Amount

Invalid Card Number(No Such Number) No Such Issuer Re-enter Transaction Invalid Response No Action Taken Suspected Malfunction Unacceptable Transaction Fee Unable To Locate Record On File Format Error

Bank Not Supported By Switch Expired Card Suspected Fraud

Card Acceptor Contact Security Restricted Card

Card Acceptor Call Acquirer Security Allowable PIN Tries Exceeded No Credit Account

Requested Function Not Supported Lost Card

No Universal Account

含义

承兑或交易成功 查发卡方

查发卡方的特殊条件 无效商户 没收卡 不予承兑 出错

特殊条件下没收卡 请求正在处理中 无效交易 无效金额 无效卡号 无此发卡方 重新送入交易 无效应答 不作任何处理 怀疑操作有误 不可接受的交易费 未能找到文件上记录 格式错误

交换中心不支持的银行 过期的卡(没收卡) 有作弊嫌疑(没收卡)

受卡方与安全保密部门联系(没收卡) 受限制的卡(没收卡)

受卡方呼受理方安全保密部门(没收卡) 超过允许的PIN试输入(没收卡) 无此信用卡帐户 请求的功能尚不支持 挂失卡(没收卡) 无此帐户

代码 43 44 51 52 53 54 55 56 57 58 59 60 61 62 63 64 65 66 67 68 75 77 78 79 90 91 92 93 94 95 96 97 98 99 A0 返回信息 Stolen Card, Pick-up No Investment Account Not Sufficient Funds No Chequing Account No Saving Account Expired Card Incorrect Personal Identification Number No Card Record Transaction Not Permitted To Cardholder Transaction Not Permitted To Terminal Suspected Fraud Card Acceptor Contact Acquirer Exceeds Withdrawal Amount Limit Restricted Card Security Violation Original Amount Incorrect Exceeds Withdrawal Frequency Limit Hard Capture(Requires That Card Be Picked Up At ATM) Response Received Too Late Allowable Number Of PIN Tries Exceeded 需要向网络中心签到 网络中心需要向POS终端下载数据 脱机交易对帐不平 Cutoff Is In Process Issuer Or Switch Is Inoperative Financial Institution Or Intermediate Network Facility Cannot Be Found For Routing Duplicate Transaction Reconcile Error System Malfunction Invalid ATM/POS Ids SW couldn’t get reply from IS PIN Block Error MAC Failed 含义 被窃卡(没收卡) 无此投资帐户 ISO保留使用 无足够的存款 无此支票帐户 无此储蓄卡帐户 过期的卡 不正确的PIN 无此卡记录 不允许持卡人进行的交易 不允许终端进行的交易 有作弊嫌疑 受卡方与安全保密部门联系 超出取款金额限制 受限制的卡 违反安全保密规定 原始金额不正确 超出取款次数限制 45-50 Reserved For ISO Use Card Acceptor Call Acquirer's Security Department 受卡方呼受理方安全保密部门 捕捉(没收卡) 收到的回答太迟 ISO保留使用 允许的输入PIN次数超限 POS批次与网络中心不一致 网络中心需要向POS终端下载数据 POS终端上传的脱机数据对帐不平 私有保留使用 日期切换正在处理 发卡方或交换中心不能操作 金融机构或中间网络设施找不到或无法达到 69-74 Reserved For ISO Use 76-89 Reserved For Private Use Transaction Cannot Be Completed. Violation Of Law 交易违法、不能完成 重复交易 调节控制错 系统异常、失效 ATM/POS终端号找不到 交换中心收不到发卡方应答 PIN 格式错 MAC鉴别失败 以下为POS冲正原因码 Z0 Z1 Response Received Too Late MAC Failed 迟到的批准应答 由于MAC鉴别失败引发的冲正 代码 Z2 Z3 Z4 Z5 返回信息 OB Failed To Send Approval Reply To Terminal Terminal Initiated Reversal Sw Reversal OB Couldn't get Reply From SC 含义 MIS系统不能把批准应答送交终端 收到批准应答后,因终端故障引发的冲正 中心代为引发的冲正 收不到交换中心的应答 以下为POS结算原因码 Z6 Z7 Response Received Too Late MAC Failed 持卡人本人正常结算 非持卡人本人正常结算

本文来源:https://www.bwwdw.com/article/ih5r.html

Top