请教Delphi 如何调用银行KeeperClient.dll进行扫码支付

KJHM KJHM 墨衍会员 · AI 创作全网分发 墨衍智能分发 通过墨衍一键同步至各平台 可同步平台 CSDN微信公众号微博知乎掘金百家号博客园抖音小红书 你的文章也可以这样分发 墨衍会员 ¥399起/年,写一次发全网 我也要 + 加入社区
一、总体说明:

接口采用DLL动态加载方式,提供一个DLL名为KeeperClient.dll供应用程序调用,里面提供一个函数:int __stdcall misposTrans(void* input, void* output)
银行卡的所有交易功能均通过此函数交互,根据不同的参数实现不同的功能。

二、接口函数原型说明

int __stdcall misposTrans(void* input, void* output)当DLL函数返回RspCode为00时,表示交易成功,如需要打印凭条,则DLL程序会自动在当前目录生成ICBCPRTTKT.txt文件,收银机厂

家将其内容取出来打印即可。当DLL函数返回RspCode 不是00时候,DLL程序会在RspMessage 字段返回错误提示信息,请收银机厂家将错误信息显示在屏幕上供收银员查看。其中交易金额为12

位定长,以分为单位,不足12位左补零。

三、结构定义如下

交易输入结构体:
typedef struct
{
char TransType[2]; //交易指令
char FuncID[4]; //分行特色脚本ID号
char TransAmount[12]; //交易金额
char TipAmount[12]; //小费金额
char TransDate[8]; //交易日期
char MisTraceNo[6];//MIS流水号
char CardNo[19]; //交易卡号
char ExpDate[4]; //卡片有效期
char Track2[37]; //二磁道信息
char Track3[104]; //三磁道信息
char ReferNo[8]; //系统检索号
char AuthNo[6]; //授权号
char MultiId[12]; //多商户交易索引号
char TerminalId[15]; //交易终端号
char InstallmentTimes[2]; //分期期数
char PreInput[256]; //预输入项 附件说明 1
char AddDatas[256]; //固定输入项 附件说明 2
char QRCardNO[50]; //二维码支付号
char QROrderNo[50]; //二维码订单号
char PrnFeatureData[512]; //特色打印数据 附件说明 4
char BillInfo[60]; //附加在对账单上的信息。如商户可传入自己系统的交易流水号,在银行提供对账单上每一笔交易将会附加该流水号,方便查阅对账。
char platId[20]; //收银机号
char operId[20]; //操作员号
} ST_MISPOS_IN;

交易输出结构体:

typedef struct
{
char TransType[2]; //交易指令
char CardNo[19]; //交易卡号
char Amount[12]; //交易金额
char TipAmount[12]; //小费金额
char TransTime[6]; //交易时间
char TransDate[8]; //交易日期
char ExpDate[4]; //卡片有效期
char Track2[37]; //二磁道信息
char Track3[104]; //三磁道信息
char ReferNo[8]; //系统检索号
char AuthNo[6]; //授权号
char RspCode[2]; //返回码
char TerminalId[15]; //交易终端号
char MerchantId[12]; //交易商户号
char YLMerchantId[15]; //银联商户号
char InstallmentTimes[2]; //分期期数
char TCData[256]; //IC卡数据
char MerchantNameEng[50]; //英文商户名称
char MerchantNameChs[40]; //中文商户名称
char TerminalTraceNo[6]; //终端流水号
char TerminalBatchNo[6]; //终端批次号
char IcCardId[4]; //IC卡序列号
char BankName[20]; //发卡行名称
char TransName[20]; //中文交易名称
char CardType[20]; //卡类别
char TotalInfo[800]; //交易汇总信息,打印总账时需要
char RspMessage[100]; //交易失败时,MISPOS系统返回中文错误描述信息
char Remark[300]; //备注信息
char WTrace[24]; //外卡流水号
char AIDDAT[34]; //AID(IC卡数据项)
char APPLBL[20]; //APPLABEL(IC卡数据项)
char APPNAM[20]; //APPNAME(IC卡数据项)
char ElecTotal[32]; //脱机交易汇总信息
char SettleAmount[12];//实扣金额
char QROrderNo[50]; //二维码订单号
char QRMemo[300]; /*二维码优惠支付信息:( 积分抵扣12+电子券抵扣金额12+优惠券抵扣金额12+银行立减12+商户立减12+订单号30该字段全为可视字符,另外目前工行对该字段的设计是长

度可变,该字段可能为空,也可能只有一个订单号,后面的金额个数也是未定的,有可能一个金额,也可能多个金额,具体以工行实际返回为准,收银系统这边要对这块做好解析扩展空间)*/
char RefNum[23]; //23位系统检索号
char platId[20]; //收银机号
char operId[20]; //操作员号
} ST_MISPOS_OUT;


