任好好 周健勇



摘 要:研究了一種基于騰訊小程序的城市軌道交通二維碼乘車方案?;ヂ摼W移動支付的二維碼乘車方式具備離線和在線支付功能,應用廣泛。這種新型的二維碼乘車方案解決了傳統支付方式不便的問題,可逐漸取代傳統的自動售票機,減少購票硬件設備及運營維護成本,提高購票效率。相對于乘客使用自動售票機購取票及交通一卡通等方式,該方案更高效、快捷、方便。
關鍵詞:智能交通系統;軌道交通;地鐵支付方式;二維碼;騰訊小程序
DOI:10. 11907/rjdk. 191465 開放科學(資源服務)標識碼(OSID):
中圖分類號:TP319文獻標識碼:A 文章編號:1672-7800(2020)002-0061-05
英標:Research on Two-dimensional Code Riding Scheme of Rail Transit with Tencent Applet
英作:REN Hao-hao, ZHOU Jian-yong
英單:(School of Business,University of Shanghai for Science and Technology,Shanghai 200093,China)
Abstract:In order to further understand the payment method of subway two-dimensional code from the internal system structure, a two-dimensional code riding scheme for urban rail transit based on Tencents Applet was studied. Compared with the way passengers use the ticket vending machine to purchase tickets and traffic cards, the solution has the advantages of high efficiency, speed and convenience. Through the analysis of the two-dimensional code ride scheme based on Tencents Applet, it is pointed out that the QR code ride mode accepts Internet mobile payment, and has the functions of offline and online payment. The result clarifies that this new two-dimensional code ride solution solves the inconvenience caused by the traditional payment method, and gradually replaces the traditional subway ticket payment method, which reduces the installation and operation maintenance of the ticket purchase hardware equipment. The cost increases the efficiency of ticket purchase; at the same time, passengers can use the mobile phone Tencent software to carry and pay for the QR code.
Key Words: intelligent transportation system; rail transit; subway payment method; two-dimensional code; Tencent Applet
0 引言
城市軌道交通支付系統中引入互聯網及移動支付技術,解決了傳統城市軌道交通支付系統的問題,提升了地鐵服務能力和水平,是目前的熱點研究項目[1]。
國外移動支付發展比較成熟的國家地區有歐美、日本和韓國。在歐洲,主要移動支付運營模式是第三方聯合運營,即銀行作為合作者而不參與移動支付運營[2];在美國,移動支付是主流,用戶不僅能通過短信等方式購買數字產品,還能提供貨到付款服務[3];在日本最早實現無線數據業務,用戶通過手機可以收發郵件、下載游戲等[4];在韓國,以獨立于移動網絡的移動現場支付為主營模式[5]。
國內移動支付起步較晚。2002年6月中國聯通在無錫成功推出第一個“小額支付移動解決方案”試驗系統[5];熊冬青等[5]對RFID手機的關鍵技術進行分析,給出手機關鍵技術實現方案;張然等[7]借鑒美國等發達國家的NFC使用經驗,指出NFC技術是未來銀行網絡化、電子化、自動化的發展趨勢;朱忠遷等[8]設計了一種基于NFC技術的移動支付系統讀卡器,該讀卡器刷卡距離可控,具有抗干擾、抗沖突等特點,不需要更換手機;張安勤[9]從技術角度比較現有移動支付的典型實現技術及移動支付系統,指出這些系統的優缺點;白麗針[10]對面向3G移動支付安全的3個問題提出可行性解決方案,在支付流程上引入第三方支付工具解決信用問題。
目前對移動支付的相關研究主要在無線技術方面,研究方法集中在分析當前相關技術的局限性并提出改進方案,目的是提出移動支付系統解決方案以適應移動商務需求。在軌道交通移動支付方面,基于騰訊小程序的軌道交通二維碼是目前前沿的軌道支付科技手段,是行業研究熱點。本文通過對騰訊小程序的軌道交通二維碼乘車方案進行研究,分析該方案的內部結構和主要功能,驗證該支付手段的實用性,并指出互聯網新型地鐵支付系統發展趨勢。
1 總體方案架構
手機已成為人們出行必不可少的隨身攜帶工具[11],手機用戶使用“騰訊乘車碼”微信小程序作為出行支付手段,使用二維碼掃碼進出站,產生進出后的扣款與清算,其主要特點是先乘車后付費。用戶先乘車,乘車完成后從用戶的微信支付內扣費;支持用戶離線生成二維碼,用戶在無網絡情況下可以生成二維碼;閘機側采用離線驗證和可降級的在線驗證方式[12]。為了提升用戶體驗,只要閘機正常就能進出站,盡可能減少出現單邊賬。閘機離線驗證二維碼合法性后,再到后臺驗證用戶多進多出情況。如果閘機連接不上地鐵云平臺,或地鐵云平臺出現故障,默認后臺驗證通過,盡可能減少出現單邊賬。
“騰訊乘車碼”方案主要由騰訊后臺、騰訊乘車碼小程序、地鐵云平臺、閘機、自動售檢票系統或清分系統6大系統組成,如圖1所示。
(1)騰訊后臺。騰訊后臺獲取授權數據,并與合作伙伴后臺開通雙方賬戶綁定(可選),閘機實時上報進出站記錄到地鐵云平臺,地鐵云平臺將進出站記錄上報到騰訊后臺,騰訊后臺實時推送到小程序提醒用戶。
(2)騰訊乘車碼小程序。用戶用騰訊微信乘車碼小程序開通使用業務。獲取證書用于離線生成二維碼,該卡證書作為離線生成二維碼的唯一憑證加密保存在用戶手機上;手機離線生成二維碼后,用戶在閘機掃碼進出站。
(3)地鐵中心服務器。地鐵云平臺下載騰訊密鑰,收到出站記錄后實時進行進出站匹配,匹配成功后向騰訊后臺發起扣款。
(4)閘機。部署在車站,支持二維碼讀取驗證、開閘、交易上報等功能。閘機從地鐵云平臺下載騰訊密鑰和地鐵密鑰,用于二維碼驗證;閘機調用騰訊提供的二維碼,對二維碼合法性和有效性進行驗證,同時對授權數據進行驗證。全部驗證通過后為有效二維碼,閘機訪問地鐵云平臺做多進多出檢查,決定是否允許用戶進出站。
(5)客服終端。部署在車站,用于異常情況下協助用戶進出站。騰訊后臺收到扣款請求,若扣款成功,則推送扣款成功消息到小程序,小程序展示支付成功頁;若扣款未成功,則提供異常情況幫助。
(6)自動售檢票系統或清分系統(AFC/ACC)。根據實際情況上報乘車記錄到該系統,用于對賬。
2 系統功能
2.1 業務流程
(1)開通。用戶打開“騰訊乘車碼”小程序,申請地鐵乘車碼,如圖2所示。由騰訊后臺進行用戶身份申請、使用協議確認等必要操作。用戶身份審核確認后,向地鐵云平臺系統發起開通申請,地鐵云平臺系統執行地鐵賬號分配等操作。操作成功后,向騰訊后臺系統反饋開通結果(可選);騰訊后臺系統綁定用戶與地鐵賬號(可選),提示用戶開通成功。
(2)進站。用戶打開騰訊乘車碼小程序,離線生成二維碼;騰訊乘車碼小程序生成二維碼后,用戶刷二維碼;閘機讀取二維碼后,對二維碼進行合法性校驗;閘機驗證二維碼通過后,再訪問地鐵云平臺,驗證用戶重復進站情況;地鐵云平臺返回驗證結果[13]。閘機只有收到地鐵云平臺明確的拒絕進站指令才拒絕進站,其它情況下都會開閘讓用戶進站。閘機在本地保存進站記錄;閘機準實時上報進站記錄到地鐵云平臺;地鐵云平臺保存進站記錄并推送到騰訊后臺;騰訊后臺推送進站信息到用戶側提醒用戶已進站,如圖3所示。
出現異常情況時,客服人員查詢用戶進站記錄。如果確認用戶的上一次進站記錄是本站,則取消本次進站記錄,讓用戶重掃進站;后臺對取消的進站記錄計費方式如下:如果掃碼時間在規定時間內(如20分鐘內),免收費;其它按照多進多出規則處理;其它原因建議乘客使用其它方式進站。
(3)出站。用戶打開騰訊乘車碼小程序,離線生成二維碼。騰訊乘車碼小程序生成二維碼后,用戶刷二維碼;閘機讀取二維碼后,對二維碼作合法性校驗。閘機驗證二維碼通過后,再訪問地鐵云平臺,驗證用戶重復出站情況;地鐵云平臺返回驗證結果;閘機只有收到地鐵云平臺明確的拒絕出站指令后才拒絕出站,其它情況下都會開閘讓用戶出站;閘機在本地保存出站記錄,閘機準實時上報出站記錄到地鐵云平臺;地鐵云平臺保存出站記錄并推送到騰訊后臺,騰訊后臺推送出站信息到用戶側提醒用戶已進站,如圖4所示。
出現異常情況時,客服人員查詢用戶出站記錄,如果確認用戶的上一次出站記錄是本站則取消本次出站記錄,讓用戶重掃描出站;后臺對取消的出站記錄計費方式如下:如果掃碼時間在規定時間內(如20分鐘內),免收費;其它按照多進多出規則處理;其它原因如手機沒電等,客服登記用戶出站信息后放行。
(4)定期密鑰更新。二維碼經騰訊后臺私鑰簽名,閘機需要下載對應的公鑰,驗證簽名合法性;騰訊后臺公鑰存在“有效期”限制,閘機需要根據公鑰有效期定期向騰訊后臺下載最新公鑰列表,如圖5所示。
(5)黑名單用戶推送。為了快速禁止某些用戶的惡意行為,閘機支持準實時接受黑名單列表,用于準實時停止用戶業務;騰訊后臺將黑名單推送到地鐵云平臺。地鐵云平臺在不影響閘機正常運行的情況下將黑名單推送到閘機,或者閘機以較短的時間間隔定期拉取增量黑名單列表,達到在規定時間內停止用戶服務的目的。
2.2 功能流程
(1)時間對齊。騰訊后臺與地鐵ACC時鐘對齊:通過小程序及騰訊后臺與地鐵閘機進行掃碼,地鐵云平臺獲取互聯網時間,以及返回給地鐵閘機的互聯網時間信息,形成互聯網時間驗證二維碼有效期,在地鐵云平臺通過互聯網時鐘服務器保存互聯網時間[15]。
小程序與騰訊后臺時鐘對齊:打開小程序與騰訊后臺進行時間對齊,由騰訊后臺返回給小程序時鐘信息,保存差值,生成二維碼時取生成時間,即本地時間減去保存的時間差值,如圖6所示。
(2)錯誤數據上報。乘客進行二維碼過閘掃碼出現錯誤時,由閘機、地鐵云平臺及騰訊后臺進行故障處理。閘機出現掃碼故障時,上報故障數據給地鐵云平臺;地鐵云平臺保存故障數據,上傳錯誤數據給騰訊后臺;騰訊后臺保存故障數據,然后對SDK錯誤進行監控報警,并且輸出監控報表,如圖7所示。
上報項目說明見表1。
2.3 進出站匹配流程
(1)匹配流程。收到乘客掃碼記錄上報數據,對上報數據進行進出站掃碼記錄判斷[16]。如果是進站則實時記錄,如果是出站掃碼記錄,則查看該用戶當日未匹配的進站記錄,進站記錄按時間先后順序排列,取最后一條進站時間記為該進站記錄所匹配的進站時間記錄,檢查出站時間和進站時間的差值,大于指定時間則直接結束,小于指定時間則匹配成功,生成訂單并扣款,最終完成該單的進出站匹配,如圖8所示。
使用上述匹配流程,只有出站1和進站2同時延遲上報或丟失,且進站1和出站2的時間間隔小于規定時間(如2小時)的情況下,才會將出站2和進站1匹配,這種情況出現的概率很低,該匹配錯誤可以對用戶補差額。
(2)匹配處理。日終對當日未完成匹配的掃碼記錄進行處理,按照實時匹配的方式對每個用戶未匹配掃碼記錄進行匹配;對當日未完成匹配的掃碼記錄進行匹配,對仍不能匹配的掃碼記錄作單邊帳或免收費處理。
3 二維碼及協議介紹
3.1 二維碼
(1)二維碼結構。二維碼由標識碼和base64數據體構成,標識碼用于終端快速過濾非本規范二維碼,其結構如表2所示。
(2)二維碼驗證體系。二維碼驗證體系由地鐵云平臺、騰訊后臺、閘機和手機客戶端4大模塊構成。地鐵云平臺采用合作方騰訊的秘鑰進行交易上傳、TAC驗證和公鑰下載;騰訊后臺向手機客戶端使用私鑰簽名卡證書及下發;閘機進行用戶子密鑰校驗,手機客戶端進行卡證書接收及時間差計算。整個校驗系統的二維碼數據都是地鐵授權數據,卡證書主要內容字段有用戶ID、證書起始時間、碼有效時長等,有合作方騰訊私鑰簽名,從而生成一個有動態數據生成時間、擴展字段及TAC的二維碼。驗證二維碼的合法性和有效性,若驗證通過,該接口會返回騰訊簽名的掃碼記錄,合作伙伴需要把該掃碼記錄作為掃碼數據的一部分上傳到后臺,并且通過訂單一起推送到騰訊后臺作為驗證憑證。
3.2 協議說明
(1)閘機SDK功能和集成。閘機SDK有提取二維碼基礎數據和驗證二維碼掃碼有效性功能,閘機SDK集成在閘機程序加載,通過定義的函數獲取公鑰編號并驗證二維碼合法性,閘機負責磁盤存儲和網絡訪問。
(2)驗證流程。獲取二維碼數據,對二維碼數據進行解析。首先,判斷格式是否正確,版本和算法是否支持;再進行驗證卡證書簽名,驗證動態數據簽名;獲取本地時間計算二維碼有效期,校驗二維碼的生成時間進行進出站匹配,進而判斷余額是否超限,是否充足;最后進行匹配掃碼記錄,掃碼記錄進行簽名,解析通過后可掃碼出站。
(3)開放平臺協議。無論是請求還是應答,原始簽名串按以下方式組裝成字符串:所有參數按照字段碼從小到大排序后拼接而成,空值不傳遞,不參與簽名組串;所有參數指通信過程中實際出現的非空參數,即使是接口中無描述字段也要參與簽名組串;簽名原始串中,各字段名和字段值都采用原始值;騰訊乘車碼接口協議可能會由于升級增加參數,注意簽名和驗簽時允許這種情況存在[18]。
3.3 接口說明
上傳訂單數據到騰訊后臺進行扣款。公交場景下,一次掃碼乘車產生一筆交易;地鐵場景下,一次乘車有出入站兩次掃碼,出站掃碼產生交易并需要扣費。訂單查詢接口在合作伙伴對訂單狀態不確認時,可通過該接口查詢訂單信息。
賬單文件第一行為字段說明行,分別為商戶訂單號、支付訂單號、商戶號、金額(分)、時間。商戶訂單號對應商戶自己推單時用的訂單號,支付訂單號對應微信或財付通平臺賬單文件里的“商戶訂單號”,商戶號為錢款流入的商戶號,交易時間是微信支付或財付通結算的時間,與微信或財付通商戶平臺下載的賬單中的時間一致[21]。賬單倒數第二行為固定匯總說明行,總條數、總金額賬單倒數第一行對應固定匯總的總條數和總金額。文件末尾數據為文件匯總數據時,表示賬單文件完整下載;同一商戶訂單號可能會對應多條支付訂單,該訂單實際收款金額為多條支付訂單金額的總和。
4 結語
移動互聯網的迅速發展帶動了城市軌道交通移動支付及二維碼支付的發展,移動互聯網終端產品掃碼支付小程序在軌道交通領域得到廣泛應用,互聯網技術的創新成果與移動支付融合發展形成新的移動支付方式,信息化、商業化、數據化不斷推動我國城市軌道交通服務行業的發展。城市地鐵基于騰訊二維碼小程序支付方式就是在這種背景下產生的,是對傳統支付方式的一次技術革新。
移動支付已應用到軌道交通售票領域,在地鐵車站AFC系統架構、自動售票機的現金流處理等環節都引入了二維碼乘車設計。本文重點介紹了二維碼乘車硬件及軟件技術實現,闡述了基于騰訊小程序的二維碼乘車方案高效、快速、便捷的性能設計。此設計方案成功應用于現有各大城市地鐵線路運營,通過運營數據驗證了二維碼乘車方案的可行性。互聯網參與下的軌道交通移動支付方案將來會更加成熟穩定。
參考文獻:
[1] 楊貴松. 一種二維碼地鐵取票機的研究與實現[J]. 機電工程技術,2017, 6(1):1-2.
[2] 楊政軍. 二維碼電子車票在自動售檢票統中的應用[J]. 城市軌道交通研究,2016,19(4):3-4.
[3] 吳友寶,徐建閩. 二維碼和電子支付在地鐵票務系統的應用研究[J]. 電子世界,2014(11):2-4.
[4] 湛維昭,張森. 城市軌道交通互聯網票務系統研究[J]. 自動化應用,2017(5):2-3.
[5] 李道全. 城市軌道交通AFC系統支付方式現狀及發展[J]. 都市快軌交通,2016,29(1):59-62.
[6] 閆鳴宇,陳楠. 移動支付在城市軌道交通中的應用研究[J]. 鐵路通信信號工程技術,2016,13(3):72-75.
[7] 龔迥. “互聯+票務”在地鐵AFC系統的支付應用研究[J]. 科技風,2016(18):227-228.
[8] 王鐘. 移動支付在城市軌道交通中的應用前景[J]. 大陸橋視野,2017(12):3-4.
[9] 孫飛. 移動支付在軌道交通自動售檢票系統中的設計與應用[J]. 商品與質量,2017(50):1-4.
[10] 汪璐. 新型移動支付在AFC系統中的應用[J]. 科技風,2017(10):1-2.
[11] 李帥. 軌道交通車站關鍵設備智能監控和健康維護系統的研究[D]. 上海:東華大學,2011.
[12] 鄭交交. 構件系統演化一致性的判定方法[J]. 計算機科學,2018(10):2-5.
[13] CERVERA? A. Analysis of j2me for developing mobile payment systems[D]. Master's Thesis in Information Technology,Electronic Commerce. IT University of Copenhagen, 2002.
[14] NAMBIRS S, LUCT L L. Analysis of payment transaction security in mobile commerce[C]. Proeeedings of IEEE International Conference on Information Reuse and Integration, LasVegas, USA, 2004: 475-480.
[15] 裴順鑫,張寧. 地鐵自動售檢票系統的互聯標準[J]. 都市快軌交通,2013,20(5):38-41.
[16] 吳明欣. 軌道交通自動售檢票系統關鍵技術研究與應用[D]. 上海:上海交通大學,2007.
[17] MALLAT N, R0SSI M, TUNAINNEN V K. The impact of use context on mobile services acceptance: the case of mobile ticketing [J]. Information & Management, 2009 (46):267-275.
[18] RIVEST? R,SHAMIR A. Payword and? micromint: two simple micropayment schemes[C]. In Proc. Security Protocols, LNCS 1189. Berlin: Springer Verlag, 1996(1189):69-87.
[19] 顧洋,陳青云. 移動支付在軌道交通自動售檢票系統中的設計與應用[J]. 都市快軌交通,2016,29(6):114-119.
[20] 文佳. 我國移動支付發展現狀、問題及對策[J]. 金融科技時代,2017(3):54-58.
[21] 王宇偉,張輝. 基于手機的NFC應用研究[J]. 中國無線電,2011:6(1):3-8.
(責任編輯:杜能鋼)