您的位置:首页 > 参评方案展示 > 智慧校园

北京大学医学部:自建网上支付平台让电子对账更便捷

  编辑点评:本文描述的是北京大学医学部自建的校园网上支付平台,该平台能够正确、稳定地处理校内用户的支付需求,方便用户完成支付活动,并实现了方便的电子对账,同时大大减轻财务人员的压力,不用再应付数额巨大的现金流。不过在接口的通用性、安全性以及便利性方面探讨的还不够深入,未来有待进一步提升。

  在高校环境中,收费业务存在管理部门多、收费对象多、收费项目繁杂、收费金额差异大、收费周期多样等特点。面对这些特点,传统的收费方式面临着越来越多的困难和挑战。为了解决这些困难,许多高校自建或购置建设了本校的校园支付平台。图1为目前高校通用的收费平台业务模型。

  收费项目管理方登录系统建立收费项目,内容包括收费项目名称、费用标准、收费时间等;财务收费管理方登录系统后对申报的收费项目进行审批;支付方登录系统后查询到各人名下的收费项目;支付方在收费期内登录系统后使用网银完成网上支付;系统将支付方的支付结果实时地反馈给支付者、收费项目管理方和财务收费管理方。

  基于上述业务系统模型,北京大学医学部自建了校园网上支付平台,该平台的投入使用,能够正确、稳定地处理校内用户的支付需求,方便用户完成支付活动,并实现了方便的电子对账,同时大大减轻财务人员的压力,不用再应付数额巨大的现金流。

  在支付系统实际使用带来效益的过程中,各种问题也逐渐显现:为保障支付系统的安全,使用了学校提供的统一身份认证,而身份认证系统内用户是学校在籍在编的师生,致使支付系统可使用的人群小,许多需向校内服务缴费的人群无法登录系统缴纳费用;另外,现有网上支付系统的收费项目建立,只能在本系统上实现。用户群体与收费项目建立的双重约束,限制了该系统的广泛使用,无法满足诸如收取校外人员的网费、家属区住户的电话费、毕业后学生的成绩单费、机动车通行证收费等的需求。

  此外,对于部分有收费需求的应用系统,支付只是其业务流程中的一个环节,如果以支付项目的方式将这些放进支付平台不仅会显得比较突兀,而且也不满足应用系统之间高内聚,低耦合的设计原则。

  如何为现有业务系统提供便捷的网上支付功能,减轻系统数据之间的交互压力,保障支付系统的安全,成为高校网上支付系统应用普及的关键。参考淘宝等商用支付平台的实现方式,可提供校内通用的支付接口,实现高校内部业务对接的支付形式,成为优选方案。基于以上分析,设计一个网上支付系统的通用接口,实现支付请求和支付结果在系统间传递,完成安全可靠的支付过程成为可能。

  通用接口的设计

  1.接口型支付流程

  高校网上支付系统通用接口设计,首先需保证数据安全,其次满足各类业务系统灵活的对接需求,保障数据对账清晰可循。通用接口主要包括支付信息提交和支付结果信息返回两个过程,为保证安全,上述两个过程的数据经加密传输,加密算法采用RSA,RSA是目前最有影响力的公钥加密算法,它能够抵抗到目前为止已知的绝大多数密码攻击,已被ISO推荐为公钥加密标准,虽然RSA的速度是其不足,但在少量数据加密的条件下,影响甚微。通用接口数据流图示如图2所示。

  有支付需求的其他系统按照接口规定的方式向支付系统提供支付必要信息,信息内容和顺序必须严格按照接口规范提供,支付系统将进行严格验证,验证通过的方可完成支付,并在支付系统内部完成订单建立环节;支付系统将蕴含用户支付必要信息并且符合第三方规范的链接字符串返回给请求支付方;支付请求方通过浏览器打开第二部返回的链接,开始支付操作;第三方将支付结果信息返回给支付系统,支付系统更新系统后台;支付系统将支付结果信息返回给调用方,供调用方完成后续操作,完成支付过程。

  2.接口设计

  为了完成支付过程并将支付结果信息返回各业务调用方,需要设计两个接口:支付信息提交接口和支付结果信息返回接口。

  支付信息提交接口将其他系统的支付请求信息发送给支付系统。为保证安全,请求参数明文经支付系统公钥加密,所有请求信息全部封装,支付系统接收到请求后,用系统私钥对密文解密,得到实际的支付请求信息,从而完成支付平台本身的订单数据建立、第三方支付URL地址生成等操作。支付信息接口明文参数见表1。

  用户支付完成后,支付系统将支付结果信息返回给支付调用方,提交地址为提交支付请求时候设定的p_resulthandle_url。

  为保障安全,支付结果信息经支付系统私钥加密,私钥签名之后返回给支付调用系统,系统首先验证签名,验证通过后,再对密文部分进行解密,得到实际的支付结果信息,从而完成系统本身的后续操作。支付结果信息返回接口明文参数见表2。

  3.数据安全

  为了保证数据安全,调用方和支付系统的数据严格按照非对称加密策略加密传输,其中,支付信息按照规定的名称和顺序,采用支付系统公布的公钥进行加密,并将密文命名文CP进行提交,支付系统接到请求后,得到密文,用私钥进行解密得到实际支付请求参数,从而完成后续操作;支付结果信息,采用支付系统的私钥进行加密,并用私钥对密文进行数字签名,密文和签名分别命名为cipherParam和sign,调用方接收到支付结果信息后需要先对签名进行验证,验证无误后再解密,得到实际支付结果信息,以进行后续操作。

  调用系统和支付系统之间的数据安全传输如图3所示。

  实际应用情况

  北京大学医学部网上支付系统采用和图1相似的业务逻辑实现,通用接口首先应用于网费充值,校园网的用户有不少校外人员,他们无法登录网上支付系统,校园网又使他们有了交费需求,在接口方式开通之前,这些用户只能来信息中心前台人工办理交费,十分不便。

  从用户角度出发,调用交费接口是最有效、最方便的方式。校园网网关系统是用户进入校园网的统一入口,当用户需要缴纳网费的时候,从此处发起最为方便。用户并不关心交费的具体流程,通过接口和在支付系统上进行交费,本质上并没有任何区别。运用接口的方式更合理、更便捷,还解决了支付系统外用户的交费难题。接口投入使用至今的数据显示,有60%以上的网络用户选择了接口方式进行网费支付。

  用户缴纳网费只是支付系统通用接口的第一步验证和尝试,作为专注于为用户提供安全、有效的支付环境的系统,其内部已经形成了完善的操作流程和操作规范,通用接口的使用更扩大了支付系统的使用广度,改善用户体验。

  高校网上支付系统作为一个定位校内支付的平台,既方便师生,又能加强财务管理,减少现金流,是高校信息化建设中能够短平快见效益的应用。支付系统通用接口的引入,将进一步扩充校内业务支付的能力,满足与学校业务有关系的人群的支付需要。

  随着信息化建设的深入,校内支付业务势必越发完善,进一步提升接口的通用性、安全性以及便利性将是下一步工作的重点。

  (作者单位为北京大学医学部信息通讯中心)

来源:中国教育网络作者:王明会 黄宁玉 宋式斌
var _hmt = _hmt || []; (function() { var hm = document.createElement("script"); hm.src = "//hm.baidu.com/hm.js?b841bd73360946ada23db9fa82c9c6ae"; var s = document.getElementsByTagName("script")[0]; s.parentNode.insertBefore(hm, s); })();