?

城際鐵路智能乘車碼系統

2024-03-15 10:15王興成武婷婷甘人才李燕波
鐵路計算機應用 2024年2期
關鍵詞:客票乘車支付寶

王興成,武婷婷,甘人才,李燕波

(中國鐵道科學研究院集團有限公司 電子計算技術研究所,北京 100081)

隨著我國城鎮化進程的推進,中心城市與衛星城市之間、城市群之間的公共交通需求一直在快速增長。未來我國高速鐵路運營將更加注重城際化客運服務,不斷創新服務方式,完善服務標準,落實便民利民措施,使高速鐵路的建設與重點經濟區域的發展緊密契合。

城際鐵路旅客出行具有短周期、高頻次的特點[1],為滿足城際鐵路旅客日常通勤出行、快速進出站及便捷支付的現實需求,鐵路既有的先購票后乘車慣例及實名制驗檢票業務亟需優化。

為支持大灣區和粵港澳建設,按照中國國家鐵路集團有限公司(簡稱:國鐵集團)的統一部署,廣州鐵路局集團有限公司(簡稱:廣州局)積極探索城際鐵路出行新模式,建設城際鐵路智能乘車碼系統,讓旅客到站后能夠快速掃碼進出站,隨到隨走,先乘車后支付,促進鐵路客運服務方式轉型[2],助力大灣區一小時生活圈提速。

1 系統構成

城際鐵路智能乘車碼系統由業務受理終端、鐵路客票發售與預定系統(簡稱:客票系統)、檢票系統、支付平臺和業務基座5 部分組成,系統架構如圖1 所示。

圖1 城際鐵路智能乘車碼系統架構示意

(1)業務受理終端:主要包括鐵路12306 支付寶小程序(簡稱:小程序)、閘機終端、車站窗口、自助售取票機、列車手持終端等,提供面向旅客的各類快捷服務。小程序主要完成實名認證、乘車碼開通、支付方式簽約/解約、乘車碼展示、乘車記錄查詢等;閘機終端主要完成乘車碼解析、人臉照片采集、實名核驗、席位展示等;車站窗口為車站旅客提供服務[3],主要完成乘車碼進出站異常處理、實名核驗、乘車記錄查詢及報銷憑證出具;自助售取票機主要為旅客提供乘車記錄查詢和報銷憑證打??;列車手持終端主要用于列車檢票、列車補票、乘車碼識別等。

(2)客票系統:為業務受理終端提供后臺服務,實現賬戶管理、簽約關系管理、人臉比對、乘車碼生成、乘車記錄查詢、進出站信息提示、異常自動處理、交易處理、信息推送等功能。

(3)檢票系統:為閘機終端和車站窗口提供后臺服務,實現乘車碼核驗、檢票處理、席位處理、人臉比對與實名核對、進出站信息配對、異常交易處理、存根生成、交易發起、賬單生成等功能。

(4)支付平臺:為客票系統、檢票系統提供電子支付服務[4],實現支付方式簽約/解約、支付能力查詢、代扣支付、墊資支付、對賬單處理、交易對賬、差異處理、資金結算、資金核算[5]等功能。

(5)業務基座:為系統應用提供基礎運行環境、運維保障和業務保障?;A運行環境依托鐵路云計算平臺構建,利用云計算平臺提供的虛擬化計算資源、系統軟件和工具創建和部署應用程序;運維保障包括監控告警、后臺管理、信息維護、日志分析及報表統計等運維管理相關功能,業務保障包括旅客投訴、營銷展示等客戶服務支持。

2 系統功能

2.1 乘車碼開通與簽約

旅客通過小程序在線開通掃碼乘車業務。旅客綁定實名認證支付寶賬戶,經人臉識別后,開通乘車碼并簽約支付寶代扣支付方式后,即可使用乘車碼掃碼乘車。

(1)乘車碼開通申請:旅客登錄本人實名認證的支付寶賬戶,通過小程序線上申請開通乘車碼。目前,旅客持身份證、港澳通行證、臺灣通行證、港澳居住證、臺灣居住證等證件可在線辦理乘車碼開通,持其他證件時需前往車站窗口辦理。

(2)身份認證及開通:旅客通過小程序完成人臉識別認證后,即可完成乘車碼業務開通。申請用戶的人臉照片信息由支付寶傳輸至系統,并由系統加密保存,供進出站閘機及列車手持終端等在檢票、補票環節進行人臉比對。

