聊聊先享後付

需求緣起

那是一個陽光明媚的早晨,筆者和往常一樣背着帥氣的雙肩包,將頭髮梳成大人模樣,換上一身帥氣的西裝前往公交站,踏上上班之路,運氣不錯,公交車很快就到了,刷完乘車碼以後在外力的幫助下捲入人海默默的等待着下一次外力助我下車。

早晨的時光過得總是很快,中飯過後我正準備趴在桌上午休時收到了微信推送的扣費通知。

收到這種莫名奇妙的扣費通知,我第一感覺是號被盜刷了,誰偷拍了我的乘車碼?

但下一秒,一個程序員的直覺告訴自己開發者應該不會犯這種低級錯誤,乘車碼在一定程度上相當於支付條碼,怎麼可能不刷新呢,我親測了確實是動態刷新的。


那究竟是什麼原因呢?接下來就請出今天的主角「先享後付」,相信看完整個內容也就很好解釋之前的「盜刷」問題了。

概念

先享後付從字面理解就是先享受服務再付費,對於用戶體驗來說很好,服務結束的時候可以不用關心付費,由系統自動進行扣減,尤其對一些高頻使用場景,比如共享單車,地鐵公交等。

使用場景

1.交通出行:滴滴打車,共享單車等,用戶下車以後由系統自動付費,節約用戶時間;

2.新零售:一些智能貨櫃,當你選完商品關上櫃門以後由系統進行扣減,筆者之前使用過小e到家的智能貨櫃,體驗非常好;

3.網絡受限環境:比如公交車經過某些網絡不好的路段時,無法實時扣費,但又不能耽誤乘客坐車,這種情況就非常適合在刷卡機內部保存離線訂單,等網絡好的時候再上送訂單數據到服務端由系統就行補扣(上面提到的公交車延遲扣費就是這種原因,早晨應該是網絡不好沒有將訂單同步上去);

使用流程

筆者所在的城市目前乘坐地鐵或公交時可以使用微信乘車碼進行支付,使用之前需要先開通一下,開通流程如下所示:

步驟1:打開乘車碼小程序,初次會提示去開通

步驟2:點擊「去開通”,這時會來到一個引導頁,勾選協議以後點擊「立即開通」

步驟3:這時會來到「開通免密支付」,點擊「開通免密支付」意味着開通流程結束


這時你的乘車碼已開通完畢,意味着你可以用它來坐地鐵、公交了,這裡畫個流程圖理解一下整體流程。

核心點

整個流程中有幾個核心點值得關註:

1.開通免密支付免密支付指的是支付時不需要用戶輸入密碼,由系統自動扣減,系統使用什麼扣減呢?筆者翻看了相關文檔,微信叫委託代扣協議id,支付寶叫代扣協議號;

2.公交車刷卡機需要保存離線訂單,當機具斷網以後存在本地,聯網以後上送到雲端進行補扣;

3.乘車碼需要支持離線支付,當用戶手機斷網以後不影響用戶乘車;

4.需要有一套追繳機制,用戶乘車以後刷卡機後台還未扣款時用戶關閉了免密支付,意味着之前的訂單無法扣款,如下圖用戶在微信中關閉免密支付。

流程細化

用戶簽約免密支付


      用戶簽約流程

用戶乘車

這裡有兩個關鍵點重點描述一下:

1.用戶打開乘車碼小程序時,小程序根據用戶手機網絡狀態決定不同的乘車碼生成策略,如果有網就調用後端服務獲取乘車碼,如果無網就本地生成,筆者猜測碼生成規則大概是qrCode=encrypt(“用戶id,時間戳等」,加密key),如果無網的時候會使用本地緩存的上一次的加密key,否則會動態的去服務端更新加密key;

2.用戶刷卡以後,機具首先會生成本地訂單,如果有網就將本地訂單上送到後台服務,這裡上送的目的是為了提示用戶「乘車成功」,如下圖3.1,3.2所示;

      用戶刷卡流程

乘車碼後台扣款

1.後台拉取待扣款訂單;

2.查詢用戶代扣協議id,如果用戶已解約就標記訂單為支付失敗同時插入欠費記錄為下一步的追繳做準備;

3.如果用戶未解約,就調用微信免密支付接口,如果支付成功就將訂單標記為支付成功,如果支付失敗就標記訂單為支付失敗同時插入欠費記錄為下一步的追繳做準備(這裡的處理稍顯粗暴,如果是用戶餘額不足等情況其實後台是可以延遲重試的,直到最大重試次數,這裡為了舉例就簡單化處理);

      後台扣款流程

追繳-提醒用戶還款

當用戶欠費以後後台藉助平台(微信,支付寶)提供的能力提醒用戶還款,當用戶還款以後刪除用戶的欠費記錄,如果用戶未還款就限制用戶繼續使用服務,下一個流程會介紹。

      提醒用戶還款
 

      欠費記錄

追繳-限制欠費用戶使用服務


      限制使用服務
 

      限制使用服務交互

總結

「先享後付」作為一個現在比較流行的消費方式,的確給我們帶來了很多的便利,但是每種事物的出現必然是有利有弊的,我這裡簡單說一下自己的理解。

優點:

1.對於個人來說的確很方便,使用完服務以後不用關注付費問題,由系統自動扣減,用戶體驗很好;

2.對商家來說減少了結算周期,避免了某些情況下需要催款的場景(筆者以前打網約車忘記付費,收到過司機的催款電話);

缺點:

1.對於個人來說,方便的同時也帶來了一定的風險,等於把自己的支付密碼交給了別人;

2.對於商家來說可能會面臨一定的資損,畢竟社會中還充斥着那麼一些老賴;