支付寶和微信的掃碼支付作為目前移動支付的主流方式,在日常支付活動中,越來越多的消費者青睞于使用該支付方式。解放軍第113醫(yī)院是一所綜合性三甲醫(yī)院,日門診量在三千左右,傳統(tǒng)的支付方式由于耗時長、易出錯等原因使得掛號繳費窗口面臨較大壓力;另一方面自助服務(wù)設(shè)備由于支付環(huán)境安全性等問題也很難被患者廣泛使用,掃碼支付功能的出現(xiàn)有效地解決了這些問題。
1 引言
掃碼支付分為“主動式掃碼”與“被動式掃碼”兩種模式。主動式掃碼支付是醫(yī)院系統(tǒng)按支付寶或微信支付協(xié)議生成支付二維碼,用戶再用支付寶或微信錢包客戶端的“掃一掃”功能完成支付的模式,該模式適用于醫(yī)院自助掛號機、繳費一體機等患者用戶自助服務(wù)場景。被動式掃碼支付又稱條碼支付或刷卡支付,是用戶支付寶或微信錢包客戶端向醫(yī)院系統(tǒng)展示條形碼或二維碼,醫(yī)院系統(tǒng)通過使用紅外線掃描槍掃描后完成支付的模式,該模式適用于醫(yī)院掛號收費柜臺或掛號收費窗口。兩種模式的掃碼支付均能在十幾秒甚至幾秒內(nèi)完成支付過程,在大大簡化收費、試算、找零等流程的同時,既減少患者排隊時間,又降低醫(yī)院收到假幣、找零出錯等風險,為收費管理提供了創(chuàng)新解決方案。
2 支付場景業(yè)務(wù)流程
主動式掃碼與被動式掃碼在業(yè)務(wù)流程方面大同小異,并且整個系統(tǒng)最核心的支付完成異步通知流程是完全一致的,下面就僅以主動式掃碼為例,詳細介紹從生成支付二維碼到用戶進行掃碼再到支付完成異步通知整個流程。
2.1支付二維碼生成
圖1 支付二維碼生成流程圖
如圖1所示,支付二維碼生成過程主要分以下幾個步驟:醫(yī)院收費終端系統(tǒng)根據(jù)患者ID號等就醫(yī)憑證信息,到HIS中獲取相關(guān)費用信息,若為醫(yī)保用戶,則向醫(yī)保中心系統(tǒng)發(fā)送試算請求并得到結(jié)果。
如果用戶需要使用掃碼支付進行結(jié)算,則終端收費系統(tǒng)開啟SOCKET服務(wù)偵聽并將患者信息、本機IP地址、SOCKET偵聽端口號及患者應(yīng)收費用等信息打包成終端支付要素信息包提交至支付網(wǎng)關(guān)服務(wù)器。
支付網(wǎng)關(guān)服務(wù)器一方面保存終端支付要素信息以備支付完成后通知終端收費系統(tǒng)完成結(jié)算,另一方面根據(jù)支付寶/微信支付系統(tǒng)API調(diào)用規(guī)則,得到訂單號與交易鏈接(code_url),并返回給終端收費系統(tǒng)。
終端收費系統(tǒng)在得到訂單號與交易鏈接(code_url)后,把交易鏈接內(nèi)容生成二維碼圖片展示給用戶。
在支付二維碼生成這個流程中,原來的收費終端程序只需要新增SOCKET服務(wù)偵聽與提交終端支付要素信息包的HTTP請求操作,并在收到交易鏈接(code_url)后將其轉(zhuǎn)化為二維碼的功能,實現(xiàn)過程并不復雜。
2.2 支付完成異步通知 在用戶掃描完支付二維碼并完成支付授權(quán)后,支付寶/微信支付系統(tǒng)服務(wù)器將發(fā)起異步通知,告知交易發(fā)起方,交易已成功支付。其流程圖如圖2所示。
圖2 支付完成異步通知流程圖
支付完成異步通知流程主要如下:一旦用戶成功支付,支付寶/微信支付系統(tǒng)服務(wù)器將發(fā)起異步通知,通知地址(notify_url)為調(diào)用下單API時定義的參數(shù),本文中為支付網(wǎng)關(guān)服務(wù)地址。支付網(wǎng)關(guān)服務(wù)器得到用戶支付成功消息后,會先去驗證該支付消息真實性。確認該支付成功消息真實存在后,支付網(wǎng)關(guān)會去查找保存的終端支付要素信息,解析后與終端收費系統(tǒng)建立SOCKET連接,發(fā)送支付完成消息。終端收費系統(tǒng)得到支付完成消息,將支付費用信息提交至HIS,完成收費系統(tǒng)接下來的步驟,打印相關(guān)憑證,完成整個收費支付過程。
在用戶支付完成后,可能由于網(wǎng)絡(luò)等原因?qū)е轮Ц毒W(wǎng)關(guān)服務(wù)器沒有第一時間收到用戶支付成功消息,可以在終端收費程序調(diào)用查詢訂單API,查詢訂單的支付狀態(tài)完成相應(yīng)過程。
3 系統(tǒng)架構(gòu)設(shè)計
經(jīng)過上述業(yè)務(wù)流程梳理,本文將給出整個支付系統(tǒng)架構(gòu)設(shè)計圖。如圖3所示,圖左側(cè)的收費子系統(tǒng)、掛號子系統(tǒng)和自助服務(wù)系統(tǒng)為終端收費系統(tǒng),通過醫(yī)療網(wǎng)絡(luò)與HIS數(shù)據(jù)庫連接開展業(yè)務(wù)。圖中央的安全隔離網(wǎng)閘能嚴格控制內(nèi)外端信息交換,隔絕醫(yī)療網(wǎng)絡(luò)與隔離區(qū)(DMZ區(qū))網(wǎng)絡(luò)物理連接。圖右側(cè)的支付網(wǎng)關(guān)服務(wù)器位于DMZ區(qū),通過防火墻連接到處于互聯(lián)網(wǎng)的支付寶/微信支付服務(wù)器。
圖3 支付系統(tǒng)架構(gòu)圖
4 安全性設(shè)計
安全在整個支付流程中具有至關(guān)重要的地位,一旦存在安全漏洞,整個醫(yī)院資金安全都將受到威脅。鑒于此,本院運用了以下安全策略來確保支付系統(tǒng)安全可靠平穩(wěn)運行。
4.1 網(wǎng)絡(luò)安全 在網(wǎng)絡(luò)安全方面,下一代防火墻、安全隔離網(wǎng)閘、支付網(wǎng)關(guān)的安全策略配置能確保網(wǎng)絡(luò)穩(wěn)定通順。
防火墻作為第一道安全關(guān)起著“看守員”的職責,對于不同的接口/區(qū)域,應(yīng)當劃分不同IP組別,對業(yè)務(wù)所需應(yīng)用對象進行地址轉(zhuǎn)換,并開啟DDOS防護以防止遭受攻擊后影響正常支付回調(diào)接口。下一代防火墻的WEB應(yīng)用防護和IPS功能可以有效地保護DMZ區(qū)服務(wù)器,彌補由于支付網(wǎng)關(guān)應(yīng)用本身存在的漏洞可能引發(fā)的問題,如防止SQL注入、阻止WEBSHELL命令執(zhí)行等。
安全隔離網(wǎng)閘由內(nèi)端機、外端機、數(shù)據(jù)遷移控制單元三部分組成,能阻止來自外端的惡意攻擊,也可以有效保護內(nèi)網(wǎng)用戶信息、防止泄露,進而減少病毒等惡意代碼泛濫和傳播的可能,從而確保受保護網(wǎng)絡(luò)系統(tǒng)能夠達到預期的安全等級。網(wǎng)閘也應(yīng)當配置相應(yīng)的對象組列表、服務(wù)列表及應(yīng)用列表,制定詳細明確規(guī)則,只允許特定源對象組訪問目標對象組的特定應(yīng)用或服務(wù)。
支付網(wǎng)關(guān)作為本支付系統(tǒng)的核心,應(yīng)對所開放的服務(wù)具有審計和追溯功能。在支付網(wǎng)關(guān)管理端,能實時查看正在調(diào)用和歷史調(diào)用的接口服務(wù),記錄每次調(diào)用所傳遞的數(shù)據(jù)內(nèi)容,統(tǒng)計各接口服務(wù)調(diào)用次數(shù),發(fā)現(xiàn)異常調(diào)用能實時報警。
4.2 數(shù)據(jù)安全 在數(shù)據(jù)安全方面,本系統(tǒng)主要通過數(shù)據(jù)加密與數(shù)據(jù)防篡改技術(shù)來提升安全性。由于考慮到支付完成后需要通知各終端收費系統(tǒng)完成結(jié)算,如果從位于DMZ區(qū)的支付網(wǎng)關(guān)服務(wù)器與醫(yī)療網(wǎng)絡(luò)區(qū)的各個終端收費系統(tǒng)建立連接會增加安全風險。本系統(tǒng)設(shè)計了一套消息分發(fā)服務(wù)器,專門用于支付完成后將消息分發(fā)至各終端收費系統(tǒng)。系統(tǒng)中所傳輸?shù)南⒕诎踩捉訉樱⊿SL)下傳輸,消息內(nèi)容經(jīng)過對稱加密技術(shù),內(nèi)容中設(shè)置特定校驗字段防止傳輸消息被篡改。
4.3 交易安全 由于掃碼支付交易業(yè)務(wù)存在于互聯(lián)網(wǎng)環(huán)境下,存在DNS劫持、運營商插入廣告、數(shù)據(jù)被竊取、正常數(shù)據(jù)被修改等安全風險,所以不論是醫(yī)院還是支付寶/微信支付服務(wù)商都最大限度地保證交易安全。通過簽名算法與生成隨機數(shù)算法可以保證交易訂單的可靠性,通過SSL證書管理、HTTPS服務(wù)器配置以及支付完成消息的驗證機制可以很大程度地保證交易的安全性。
5 財務(wù)管理設(shè)計
掃碼支付交易完成后,其資金進入在支付寶/微信的支付賬戶,超過保留金額后,會自動提現(xiàn)至醫(yī)院對公賬戶,故終端收費系統(tǒng)的收款員結(jié)賬方式不同于現(xiàn)金,財務(wù)管理方式也不同于傳統(tǒng)。
以軍衛(wèi)一號為例,我院在收費管理系統(tǒng)和醫(yī)院財經(jīng)管理信息系統(tǒng)(醫(yī)信通)中,新增了一個新的支付方式,如“移動支付”。在收款員日常結(jié)賬中,以該種支付方式為結(jié)算的金額并不需要上繳現(xiàn)金。
信息科人員需在HIS數(shù)據(jù)庫中建立新的OUTP_UNIPAY_MASTER表用于記錄掃碼支付交易信息,便于對賬及退款,其主要字段包括收據(jù)號、患者ID號、姓名、交易時間、交易單號、交易類別、交易金額、操作員號、終端號、退費標記、退費收據(jù)號、支付方式等。
信息科人員需編寫定時任務(wù)和對賬程序,主要是通過支付網(wǎng)關(guān)獲取支付寶/微信支付賬單,并核對HIS賬單與網(wǎng)關(guān)記錄、HIS賬單與支付寶/微信支付賬單是否準確無誤。
出納人員需要核對從銀行得到的憑證金額與HIS中“移動支付”金額是否一致也可通過對賬程序得到銀行賬單明細實現(xiàn)自動化對賬。
如果存在差額,可從對賬程序中快速定位存在疑問的交易并找出原因。
6 結(jié)論與展望
我院支付寶/微信掃碼支付自上線以來,廣受傷病員朋友及醫(yī)院收費人員好評,充分體現(xiàn)了醫(yī)院“貼近服務(wù)、貼近群眾、貼近生活、貼近實際”的宗旨。實踐證明,支付寶/微信掃碼支付能便捷地嵌入掛號、收費及自助服務(wù)系統(tǒng)中,有效地縮短付款結(jié)算過程時長,降低收款員操作失誤風險,改善患者就醫(yī)支付體驗,為數(shù)字化、智能化醫(yī)院收費管理提供了創(chuàng)新的思路與解決方案。
(審核編輯: 林靜)
分享