(3)支付寶代扣簽約:乘車碼開通成功后,旅客還需簽約支付寶代扣支付方式。旅客仔細閱讀并勾選同意支付寶代扣協議,即可完成支付寶代扣簽約。旅客發起簽約后,系統內部逐級轉發簽約請求,與支付寶完成交互處理后逐級返回簽約參數,最終完成旅客實名12306 賬戶與同名支付寶簽約賬戶的綁定,并通過小程序向旅客展示支付寶代扣簽約結果。

2.2 乘車碼關閉與解約

旅客通過小程序在線關閉掃碼乘車業務。為保證鐵路運輸收入資金安全,先由客票系統完成旅客12306 賬戶與支付寶賬戶綁定關系的解除和乘車碼業務的關閉,再逐層處理支付寶代扣支付方式解約請求,并向旅客通知解約結果。

(1)關閉乘車碼申請:旅客可通過小程序或支付寶賬戶發起乘車碼業務關閉請求,在支付寶賬戶中發起關閉請求會自動跳轉至小程序。

(2)業務核實:系統判斷旅客是否有未完成的乘車記錄和未扣款成功的交易記錄。

(3)綁定解除與乘車碼關閉:經核實,旅客乘車碼業務無待處理記錄時,系統先行完成旅客12306賬戶與同名支付寶賬戶的綁定關系的解除,關閉旅客乘車碼業務,發起支付方式解約請求。

(4)支付寶代扣解約:系統與支付寶交互處理,完成旅客支付寶代扣支付方式解約,并通過小程序向旅客推送解約結果通知。旅客完成支付方式解約后,需再次簽約并后才能正常使用乘車碼。

2.3 乘車碼生成

旅客在小程序上打開乘車碼,系統會自動生成并定時更新乘車碼。

(1)未完成訂單檢測:旅客打開乘車碼時,系統會先判斷該旅客是否有未完成的訂單。若存在未完成的單邊交易(指旅客進站或出站未生成正常記錄),系統提醒旅客進行補登處理。

(2)賬戶支付能力核實:若旅客沒有未完成的訂單,系統向支付寶發起旅客賬戶支付墊資能力查詢請求,支付寶對旅客賬戶風險等級、是否有墊資未還款及相應償付能力進行核實,并向系統返回核實結果。

(3)乘車碼生成:在核實旅客賬戶支付能力無異后,系統為旅客實時生成乘車碼,并通過小程序向旅客展示乘車碼。

(4)更新周期設置:完成乘車碼更新周期(如每隔2 min)的設置;客票系統后臺服務生成乘車碼后,會根據系統設置的更新周期,動態更新乘車碼,以防止旅客因乘車碼被偷拍盜用造成資金損失。

2.4 進出站掃碼

旅客在進出站時,打開小程序出示乘車碼,通過閘機終端驗證乘車碼,系統自動生成乘車訂單并完成訂單計價。小程序進出站掃碼頁面如圖2 所示。

圖2 小程序進站、出站掃碼頁面

(1)掃碼進站與乘車訂單生成:旅客進站時向閘機出示乘車碼,系統判斷旅客是否有未完成的乘車交易記錄,若存在未完成交易記錄,則引導旅客通過車站窗口處理。系統驗證旅客乘車碼是否有效,并通過人臉識別完成旅客身份核驗后,由檢票系統自動為旅客分配席位,閘機開閘放旅客進站;客票系統后臺服務推送旅客進站信息,小程序向旅客展示進站消息與乘車訂單狀態。

(2)掃碼出站與乘車訂單計價:旅客出站時向閘機出示乘車碼,系統驗證旅客乘車碼是否有效,并通過人臉識別核驗旅客身份;乘車碼核驗通過后,系統自動匹配旅客進站記錄并計算票價,生成鐵路客票存根和交易記錄并自動扣款,閘機開閘放旅客出站;客票系統后臺服務推送旅客出站信息,小程序向旅客展示出站消息與訂單狀態;如果未匹配到旅客進站信息,提醒旅客前往人工窗口處理。

2.5 支付扣款

旅客使用乘車碼掃碼出站時,系統借助支付寶委托代扣業務向旅客提供快捷支付服務。使用乘車碼出站時的快捷支付頁面如圖3 所示。

