基于NFC的移动支付系统设计

整理文档很辛苦,赏杯茶钱您下走!

免费阅读已结束,点击下载阅读编辑剩下 ...

阅读已结束,您可以下载文档离线阅读编辑

资源描述

基于NFC的移动支付系统设计摘要:随着智能手机的普及和电子货币支付系统的日趋完善,小额度电子货币移动支付,成为人们重要的支付手段。结合NFC通信技术的特点,提出了基于NFC的移动支付系统。作为一种小额度电子货币交易方式,该系统操作简单,并具有更高的安全性,适合用于商场、餐厅等服务场所的日常付款,将极大地便利人们的生活。关键词:ArduinoUNO单片机;NFC;PN532;安卓;移动支付中图分类号:TN929文献标识码:A文章编号:1009-3044(2016)12-0306-03Abstract:WiththepopularityofIntelligentmobilephoneandtherapiddevelopmentoftheelectroniccurrencypaymentsystem,paymentofsmallamountofelectronicmoneybecomeanimportantmeansofpayment.AccordingtothecharacteristicsofNFCcommunicationtechnology,thispaperputsforwardthemobilepaymentsystembasedonNFC.Asapaymentofsmallamountofelectronicmoneytransactions,thesystem,withbettersecurity,iseasytooperate.Itissuitableforshoppingmalls,restaurantsandotherplacesofdailypaymentservice,willgreatlyfacilitatepeople'slife.Keywords:ArduinoUNO;NFC;PN532;Android;mobilepayment1概述当代,手机、IC卡、条形码、二维码等成为人们进行交易的支付方式,由此促进了移动支付方式的研究与发展。作为RFID技术的延伸,NFC技术具有传输距离短的特点,能够更好地保护用户的隐私安全,这也奠定了其在支付领域的重要地位。在一些发达国家早已广泛应用基于NFC的移动支付方式。例如日本多数大城市都会有支持NFC支付方式的自动售卖机和商场购物。在国内,2011年开始出现了具有NFC功能的手机,有部分发达城市将NFC支付投入到公交、铁路系统上使用,少数高校支持手机消费[9]。本系统以NFC中的p2p通信模式作为研究对象,结合现今移动支付系统的相关规则模拟出使用手机NFC功能进行移动支付的过程。2NFC技术NFC,即近距离无线通讯技术(NearFieldCommunication),是一种非接触式识别和互联技术。NFC的数据交换不需要密码、配对或其他认证步骤,就可以通过简单的触控方式进行信息交换和内容访问。其传输距离短和数据小的特性,也成为支持移动支付的重要因素。与RFID不同的是,NFC的目标方往往是可编程设备,如移动电话,这样便意味着NFC设备可以生成并发送独特的内容,进行近距离的互相通信。本文将利用此功能完成对目标方反馈唯一的验证码信息。3系统组成与设计3.1系统的组成和工作原理本系统主要采用WAP方式架构系统,以移动网络作为系统操作平台,构建以NFC近场通信为基础实现的手机移动支付的交易系统。系统由卖家终端、买家手机终端、服务器处理端三大部分组成,其中卖家终端包括上位机串口传输处理程序和NFC读卡终端。系统组成如图1所示。基于NFC的移动支付系统将实现以下核心功能:1)近场通信功能,使用PN532元件结合ArduinoUNO单片机实现智能化近场通信,数据的近距离传输具有良好的保密性。2)无线网络通信功能,手机安卓程序与服务端通过无线网络进行通信,使用TCP网络协议传输显示余额信息和支付请求信息。3)数据存储功能,服务端统一存储管理卖家买家的余额信息和交易记录信息。4)串口传输功能,读卡终端通过串口线与卖家上位机PC端连接,传输交易串口信息。5)账单处理功能,服务器端程序根据买家手机发送的请求生成对应的交易支付码,卖家PC端程序对买家的支付码进行进一步处理加入卖家ID的信息,最后又服务器处理最终账单信息。6)安全加密功能,在支付码生成阶段由服务器进行加密,加强安全性。交易开始时,读卡终端开启发送射频场等待目标,手机应用协助开启NFC功能,通过服务器端获取个人支付编码,结合自己的余额和当时的交易时间进行编码,组成一串字符串消息,作为NDEF数据包,通过近场通信传输到读卡终端,而读卡终端将数据包信息通过串口传输到上位机进行进一步处理,生成最终的交易信息字符串通过网络发送到服务器,服务器对卖家PC端传输的账单信息进行处理和存储,扣除买家的存款,增加卖家的存款,完成简单的交易模拟。根据现有的移动支付系统架构,结合NFC的无线通信原理,本系统将针对硬件和软件两大部分进行实现。3.2系统硬件设计硬件设计主要是基于单片机的读卡器终端,用以完成与目标手机的数据交互与服务器的数据传输,主要包括ArduinoUNO单片机、CD4050芯片和PN532。其中,ArduinoUNO单片机为主控部分,CD4050芯片负责电平调节,PN532则作为近场通信部分,负责与具有NFC功能的手机进行通信。硬件设计如图2所示,ArduinoUNO的2、3、4输出口分别接CD4050的9、11、14引脚,其中9、11、14号引脚用于对应三个输出口的输入电平;电源接5v,适用于驱动ArduinoUNO单片机;PN532的SCK、MISO、MOSI、SSEL分别接CD4050芯片的10、5、12、13引脚,其中10、12、13号引脚用作对应输出,而5号引脚作为唯一对应VCC电压端驱动高电平。3.3系统软件设计软件部分在应用层开发安卓应用,调用手机自带的NFC功能用于和硬件终端的数据交互,在服务层开发服务器服务端程序,使用数据库存储所有用户数据,实现用户信息集中管理和处理。软件部分使用VS2013开发上位机卖家端程序和服务器端管理程序;使用Eclipseadt开发手机买家安卓端;使用sqlserver2008存储管理交易数据以及用户数据;使用Arduino开发ArduinoUNO单片机底层程序。系统程序运行时,系统各部分进行初始化,完成手机用户端登录、卖家上位机端打开串口激活读卡器底层电路程序、服务器端运行等待客户端请求等操作。支付流程如图3所示,当初始化完成后,买家端发送请求到服务器,服务器接收请求查询数据库发送动态支付码回用户端,卖家上位机输入商品金额后开启读卡器无线通信功能,用户手机此时贴近读卡终端即可进行通信,动态交易码经过上位机的进一步判断和处理后传到服务器进行处理,处理结果为双方余额的变化,从而完成交易过程。3.4数据库设计本系统的服务器端使用SQLsever2008数据对交易信息以及用户存款和资料进行存储,其数据库分为6个表,分别是用户登录表、交易记录表、用户存款表、动态支付码表、用户信息表、用户请求表。用户登录表作为最核心的表,主键UserID外链接到动态码表、用户信息表、用户存款表三个表中各自的UserID字段,确保了参照完整性。用户登录需经过查询用户登录表验证,根据UserID链接在用户信息表查询用户详细信息;在用户存款表查询或修改余额;在动态码表中获取动态交易码。用户请求表和交易记录表作为两个独立的表,用户请求表经过程序处理获取用户的交易请求,经过程序处理后将删除一条记录,并向交易记录存入一条记录作为交易记录,两个表通过程序处理部分具有间接的单向传输关系。4总结基于NFC的移动支付系统,以ArduinoUNO单片机为核心,采用结构化设计方法进行设计,实现了近场通信原理下的刷卡式支付。该系统电路简单,操作方便,易于安装。基于NFC短距离和小数据的特性,该系统相对安全,且保密性高,具有一定的实用性。系统还存在不完善的地方,还值得改进和优化,如手机端的界面和功能不够接近支付宝钱包应用的界面,功能不够完善,PN532的工作开关不够智能控制,只会不断持续的工作,应当设置按钮通电,在需要工作的时候才启动,以免因持续工作而造成损耗。参考文献:[1]TomIgoe,DonColeman.NFCArduino、Android与PhoneGap近场通信[M].电子工业出版社,2014.[2]维基百科.ArduinoUNO简介.http://kb.open.eefocus.com/index.php?title=Arduino_Uno[3]王珊,萨师煊.数据库系统概论[M].高等教育出版社,2009.[4]李现勇.VisualC++串口通信技术与工程实践[M].人民邮电出版社,2002.[5]林瑞仲,吴越.VisualC++.NET类库应用实例[M].电子工业出版社,2003.[6]李兴华.Android开发实践经典[M].北京:清华大学出版社,2012.[7]朱清慧,张凤蕊,瞿天嵩,王志奎.Proteus教程――电子线路设计、制版与仿真[M].清华大学出版社,2011.[8]董键.物联网与短距离无线通信技术[M].电子工业出版社,2012.[9]叶晓丽.基于NFC技术的移动支付系统硬件设计研究[D].电子工业出版社,2012.[10]张峰,赵壮,肖嗳.移动支付应用和发展研究[J].中国金融电脑,2005(4).

1 / 8
下载文档,编辑使用

©2015-2020 m.777doc.com 三七文档.

备案号:鲁ICP备2024069028号-1 客服联系 QQ:2149211541

×
保存成功