技術(shù)宅
說到掃碼乘車,可能很多朋友并沒有覺得這個(gè)操作有什么難度。以騰訊掃碼乘車為例,我們只要在微信小程序中添加“乘車碼”小程序,打開乘車二維碼后對著公交車的掃碼設(shè)備掃碼,“嘀”一下后就完成乘車操作(圖1)。
這簡單的一聲“嘀”,背后卻需要各種復(fù)雜環(huán)節(jié)的配合。我們先來了解—下常規(guī)的微信綁定銀行卡向商家付款的支付流程:開啟網(wǎng)絡(luò)→進(jìn)入微信支付生成付款碼→商家掃描付款碼→向微信發(fā)起收款請求→銀行處理款項(xiàng)→騰訊中轉(zhuǎn)→支付款項(xiàng)轉(zhuǎn)移到商家微信賬戶(圖2)。
常規(guī)支付涉及到網(wǎng)絡(luò)、銀行處理、微信賬戶轉(zhuǎn)移結(jié)算等流程,將其應(yīng)用到超市、線下商鋪等的付款時(shí)并沒有覺得不便,可一旦移植到公交支付場景時(shí)就會(huì)有不少麻煩。舉個(gè)簡單的例子,如果遇到網(wǎng)絡(luò)堵塞的情況,在超市、商業(yè)街等場景中,常規(guī)支付有時(shí)需要耗費(fèi)好幾秒的時(shí)間(微信支付時(shí)一直轉(zhuǎn)圈),這對線下支付的影響并不大,但是對于公交支付卻是不可避免的硬傷。因?yàn)楣煌ㄐ行室蠓浅8?,一般整個(gè)支付流程需要在300毫秒內(nèi)完成,一旦超時(shí),不僅影響人們的出行體驗(yàn),也會(huì)影響公交運(yùn)營商的結(jié)算。
針對上述問題,騰訊掃碼乘車給出如下解決方案。
首先是網(wǎng)絡(luò)問題,為了讓每個(gè)用戶都能夠不受網(wǎng)絡(luò)影響完成支付,微信為“乘車碼”小程序開發(fā)了雙離線技術(shù),一方面在支付端微信允許“乘車碼”小程序在離線的情況下生成支付二維碼,這樣確保每個(gè)用戶在任何網(wǎng)絡(luò)(即使離線)情況下都可以發(fā)起支付請求(圖3)。另一方面,配置在公交車、地鐵站的掃碼設(shè)備也支持對付款二維碼的離線掃描,確保在任何網(wǎng)絡(luò)條件下都可以掃描,完成用戶的支付操作。
雙離線技術(shù)確保用戶的支付不受網(wǎng)絡(luò)影響,但是又會(huì)產(chǎn)生一個(gè)新問題,那就是微信支付如何完成結(jié)算,這是需要通過在線完成的。騰訊為這類離線掃描的用戶使用墊付的措施,當(dāng)用戶在網(wǎng)絡(luò)不好的情況下掃碼無法完成支付時(shí),公交公司會(huì)先收到騰訊的墊付款,而當(dāng)用戶到網(wǎng)絡(luò)正常的區(qū)域時(shí),微信則會(huì)向用戶發(fā)起支付請求,收取墊付的資金。比如筆者—次離線掃碼測試,乘車掃碼后17秒開啟網(wǎng)絡(luò)才完成支付(圖4)。
其次是支付系統(tǒng)的保障問題。掃碼支付涉及資金結(jié)算系統(tǒng),而大家知道只要是軟件系統(tǒng)就不可避免會(huì)出現(xiàn)問題,如果一個(gè)城市的公交掃碼支付出現(xiàn)問題,那么就會(huì)影響到這個(gè)城市千千萬萬的用戶。為了提高支付系統(tǒng)的穩(wěn)定性和可靠性,騰訊乘車碼提供有多種保障方案。
一方面對每個(gè)城市的公交掃碼系統(tǒng)進(jìn)行了非常細(xì)致的調(diào)試和維護(hù),使得系統(tǒng)可用性達(dá)到99.999%。另—方面為了應(yīng)對極端情況下的(比如某地支付系統(tǒng)出現(xiàn)故障)系統(tǒng)正常運(yùn)行,騰訊在多個(gè)城市搭建跨城容災(zāi)機(jī)房,可以做到分鐘級的自動(dòng)切換容災(zāi),確保在極端情況下自動(dòng)切換到其他城市容災(zāi)機(jī)房,保證支付系統(tǒng)的運(yùn)行不會(huì)受影響(圖5)。
最后是線下硬件設(shè)備使用問題?,F(xiàn)在線下配備的是掃碼設(shè)備,但是這個(gè)掃碼設(shè)備在實(shí)際使用中還是會(huì)遇到各種問題。比如掃碼效率,因?yàn)槲⑿胖Ц妒褂昧穗p離線的掃碼技術(shù),這樣支付二維碼就比常規(guī)的多了幾百個(gè)字節(jié)的數(shù)據(jù),導(dǎo)致支付掃描時(shí)間過長。為了解決這個(gè)問題,微信團(tuán)隊(duì)和和業(yè)界頂尖廠商合作,通過對整個(gè)識(shí)別原理和環(huán)節(jié)的優(yōu)化,最終將響應(yīng)速度壓縮在100毫秒內(nèi)(圖6)。
另外一個(gè)需要解決的是掃碼設(shè)備的識(shí)別兼容性和維護(hù)難題。因?yàn)槊總€(gè)人掃碼的習(xí)慣都不相同,比如有的人喜歡將手機(jī)貼在掃碼器前掃描,有的人則喜歡橫著手機(jī)掃描。為此騰訊專門設(shè)立了一個(gè)識(shí)別研究室,技術(shù)人員反復(fù)測試,確保用戶的各種掃描習(xí)慣都可以被快速識(shí)別。此外由于二維碼掃碼頭是高頻使用設(shè)備,每天可能要遭受高達(dá)百萬次的摩擦,為了提高設(shè)備可用性,微信對掃碼設(shè)備配置了較為耐磨的藍(lán)寶石玻璃(圖7)。
由此可見,看上去—次簡單的掃碼,后臺(tái)則包合軟件(雙離線技術(shù)、掃碼識(shí)別優(yōu)化、支付系統(tǒng)維護(hù))和硬件(跨城容災(zāi)機(jī)房搭建、掃碼頭硬件配置)的各種優(yōu)化和搭配(圖8)。
顯然掃碼乘車讓我們從此出門不需要再準(zhǔn)備零錢,給大家的生活帶來更多便利。對于公交公司來說,無現(xiàn)金支付則能提升資金流通效率,快速完成支付和入賬處理。
不過對于科技巨頭們來說,掃碼并不僅僅是為了乘車,它還實(shí)現(xiàn)了公交數(shù)字化變革,隨著這項(xiàng)技術(shù)的普及將給我們帶來更多便利。比如對于個(gè)人用戶,我們出門乘車時(shí)最怕的就是遭遇爆棚的車廂,上車后連落腳的地方都沒有。現(xiàn)在借助乘車碼技術(shù),我們就可以為車輛建立預(yù)警機(jī)制,可以通過小程序告訴我們每輛車的擁擠狀況,讓我們更有選擇性地去乘坐車輛。對于公交公司則可以做線路優(yōu)化,借助乘車碼自身的大數(shù)據(jù)和智能調(diào)度能力,幫助相關(guān)部門提升交通工具的使用效率和線路優(yōu)化。