一篇文章搞懂Android 刷卡器对接:RS232 DB9串口通讯,通讯设置,刷卡器API介绍;代码示例;MDB协议;

目录

在这里插入图片描述


前言

在一些国家,还没有普及扫码支付的时候,消费者会纸币、硬币或者刷卡进行支付,这里我们讲解一下刷卡支付。

在市面上,有哪家刷卡器公司可以说的上是开通了很多国家的支付银行,那么Nayax和Pax可以说的上是名列前茅,他们适配了很多国家,对接其他国家的银行,让我们只需要接入了他们的刷卡器,就可以实现在全国各地实现刷卡支付,而不需要我们去对接这些国家的银行,真的是非常方便。

当然,他们也并不是全部国家都适配到了,也会出现有一些国家没有的情况,这个时候,你也可以选择当地国家开发的刷卡器。

他们的接入方式大同小异,无非就几种:串口、局域网以及蓝牙等。这篇文章,我们会先讲讲串口的方式。串口是通过连接线材的方式,使通讯更加的稳定可靠。


一、需求场景:刷卡支付(开发前对接,需要对方提供信息)

大致的流程:

  1. 首先,需要让对方提供API文档
  2. 我们需要知道他们的通讯设置:波特率、停止位、数据位以及奇偶校验等等。
  3. 这些信息拿到以后,我们就可以将硬件连接好,进行测试。
  4. 注意,这个时候,还是先不要写代码,先使用串口工具进行测试!先使用串口工具!先使用串口工具!先使用串口工具!因为出现问题,对方的工程师会让你先用串口工具测试,因为他不知道的技术水平怎么样,所以串口工具是最有说服力的。能节省非常的沟通成本。
  5. 要将硬件连接到电脑,我们需要买一个usb转Rs232的线,因为电脑用的usb,硬件设备用的有可能是db9,所以要买一条这样的线进行转接。

下面我们来看一个具体的案例:自动售货机领域的一种重要通信标准,MDB。


1.1 通讯设置

这个通讯设置,也是需要对方提供给到我们。
在这里插入图片描述我们打开串口工具,将其设置进去,然后打开串口即可测试。串口工具大家可以上网搜索下载,非常多。
在这里插入图片描述
串口号,当你插入到电脑的时候就会自动识别出来,如果没有识别出来,那么有可能是没有驱动,可以到系统的计算机管理系统里面看看缺少什么驱动,下载对应的即可。


1.2 刷卡器的API

一般,刷卡器我们会称之为下位机,而Androdi我们会称之为上位机。

下位机的API一般有:

  1. 初始化:刷卡器的功能会很多,有的国家,支付流程不一样,所以我们需要使用不同的初始化方式,比如有的国家,喜欢先插卡后选择商品,而有的国家,喜欢先选择商品后插卡;再有比如设置支持最大最小金额是多少,等等,有很多。
  2. 发起交易:一般需要携带金额,商品编号;商品编号告知出货的具体是什么商品。
  3. 取消交易:取消本次交易。
  4. 接收交易结果:这个是下位机自动发送上来,不需要我们去轮询监听。
  5. 上传出货结果:商品的出货结果,需要发送给下位机。下位机会进行记录,上传到他们的服务器,这样才有数据可察。

1.3 发送数据\接收数据

在这里插入图片描述

数据格式会分为两种:

  1. ASCII就是我们常用,比如:1302、或者SDWR,也就是字符串。
  2. HEX:就是十六进制。

比如ASCII:ABC
在这里插入图片描述
比如Hex:41 42 43

在这里插入图片描述
空格是没有必要的,发送的时候也会取消。


二、刷卡器Api介绍

下面,我们介绍一种全球通用协议,MDB协议,又名ICP(Internal Communication Protocol)协议,是自动售货机领域的一种重要通信标准。很多国家的刷卡器都会按照这一标准进行实现,类似于我们的Http一样,只要我们按照这个协议期发送,那么就是http请求。

下面我们会根据MDB协议的无现金章节来进行讲解,无现金也就是无需要现金,刷卡器,就是无现金的一种。

2.1 初始化流程

这个是非常重要,要先完成初始化流程,才能进行支付流程,初始化流程其实就是用于设置基础信息,比如启动什么功能,支持的最大最小金额,然后开始使用:

  1. 发送重置指令。
  2. 发送设置指令:主要用于获取刷卡器的信息,比如他的级别是多少,使用的是什么支付模式,最大响应时间多少等等。
  3. 发送支付最大最小价格。
  4. 设备使能(使能就是可以进行使用)。

这些并不是固定,有时候会根据不同的刷卡器参加,进行配置。

(1)发送重置指令

(2)发送设置指令

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

前期后期

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值