圖3 乘車碼出站快捷支付頁面

(1)自動扣款:旅客出站掃碼時,系統與支付寶進行交互,依據乘車訂單計價自動完成旅客賬戶扣款。自動扣款前,支付平臺會對旅客交易記錄進行重復性校驗,避免旅客重復支付。自動扣款不成功時,系統向支付寶發起代扣請求。

(2)支付寶代扣:支付寶接收代扣請求后,進行資金代扣處理,并向系統返回代扣結果。

(3)支付寶墊資:支付寶代扣失敗時,系統向支付寶發起墊資請求,支付寶審核后完成墊資扣款,并向系統返回墊資扣款結果。

2.6 交易對賬

(1)客票數據入庫:在旅客乘車結束后的T+1日凌晨3:00,客票系統后臺服務根據客票存根和交易信息生成前一日客票交易對賬單,由支付平臺完成客票交易對賬單入庫。

(2)支付寶數據入庫:在交易的T+1 日凌晨3:00,支付寶將前一日所有成功的乘車碼交易記錄生成對賬單,并發送給支付平臺,由支付平臺完成支付寶交易對賬單入庫。

(3)交易對賬:支付平臺采用并行分布式技術[6]和大數據技術[7],對客票交易明細、支付平臺交易明細、支付寶交易明細進行逐筆核對,完成對賬結算[8];全部交易核對一致后,將對賬結果發送給支付寶。

(4)差異處理:交易對賬結果出現差異時,支付平臺將交易差異數據于9:00 前發送給支付寶,支付寶按照協議要求進行賠付,并于14:00 前將賠付完成結果通知支付平臺,以便完成后續的資金結算業務。

2.7 資金結算

(1)生成結算單:系統依據客票存根及交易信息生成客票交易對賬單匯總信息,在交易T+1 日15:00 前,由支付平臺按照該匯總信息向支付寶發起路局乘車碼資金結算請求[9]。

(2)結算處理:支付寶收到結算請求后,將乘車碼票款資金結算至路局運輸收入專戶,鐵路局集團公司收入部按照國鐵集團財務部要求完成運輸收入的上繳。支付寶結算完成后,將資金結算結果返回至系統支付平臺。若資金結算失敗,支付平臺通過觸發定時任務,向支付寶再次發起結算請求;若多次結算失敗,支付平臺會發出預警,通知業務人員和技術支持人員與支付寶方協同分析失敗原因,完成資金結算處理。

2.8 異常處理

(1)異常記錄生成:旅客進出站時,若發生單邊的乘車記錄異常,系統會生成異常記錄,并引導旅客進行相應的異常處理。

(2)進站異常處理:旅客刷碼進站異常時,車站窗口操作員查詢旅客乘車信息,詢問旅客上次乘車出站信息,系統完成進出站記錄匹配,生成客票存根,旅客完成支付即可正常刷碼進站。

(3)出站異常處理:旅客刷碼出站異常時,窗口操作員查詢旅客乘車信息,詢問旅客乘車進站信息,系統完成進出站記錄匹配,生成客票存根,旅客完成支付即可正常出站。

(4)小程序異常處理:旅客打開小程序乘車碼功能時,系統判斷是否有單邊的乘車記錄,若有則提醒旅客先進行單邊交易補登處理。具體補登規則為:根據旅客進站或出站記錄的車次、車站信息,按照當前列車最早乘車站或者最遠乘車站完成交易記錄匹配。旅客確認乘車記錄信息無誤后,系統生成客票存根并完成扣款,旅客乘車碼功能即可恢復正常使用。

(5)后臺異常處理:在旅客產生單邊交易的T+1 日,系統會以短信形式或向旅客12306 賬戶推送單邊交易異常信息,提醒旅客盡快登錄小程序或前往就近的鐵路車站窗口進行單邊交易異常處理。在旅客乘車的T+2、T+3、T+5、T+14、T+15 日,系統還會分別以相同方式提醒旅客盡快完成單邊交易處理,并告知旅客:系統會按照當前列車最早乘車站或者最遠乘車站的票價,在T+15 日完成自動補登和自動扣款處理。

3 關鍵技術

3.1 雙離線動態乘車碼生成與解析

