• 易迪拓培训,专注于微波、射频、天线设计工程师的培养
首页 > 无线通信 > 技术文章 > 基于ASP.NET的B2C在线支付接口设计

基于ASP.NET的B2C在线支付接口设计

录入:edatop.com     点击:

随着社会经济的不断发展,人们的生活节奏不断加快,这使通过网络平台来实现支付交易成为一种需求。通过电子支付平台系统,既可以节约人工实际支付交易所耗费巨大的时间成本,又能保证交易的公平性、安全性和隐蔽性,给人们的生活带来极大的便利。然而一般商户如何使自己的电子商务系统与电子支付平台实现正确对接则是一项非常重要的技术,基于此设计了基于ASP.NET的B2C在线支付接口。

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所示。

商户需要发送的数据包括业务类型、商户信息、扣款金额、交易币种、商品信息、银行编码和签名数据HMAC。其中商户信息又包括商户代码、订单号、扩展信息及回报URL;商品信息则包括商品的ID、类别和描述。商户代码是系统给商户分配的惟一标识,而银行编码能自动转化为系统识别的银行ID。在用户填写商户订单号时,如果商户订单号为空,系统自动生成随机的惟一商户订单号。返回数据包括业务类型、交易信息、商户信息、商品信息、交易结果返回类型及签名数据HMAC。交易信息包括扣款结果、金额和交易流水号;商户和商品信息同发送数据是一样的。交易结果返回的类型有两种:一个是交易成功回调(浏览器重定向);另一个是交易成功主动通知(服务器点对点通信)。

由于交易结果通知返回是无状态的,因此商户有必要在交易结果返回时进行一定的事务控制。

(2)订单查询接口。商户通过订单查询接口发出查询请求,支付平台系统进行处理之后,能通过数据流方式返回查询结果。

商户在发送数据时需要业务类型、商户代码及订单号、签名数据HMAC。查询返回的结果包括商户信息、交易信息、商品信息及签名数据HMAC。能帮助商户方便快捷地了解交易状态。

(3)订单退款接口。当商户对交易不满意或出现其他一些原因时,同样可以通过订单退款接口发出退款请求,支付平台系统进行处理之后,能通过数据流方式返回退款结果。

商户在请求退款时,发送的数据必须包括业务类型、商户代码、交易信息、退款说明。系统返回的数据包括业务类型、退款结果、交易信息。让商户对款项了解清晰。

(4)安全协议简介。在接口设计中特别使用到了安全套接层(Secure Socket Layer,SSL)协议,它是由Netscape公司于1994年首先提出,并且开发成功的一个网络传输层安全通信协议,它的主要目的是在两个通信实体之间提供一个秘密且可靠地连结。安全套接层方法协议在网络上普遍使用,能保证双方通信时数据的完整性、保密性和互操作性,可在安全要求不太高时予以使用。它包括:

握手协议  即在传送信息之前,先发送握手信息,以相互确认对方的身份。确认身份后,双方共同持有一个共享密钥。

消息加密协议  即双方握手后,用对方证书(RSA公钥)加密一随机密钥,再用随机密钥加密双方的信息流,以实现保密性。

由于被IE,NETSCAPE等浏览器所内置,实现起来非常方便。目前B2C网上的支付大多采用这种办法。因此这里采用的HMAC就是一种秘密的密钥验证算法。HMAC提供的数据完整性和源身份验证完全取决于秘密密钥分配的范围。如果只有发起者和接收者知道HMAC密钥,那么这就对两者间发送的数据提供了源身份验证和完整性保证。

来源:维库开发网

上一篇:集成电路测试仪电源电路的仿真设计研究与应用
下一篇:以太网技术在继电器可靠性检测系统中的应用

手机天线设计培训教程详情>>

手机天线设计培训教程 国内最全面、系统、专业的手机天线设计培训课程,没有之一;是您学习手机天线设计的最佳选择...【More..

射频和天线工程师培训课程详情>>

  网站地图