?

基于NFC的移動支付系統設計

2016-06-14 01:57湯子豪趙慧
電腦知識與技術 2016年12期
關鍵詞:移動支付安卓

湯子豪+趙慧

摘要:隨著智能手機的普及和電子貨幣支付系統的日趨完善,小額度電子貨幣移動支付,成為人們重要的支付手段。結合NFC通信技術的特點,提出了基于NFC的移動支付系統。作為一種小額度電子貨幣交易方式,該系統操作簡單,并具有更高的安全性,適合用于商場、餐廳等服務場所的日常付款,將極大地便利人們的生活。

關鍵詞:Arduino UNO單片機;NFC;PN532;安卓;移動支付

中圖分類號:TN929 文獻標識碼:A 文章編號:1009-3044(2016)12-0306-03

Abstract: With the popularity of Intelligent mobile phone and the rapid development of the electronic currency payment system, payment of small amount of electronic money become an important means of payment. According to the characteristics of NFC communication technology, this paper puts forward the mobile payment system based on NFC. As a payment of small amount of electronic money transactions, the system,with better security, is easy to operate. It is suitable for shopping malls, restaurants and other places of daily payment service, will greatly facilitate people's life.

Key words: Arduino UNO; NFC; PN532; Android;mobile payment

1 概述

當代,手機、IC卡、條形碼、二維碼等成為人們進行交易的支付方式,由此促進了移動支付方式的研究與發展。作為RFID技術的延伸,NFC技術具有傳輸距離短的特點,能夠更好地保護用戶的隱私安全,這也奠定了其在支付領域的重要地位。

在一些發達國家早已廣泛應用基于NFC的移動支付方式。例如日本多數大城市都會有支持NFC支付方式的自動售賣機和商場購物。在國內,2011年開始出現了具有NFC功能的手機,有部分發達城市將NFC支付投入到公交、鐵路系統上使用,少數高校支持手機消費 [9]。

本系統以NFC中的p2p通信模式作為研究對象,結合現今移動支付系統的相關規則模擬出使用手機NFC功能進行移動支付的過程。

2 NFC技術

NFC,即近距離無線通訊技術(Near Field Communication),是一種非接觸式識別和互聯技術。NFC的數據交換不需要密碼、配對或其他認證步驟,就可以通過簡單的觸控方式進行信息交換和內容訪問。其傳輸距離短和數據小的特性,也成為支持移動支付的重要因素。

與RFID不同的是,NFC的目標方往往是可編程設備,如移動電話,這樣便意味著NFC設備可以生成并發送獨特的內容,進行近距離的互相通信。本文將利用此功能完成對目標方反饋唯一的驗證碼信息。

3 系統組成與設計

3.1 系統的組成和工作原理

本系統主要采用WAP方式架構系統,以移動網絡作為系統操作平臺,構建以NFC近場通信為基礎實現的手機移動支付的交易系統。系統由賣家終端、買家手機終端、服務器處理端三大部分組成,其中賣家終端包括上位機串口傳輸處理程序和NFC讀卡終端。系統組成如圖1所示。

基于NFC的移動支付系統將實現以下核心功能:

1) 近場通信功能,使用PN532元件結合Arduino UNO單片機實現智能化近場通信,數據的近距離傳輸具有良好的保密性。

2) 無線網絡通信功能,手機安卓程序與服務端通過無線網絡進行通信,使用TCP網絡協議傳輸顯示余額信息和支付請求信息。

3) 數據存儲功能,服務端統一存儲管理賣家買家的余額信息和交易記錄信息。

4) 串口傳輸功能,讀卡終端通過串口線與賣家上位機PC端連接,傳輸交易串口信息。

5) 賬單處理功能,服務器端程序根據買家手機發送的請求生成對應的交易支付碼,賣家PC端程序對買家的支付碼進行進一步處理加入賣家ID的信息,最后又服務器處理最終賬單信息。

6) 安全加密功能,在支付碼生成階段由服務器進行加密,加強安全性。

交易開始時,讀卡終端開啟發送射頻場等待目標,手機應用協助開啟NFC功能,通過服務器端獲取個人支付編碼,結合自己的余額和當時的交易時間進行編碼,組成一串字符串消息,作為NDEF數據包,通過近場通信傳輸到讀卡終端,而讀卡終端將數據包信息通過串口傳輸到上位機進行進一步處理,生成最終的交易信息字符串通過網絡發送到服務器,服務器對賣家PC端傳輸的賬單信息進行處理和存儲,扣除買家的存款,增加賣家的存款,完成簡單的交易模擬。

根據現有的移動支付系統架構,結合NFC的無線通信原理,本系統將針對硬件和軟件兩大部分進行實現。

3.2 系統硬件設計