城際鐵路車站環境復雜,因遮擋或受到干擾,移動網絡和無線網絡信號弱,且高峰時段旅客密集,無法保證業務受理終端在車站內始終保持穩定的網絡連接。為此,設計并實現了雙離線動態乘車碼生成與解析,以確保在節假日高峰時期、人流量大的車站及信號不佳的列車上,旅客不會因網絡連接不穩定而影響乘車碼的使用,保證旅客獲得良好的出行乘車體驗。

雙離線動態乘車碼生成與解析采用國密SM2、SM4 及SM3 加密算法實現,這些算法均由國家密碼管理局設計并公開,具有安全性和可靠性。其中,SM2 是一種橢圓曲線公鑰密碼算法,用于國家關鍵信息系統的數據加密、解密等操作;SM4 是一種對稱加密算法,廣泛應用于網絡通信、文件存儲及移動支付等各種需要數據加密的場景;SM3 算法主要用于數字簽名及驗證、消息認證碼生成及驗證等?;谶@些加密算法,系統在線開通旅客乘車碼時,自動完成個人密鑰在小程序端的同步緩存,以及公鑰在閘機等多種終端的同步緩存,能夠離線對旅客乘車碼進行動態加密更新及解析,使乘車碼具有防偽造、防盜用、防抵賴、防篡改的特點。圖4 為雙離線動態乘車碼生成與解析時序圖。

圖4 雙離線動態乘車碼生成與解析時序圖

(1)同步密鑰:旅客通過小程序簽約開通乘車碼時,客票系統使用SM4 算法對旅客賬戶數據進行加密后,將個人密鑰信息同步至小程序端進行緩存,將公鑰同步至閘機等業務受理終端進行緩存,為乘車碼離線生成與解析提供可能。

(2)離線生成乘車碼及動態更新:在離線環境下,旅客使用小程序刷新乘車碼時,小程序使用SM3 算法對當前時間及緩存數據進行簽名處理,再使用SM2 算法對簽名原文和密文數據進行加密,生成乘車碼。

由于系統后臺服務端按照設置的乘車碼更新周期(如每隔2 min)自動更新旅客乘車碼,超出更新周期時長后,若旅客使用未刷新的乘車碼,終端校驗后會提示旅客乘車碼無效,此時旅客需通過手動刷新乘車碼,來再次離線生成有效的乘車碼。此外,系統還禁止了截屏操作,有效防止了乘車碼被盜用及偽造使用。

(3)離線解碼:在離線環境下,旅客進出站掃碼時,閘機、列車手持終端、車站窗口等業務受理終端使用SM3 及SM2 算法對國密公鑰與簽名結果進行核驗,完成乘車碼的解析。

3.2 支付交易多重加密與驗證

旅客使用乘車碼出站時,系統實時完成旅客身份驗證及乘車訂單計價,并發起自動扣款,完成快捷支付。除了讓旅客體驗到快捷支付的順暢便利,更重要的是保證旅客資金安全,通過對支付交易進行層層加密與驗證,使支付交易防篡改、不可抵賴,保證旅客支付交易的安全性、穩定性及完整性。

采用SHA1WithRSA 及RSA 算法實現對支付交易的加密及驗證。RSA 算法是當前應用最廣泛的公鑰非對稱加密算法之一,廣泛應用于數據加密、數字簽名等領域。通過數據的加密和簽名,能夠防范由密文反推簽名私鑰的風險,保證數據不被篡改,提高數據的安全性和完整性。

客票系統與支付平臺之間通過業務報文傳遞支付交易數據,系統與支付寶之間通過銀行報文傳遞支付交易數據。業務報文及銀行報文均使用私鑰進行簽名、加密,使用公鑰進行解密、驗簽。支付平臺與客票系統分別持有各自私鑰及對方公鑰,支付平臺與支付寶分別持有各自私鑰及對方公鑰,支付平臺私鑰以“業務私鑰”和“銀行私鑰”進行區分。支付交易數據以報文形式經過多次私鑰簽名、加密及公鑰解密、驗簽完成流轉。支付交易完整的加密與驗證流程如圖5 所示。

圖5 支付交易加密與驗證流程示意

(1)客票系統加密業務報文:客票系統使用私鑰對業務報文進行簽名,并對簽名后的明文和密文進行加密。