四、交易说明:二维码消费(M(必备):该数据必定存在。C(有条件):在一定条件下存在。O(可选):可选输入的参数。)

TransType M 交易类型 46
TransAmount M 交易金额12 位分为单位无小数点,前补“0”补足12位, 比如“ 1.02元”为“000000000102”
QRCardNO M 二维码支付号不足右补空格
MultiId C 多商户交易索引号12位该字段只有多商户终端时存在,用于终端指定索引号对应的商户进行交易。
MisTraceNo C MIS流水号6位 当ERP 系统需要使用“再确认”交易时,该字段必须存在并且保证唯一,由ERP 系统自行维护。
PrnFeatureData O 特色打印数据
BillInfo O 外附加在对账单上的信息如商户可传入自己系统的交易流水号,在银行提供对账单上每一笔交易将会附加该流水号,方便查阅对账。
platId O 收银台号20位不足右补空格
operId O 收银员号20位不足右补空格
...全文

相关推荐

通信行业基于MongoDB的安全合规与性能优化:5G时序数据处理、可查询加密及窗口函数应用

内容概要:本文围绕MongoDB在通信行业的深度应用,系统讲解了可查询加密、时间序列集合、窗口函数与性能诊断四大核心技术。通过详实的代码案例,展示了如何利用可查询加密实现敏感数据合规存储与查询,使用时序集合高效处理5G网络KPI等高频写入场景,借助窗口函数进行经营指标的趋势分析,并结合explain()与查询分析器完成性能调优。文章还涵盖分片一致性检查、索引优化等运维实践,全面覆盖通信系统对安全、性能与扩展性的严苛要求。; 适合人群:具备一定数据库基础,从事通信行业研发、架构或运维工作1-3年的技术人员,尤其是参与5G网络监控、客户数据管理或大数据平台建设的相关人员。; 使用场景及目标:① 实现用户手机号、身份证等敏感信息的加密存储与等值查询,满足安全合规要求;② 构建高吞吐、低延迟的5G基站KPI时序数据存储与分析系统;③ 在数据库层直接完成滑动平均、累计求和等经营分析,减少应用层计算负担;④ 诊断慢查询、验证索引有效性,保障系统高性能运行。; 阅读建议:此资源强调理论与实战结合,建议读者在本地或测试环境部署MongoDB 7.0+版本,动手复现文中代码,重点关注schemaMap配置、时序集合参数选择与窗口函数语法细节,并结合explain执行计划理解底层优化机制,从而真正掌握通信级数据架构的设计精髓。

数智顾问

国央企创新负责人如何借助平台实现技术成果的高价值转化与资源精准配置?.docx

科易网基于AI模型+行业大数据,在技术转移、成果转化、技术经纪、知识产权、产业创新、科技招商等垂直领域的多样化应用场景,推出科技创新领域的AI+工具与数智化解决方案,推动科技创新与产业创新智能化发展。

BIZKEEN

产业园区运营负责人如何在平台建设中科学配置创新资源,提升园区内技术对接效率?.docx

产业园区运营负责人如何在平台建设中科学配置创新资源,提升园区内技术对接效率?

BIZKEEN

产业园区运营负责人如何提升园区内技术供需匹配的精准度?.docx

科易网基于AI模型+行业大数据,在技术转移、成果转化、技术经纪、知识产权、产业创新、科技招商等垂直领域的多样化应用场景,推出科技创新领域的AI+工具与数智化解决方案,推动科技创新与产业创新智能化发展。

BIZKEEN

高校技术转移办公室人员如何提升科技成果推介的效率与质量?.docx

科易网基于AI模型+行业大数据,在技术转移、成果转化、技术经纪、知识产权、产业创新、科技招商等垂直领域的多样化应用场景,推出科技创新领域的AI+工具与数智化解决方案,推动科技创新与产业创新智能化发展。

BIZKEEN
评论 2
收藏 已收藏
分享
返回顶部