无忧支付网首页
站内搜索
您当前的位置:主页 > 行业资讯 > 支付行业分类 >

Nginx反向代理服务下医院被动扫码支付平台的开发

添加时间:2022-09-25 15:04

  长期以来,不少患者在医院就诊过程中存在看病缴费来回跑、排队久、不熟悉各科室路线等问题,导致了患者就医体验的不良。为了响应国家卫计委在近年来《进一步改善医疗服务行动计划》的决定,体现医院“贴近服务、贴近群众、贴近生活、贴近实际”的宗旨,医院需利用信息化不断提升医疗服务便利性。

  在移动设备的普及与高速网络的支持下,使用移动支付成了一种创新应用,解决了医疗行业就医过程中的许多痛点,如挂号、缴费、就医指引等。引入移动支付,医院不仅可以提升内部的管理效率,而且还能完善医疗服务体系。线上线下相结合使院在一定程度上优化医疗资源配置,做到医疗对患者、对医院管理的智慧化升级。

  当今,在移动支付市场上,支付宝、微信占据了绝大部分的支付市场份额。因此,它们也成了医院在移动支付工具上的主要选择,用数字化及智能化为医院的收费管理提供了创新的思路与解决方案。基于线上支付方式在降低收费员操作风险的同时,也有效地缩短了付款结算时长,改善了患者的支付体验。

  1、支付方式及支付产品开通

  1. 支付方式

  在医院的支付流程中扫码支付方式有主动扫码支付和被动扫码支付两种(图1、图2)。主动扫码支付方式是医院收费系统通过生成收款二维码,再由患者扫描此二维码进行缴费,如果在收费窗口使用此种扫码支付方式,需提供显示屏展示收款二维码给患者进行扫码,并且患者也需要在手机输入支付密码进行支付确认,增加了患者的主动操作,同时支付花费时间较长;

  而被动扫码支付仅需患者出示付款二维码,放至扫码设备,几秒内即可完成支付,能大大加快缴费时间,有效缓解排队长的问题,提升患者的就医支付体验。

主动扫码支付

图1 主动扫码支付

被动扫码支付

图2 被动扫码支付

  2. 开通被动扫码支付

  支付宝与微信支付都是以绑定银行卡为基础,向用户提供安全、快捷、高效的移动支付功能,包含多种支付方式,用户可以通过手机完成快速的支付流程。它们能满足用户及商户不同的支付场景,同时为用户提供安全防护,包括通过大数据分析,预判用户的支付行为是否存在风险,加强支付认证及提醒,利用技术手段最大限度地保证用户交易的安全性。

  支付宝的被动扫码支付称为当面付,微信的则称刷卡付。开通这两种产品的被动扫码支付方式,医院需要与厂商签约并提供特有扫码设备的支持。

  (1)签约。在使用被动扫码支付前,医院需要与支付宝或微信进行签约认证。产品的签约遵循固有的流程,资料齐全者很快能审批通过。

  (2)通用扫码设备。签约认证通过之后,医院可以向支付厂商申请特制的扫码设备。如果医院的挂号、收费窗口同时应用微信和支付宝扫码设备,那么不仅会浪费窗口有限的空间,还复杂化就诊流程,加大了医院信息系统集成的难度。

  为了简化流程、提升挂号缴费的效率,与厂商沟通开放扫码设备的接口,将现有的扫码设备改造成能扫描全部付款码,方便患者就医支付。

  2、系统集成及安全设计

  1. 系统集成

  医院信息系统与被动扫码支付集成后,主要包括以下模块:医院业务客户端、医院业务服务端、支付适配服务、支付后台服务端组成如图3所示。

  (1)医院业务客户端

  医院业务客户端即前端业务收费操作端,提供被动扫码支付入口,通过调用扫码设备驱动接口发送收费请求。其中,扫码设备与客户端之间连接通信前,需要先修改扫码设备的接口,使其能扫描全部付款码。

  (2)医院业务服务端

  医院业务服务端是接收客户端的支付请求,并通过支付适配器将支付请求发送至相应支付厂商的支付后台服务端,最后再接收支付厂商的支付后台服务端返回的支付成功的消息。

  (3)支付适配器

  支付适配器是通过二维码字符串识别支付厂商,主要是为了简化收费接口,将其简化为交易付款及交易退款。每个厂商的二维码字符串都有特定部分的字符串,因此支付适配器可以通过二维码字符串来识别支付厂商,再将支付请求发送至对应支付后台服务器。

  支付适配器原理如图4所示,28开头的字符串即为支付宝支付方式,13开头的字符串即为微信支付方式。并且还可继续将其他支付方式纳入支付适配器中实现统一支付入口。并且从通信方面的成本考虑,由医院信息系统服务端负责与适配服务进行通信会更加高效可靠。

系统层次结构图

图3 系统层次结构图

支付适配器