(2)支付平臺驗證業務報文:支付平臺使用客票系統公鑰對業務報文進行解密,再對解密后的明文和密文進行簽名驗證。

(3)支付平臺加密銀行報文:支付平臺使用業務私鑰對銀行報文進行簽名,并對簽名后的明文和密文進行加密。

(4)支付寶驗證銀行報文:支付寶使用支付平臺公鑰對銀行報文進行解密,再對解密后的明文和密文進行簽名驗證。

(5)支付寶加密銀行報文:支付寶使用私鑰對銀行報文進行簽名、加密。

(6)支付平臺驗證銀行報文:支付平臺使用支付寶公鑰對銀行報文進行解密、驗簽。

(7)支付平臺加密業務報文:支付平臺使用銀行私鑰對業務報文進行簽名、加密。

(8)客票系統驗證業務報文:客票系統使用支付平臺公鑰對業務報文進行解密、驗簽。

3.3 交易對賬及差異處理模型

旅客掃碼乘車后,系統自動扣款或以支付寶代扣方式完成付款。支付交易完成后,系統會按照鐵路運輸收入管理規定相關要求[10],完成交易對賬及差異處理,確保運輸收入正確、及時、完整和安全。交易對賬結果的準確性直接關乎國鐵集團運輸收入,交易對賬后及時采取合理的措施進行差異處理,直接影響旅客乘車體驗及國鐵集團客運服務水平。

借鑒鐵路電子支付平臺多年的交易對賬和差異處理業務經驗,結合城際鐵路乘車碼的業務特點,建立對賬及差異處理業務模型,如圖6 所示。

圖6 交易對賬及差異處理業務模型示意

系統交易對賬發生在業務系統(客票系統)、支付平臺和支付機構(支付寶)三方之間,由支付平臺分別與業務系統進行業務對賬、與支付機構進行銀行對賬。

業務對賬完成業務系統與支付平臺之間交易數據差異的比對核查,銀行對賬完成支付平臺與銀行之間交易數據差異的比對核查。對于復雜因素導致的重復支付等需退款的交易差異,系統審核通過后由銀行進行退款,審核不通過的進行標記;對于無需退款的待處理交易差異,若存在資金差異則由銀行補款,無資金差異則進行標記。

基于該業務模型實現的三方對賬及差異處理,能夠將票、賬、款分離,保證了運輸收入資金結算的完整性。

4 結束語

城際鐵路智能乘車碼系統面向城際鐵路運營實際需求,基于雙離線動態乘車碼生成與解析技術及智能識別技術,實現旅客掃碼進出站、先乘車后支付的創新業務模式。該系統提供了周全、細致的異常處理,使旅客掃碼乘車時的異常得到及時、穩妥處置,為旅客出行帶來高效便捷的乘車體驗,極大地提升了城際鐵路客運服務水平和旅客出行效率。此外,該系統通過支付交易多重加密與驗證及完善的交易對賬及差異處理,既保證了旅客支付的安全性和完整性,也確保了國鐵集團運輸收入準確無誤。

目前,城際鐵路智能乘車碼系統的功能已全部實現,并在珠三角穗深城際、廣佛肇城際、莞惠城際等多條城際鐵路完成應用試點與推廣,取得良好的應用效果。截至2023 年底,已在4 條城際鐵路共計54 個車站開通乘車碼業務,開通乘車碼的 旅客累計250 多萬人,完成運輸收入進款3000 萬元,掃碼乘車旅客發送量占比達 23.3%。

鐵路乘車碼業務將繼續在廣州局進行更大范圍的推廣,并逐步輻射到國鐵集團其它鐵路局。同時,鐵路乘車碼業務還在北京地鐵取得的良好應用效果,未來可拓展到更多路外場景,為推進軌道交通多網融合發揮積極作用。

猜你喜歡
客票乘車支付寶
淺談哈爾濱局集團公司客票電子化通道強化與流量監測
這一次優步乘車,讓我感動了
中國鐵路客票在跨境客運中的互通方案
奇客巴士支付寶旗艦店
乘車
航空公司客票直銷的現狀與分析
我的支付寶
支付寶這樣進醫院
支付寶進醫院:好還是不好?
小淘氣乘車
91香蕉高清国产线观看免费-97夜夜澡人人爽人人喊a-99久久久无码国产精品9-国产亚洲日韩欧美综合