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