图4 支付适配器

  (4)支付后台服务端

  支付厂商的支付后台服务端,接收支付请求,并进行扣费,最后返回扣费数据至医院业务服务端。患者手机支付端与支付厂商后台服务端之间的通信和医院业务服务端与支付厂商后台服务端之间的通信是异步的,支付厂商后台服务端在接收到支付请求后,会发起异步通信,分别传回支付成功的通知给医院业务服务端和患者手机支付端。

  医院信息系统接入被动扫码支付的支付业务流程如图5所示。在医院收费系统中,收费员扫描患者的缴费凭证,获取费用信息,选择被动扫码支付方式,患者将付款码放置在扫码设备上,设备成功读取付款码后系统后台自动扣款并进入结算流程。

  为减少通信的时间开销,提升业务处理效率,在发生的交易退款业务可以进行异步处理,部署后台程序定时扫描退费数据并处理。退费流程中原有的收费凭据已经回收,因此异步的退费需要提供新的退费凭据给患者。

支付业务流程

图5 支付业务流程

  医院信息系统通过调用支付厂商官网提供的SDK进行支付业务流程的改造,SDK提供的接口充分考虑了异步通信下的各种应用场景,具备通信异常时的撤销回滚机制,接口包括付款交易、交易查询、交易撤销、退款等方法,因此可通过支付厂商提供的SDK实现完备快捷的支付流程。

  2. 安全设计

  在移动支付的最后环节,需要与支付厂商的后台进行通信,完整的交易或退款过程需要互联网的支持。在网络安全方面,适配服务必须在医院内部网络进行部署,从网络层面隔离并进行安全防范。医院内部网络与互联网之间的通信可以通过Nginx反向代理服务,它具有占有内存少,并发能力强等特点,是一款高性能、高并发的HTTP和反向代理服务器。

  部署Nginx后的医院信息系统集成被动扫码支付的网络结构,见图6。医院内部服务器将支付请求发送到Nginx反向代理服务器,反向代理服务器根据请求类型或配置的参数先将支付请求发送至支付厂商后台服务器,再接收返回的数据回传给医院内部服务器。

网络结构图

图6 网络结构图

  在部署Nginx反向代理服务时,不需要对医院内部业务服务器进行修改,直接将医院内部服务的域名指向反向代理服务的地址,再在反向代理服务中配置对应的支付厂商的URL。Nginx反向代理服务的配置代码如下,其中server_name参数为医院内部服务的域名,proxy_pass参数为支付厂商服务的URL。

代码1

  Nginx的安全措施方面,为防止互联网的恶意攻击,在Nginx配置文件中添加“server_tokens off”以隐藏Nginx的版本等信息、在Nginx日志管理中设置root账户才能访问、在Nginx中进行相应配置以禁止非法上传等。

  医院内部服务通过HTTP协议与反向代理服务进行通信,为保证数据传输的安全,反向代理与支付厂商后台服务进行通信需使用HTTPS协议,因此需要通过Nginx实现数据从HTTP到HTTPS的转换。因为HTTP是明文传输方式,数据一旦被截取,将非常危险,而HTTPS是密文传输,在HTTP下加了SSL安全通讯层,可保证传输数据的安全,就算被截取,也无法获取传输内容。

  Nginx在医院内部网络及互联网之间起到网闸的作用,通过配置安全策略,为对象组、服务及应用列表制定详细明确规则,阻止来自互联网的恶意攻击,保护医疗信息安全,防止泄露。

  数据安全方面,支付厂商也通过数据加密与数据防篡改技术来提升可靠性和安全性,通过签名算法和生成随机数算法保证交易的可靠性,用SSL证书管理及支付验证机制等方式保证交易的安全性。

  3、集成应用成效

  1. 减少患者排队缴费时间,提升患者满意度

  患者每次的缴费时间都记录在系统中,通过筛选连续五天缴费高峰期的缴费记录,计算出每个患者的缴费时间间隔,再去除其中最大最小值,统计分析得到被动扫码支付缴费与现金缴费时长对比图(图7)。

被动扫码支付缴费与现金缴费时长对比

图7 被动扫码支付缴费与现金缴费时长对比

  从图中可知,使用被动扫码支付缴费的时间比现金缴费的时间有一定程度的缩减,减少了排队时间,门诊窗口高峰期的排队人数压力也能得到一定的缓解,减少排队拥挤的情况,优化了诊疗环境,改善了诊疗秩序,从而提升了患者就医满意度。

  2. 减少人力成本,优化人力资源配置

  被动扫码支付的投入,使得患者缴费速度加快,提高了收费人员的工作效率,从而使医院减少相关人力资源的投入,并对人力资源进行优化配置。

  3. 减少人为收费偏差,提高结算准确性

  患者通过被动扫码进行费用结算,在收费环节不需收费人员操作,与传统现金结算方式相比,能有效防范由于收费人员的疏忽导致的各种差错,从而保证费用结算的准确性以及避免由于结算错误导致的医疗纠纷。

  4、结论

  被动扫码支付不仅是移动支付的重要组成部分,而且是创建智慧型医院的重要工具,深受广大医院及患者的欢迎。它的使用及推广是一个重大的便民措施,帮助提升了医院的运营效率,改善了广大患者的就医支付体验,减少了缴费排队时间,提升了患者就医满意度,从而提高了医院的服务质量。

  这种支付方式还可应用于医院中的更多自助设备,降低医院人力成本的支出,使医院开展各种工作更加高效和便利。

关闭

1.点击下面按钮复制微信号

***********

2.打开微信→查找微信号

加为好友 开始支付接入