硬件設計主要是基于單片機的讀卡器終端,用以完成與目標手機的數據交互與服務器的數據傳輸,主要包括Arduino UNO單片機、CD4050芯片和PN532。其中,Arduino UNO單片機為主控部分,CD4050芯片負責電平調節,PN532則作為近場通信部分,負責與具有NFC功能的手機進行通信。

硬件設計如圖2所示,Arduino UNO的2、3、4輸出口分別接CD4050的9、11、14引腳,其中9、11、14號引腳用于對應三個輸出口的輸入電平;電源接5v,適用于驅動Arduino UNO單片機;PN532的SCK、MISO、MOSI、SSEL分別接CD4050芯片的10、5、12、13引腳,其中10、12、13號引腳用作對應輸出,而5號引腳作為唯一對應VCC電壓端驅動高電平。

3.3 系統軟件設計

軟件部分在應用層開發安卓應用,調用手機自帶的NFC功能用于和硬件終端的數據交互,在服務層開發服務器服務端程序,使用數據庫存儲所有用戶數據,實現用戶信息集中管理和處理。

軟件部分使用VS2013開發上位機賣家端程序和服務器端管理程序;使用Eclipse adt開發手機買家安卓端;使用sql server2008存儲管理交易數據以及用戶數據;使用Arduino開發Arduino UNO單片機底層程序。

系統程序運行時,系統各部分進行初始化,完成手機用戶端登錄、賣家上位機端打開串口激活讀卡器底層電路程序、服務器端運行等待客戶端請求等操作。支付流程如圖3所示,當初始化完成后,買家端發送請求到服務器,服務器接收請求查詢數據庫發送動態支付碼回用戶端,賣家上位機輸入商品金額后開啟讀卡器無線通信功能,用戶手機此時貼近讀卡終端即可進行通信,動態交易碼經過上位機的進一步判斷和處理后傳到服務器進行處理,處理結果為雙方余額的變化,從而完成交易過程。

3.4 數據庫設計

本系統的服務器端使用SQL sever 2008數據對交易信息以及用戶存款和資料進行存儲,其數據庫分為6個表,分別是用戶登錄表、交易記錄表、用戶存款表、動態支付碼表、用戶信息表、用戶請求表。用戶登錄表作為最核心的表,主鍵UserID外鏈接到動態碼表、用戶信息表、用戶存款表三個表中各自的UserID字段,確保了參照完整性。

用戶登錄需經過查詢用戶登錄表驗證,根據UserID鏈接在用戶信息表查詢用戶詳細信息;在用戶存款表查詢或修改余額;在動態碼表中獲取動態交易碼。用戶請求表和交易記錄表作為兩個獨立的表,用戶請求表經過程序處理獲取用戶的交易請求,經過程序處理后將刪除一條記錄,并向交易記錄存入一條記錄作為交易記錄,兩個表通過程序處理部分具有間接的單向傳輸關系。

4 總結

基于NFC的移動支付系統,以Arduino UNO單片機為核心,采用結構化設計方法進行設計,實現了近場通信原理下的刷卡式支付。該系統電路簡單,操作方便,易于安裝?;贜FC短距離和小數據的特性,該系統相對安全,且保密性高,具有一定的實用性。

系統還存在不完善的地方,還值得改進和優化,如手機端的界面和功能不夠接近支付寶錢包應用的界面,功能不夠完善,PN532的工作開關不夠智能控制,只會不斷持續的工作,應當設置按鈕通電,在需要工作的時候才啟動,以免因持續工作而造成損耗。

參考文獻:

[1] Tom Igoe,Don Coleman. NFC Arduino、Android與PhoneGap近場通信[M].電子工業出版社,2014.

[2] 維基百科.Arduino UNO簡介.http://kb.open.eefocus.com/index.php?title=Arduino_Uno

[3] 王珊,薩師煊.數據庫系統概論[M].高等教育出版社,2009.

[4] 李現勇.Visual C++串口通信技術與工程實踐[M].人民郵電出版社,2002.

[5] 林瑞仲,吳越.Visual C++.NET類庫應用實例[M].電子工業出版社,2003.

[6] 李興華.Android開發實踐經典[M].北京:清華大學出版社,2012.

[7] 朱清慧,張鳳蕊,瞿天嵩,王志奎.Proteus教程——電子線路設計、制版與仿真[M].清華大學出版社, 2011.

[8] 董鍵.物聯網與短距離無線通信技術[M].電子工業出版社, 2012.

[9] 葉曉麗.基于NFC技術的移動支付系統硬件設計研究[D].電子工業出版社, 2012.

[10] 張峰,趙壯,肖噯.移動支付應用和發展研究[J].中國金融電腦, 2005(4).

猜你喜歡
移動支付安卓
文物表情包
一種基于安卓系統的手機側抓包分析方法
安卓L未至安卓M來了!安卓首泄漏M系統
91香蕉高清国产线观看免费-97夜夜澡人人爽人人喊a-99久久久无码国产精品9-国产亚洲日韩欧美综合