基于ASP.NET的B2C在线支付接口设计2011-07-21 中电网 郭晓菲 周廷美 江波1 在线支付的现状在线支付是指卖方与买方通过因特网上的电子商务网站进行交易时,银行为其提供网上资金结算服务的一种业务。在线支付,也称实时电子支付。这是电子商务必备的一个环节,缺少了在线支付就没有完全实现电子商务。在线支付就是由商家预先选择好 在线支付平台服务商 (如预置了包括贝宝、快钱、支付宝、首信、IPAY、NPS、网银等十多种主要的在线支付接口),跟支付平台签订服务协议 ,开通支付接口,由商家支付交易所产生的手续费,顾客在购买商品时就可以选择使用在线支付方式对所购买到商品进行付款。目前,大部分在线支付平台的在线支付接口已经应用到生活中的诸多方面,但某些支付接口还是有不足之处:(1)数据库无法实时共享。无法实现不同的人员,从不同的地点,以不同的接入方式同时访问和操作共同的数据库。(2)客户端的软、硬件配置要求复杂。往往使用此支付平台,下载了支付平台控件之后,在使用在线支付接口交易时还需要进行软、硬件配 置,给客户带来了诸多不便。针对上述不足,该接口选用了ASP技术进行编写,测试时可以在IIS应用目录下进行。2 应用ASP.NET的技术优势ASP.NET 是微软公司于2000年推出的一种Internet编程技术,是面向下一代企业级的Web应用程序开发平台。它的执行方式是当Web服务器接 收到一个对某 ASP.NET页面的请求时,如果这是对该页面而创建后修改的第一次申请,首先把该页面内容编译成MSIL语言,然后MSIL再被编译 成机器码加以执行。针对目前在线支付接口所表现出的一些缺点,ASP技术有自己的解决办法。(1) 能实现不同的人员,从不同的地点,以不同的接入方式访问和操作共同的数据库。传统Server/Client结构的应用,要求用户和服务器 必须在同一网段上,而实际上用户有的跨地区、跨网段。这样传统Server/Client的应用就很难实现这种跨地区、跨网段的应用。应用ASP.NET 实现的安全信息管理系统,不论用户在外地出差,还是在国外,只要有一台机器能上Internet,就能通过用户验证进入网络支付平台系统查询 信息,用户不论是早上,还是晚上随时都可以通过用户验证使用该系统进行在线支付交易,给用户使用带来很大方便。(2)对客户端的软、硬件配置无特殊要求,只要客户端安装浏览器就可以通过网络查询信息。当系统需要升级时,应用传统Server/Client 结构时,必须对所有客户进行升级,而应用ASP.NET实现的安全信息管理系统,开发人员只需对服务器程序进行升级,用户在不知不觉中就完成 了软件的更新换代,这样既方便了用户,又方便了维护。3 接口的功能性需求支付服务的接口设计如图1所示,主要由支付接口、订单查询接口和订单退款接口3部分组成。

(1) 支付接口。通过支付请求文件发起支付请求,商家可以在此文件中写入自己的订单信息等,然后把请求提交给平台支付系统,待平台支 付系统进行处理之后,交易成功回调(浏览器重定向),或者交易成功,后台主动通知(服务器点对点通信)以上一个浏览器重定向和一个主动通 知都会通过HTTP协议以GET方式到商户回报URL地址上,如图2所示。