隨著社會經(jīng)濟的不斷發(fā)展,人們的生活節(jié)奏不斷加快,這使通過網(wǎng)絡平臺來實現(xiàn)支付交易成為一種需求。通過電子支付平臺系統(tǒng),既可以節(jié)約人工實際支付交易所耗費巨大的時間成本,又能保證交易的公平性、安全性和隱蔽性,給人們的生活帶來極大的便利。然而一般商戶如何使自己的電子商務系統(tǒng)與電子支付平臺實現(xiàn)正確對接則是一項非常重要的技術(shù),基于此設(shè)計了基于ASP.NET的B2C在線支付接口。
1、在線支付的現(xiàn)狀
在線支付是指賣方與買方通過因特網(wǎng)上的電子商務網(wǎng)站進行交易時,銀行為其提供網(wǎng)上資金結(jié)算服務的一種業(yè)務。
在線支付,也稱實時電子支付。這是電子商務必備的一個環(huán)節(jié),缺少了在線支付就沒有完全實現(xiàn)電子商務。在線支付就是由商家預先選擇好在線支付平臺服務商(如預置了包括貝寶、快錢、支付寶、首信、IPAY、NPS、網(wǎng)銀等十多種主要的在線支付接口),跟支付平臺簽訂服務協(xié)議,開通支付接口,由商家支付交易所產(chǎn)生的手續(xù)費,顧客在購買商品時就可以選擇使用在線支付方式對所購買到商品進行付款。
目前,大部分在線支付平臺的在線支付接口已經(jīng)應用到生活中的諸多方面,但某些支付接口還是有不足之處:
(1)數(shù)據(jù)庫無法實時共享。無法實現(xiàn)不同的人員,從不同的地點,以不同的接入方式同時訪問和操作共同的數(shù)據(jù)庫。
(2)客戶端的軟、硬件配置要求復雜。往往使用此支付平臺,下載了支付平臺控件之后,在使用在線支付接口交易時還需要進行軟、硬件配置,給客戶帶來了諸多不便。
針對上述不足,該接口選用了ASP技術(shù)進行編寫,測試時可以在IIS應用目錄下進行。
2、應用ASP.NET的技術(shù)優(yōu)勢
ASP.NET是微軟公司于2000年推出的一種Internet編程技術(shù),是面向下一代企業(yè)級的Web應用程序開發(fā)平臺。它的執(zhí)行方式是當Web服務器接收到一個對某ASP.NET頁面的請求時,如果這是對該頁面而創(chuàng)建后修改的第一次申請,首先把該頁面內(nèi)容編譯成MSIL語言,然后MSIL再被編譯成機器碼加以執(zhí)行。
針對目前在線支付接口所表現(xiàn)出的一些缺點,ASP技術(shù)有自己的解決辦法。
(1)能實現(xiàn)不同的人員,從不同的地點,以不同的接入方式訪問和操作共同的數(shù)據(jù)庫。傳統(tǒng)Server/Client結(jié)構(gòu)的應用,要求用戶和服務器必須在同一網(wǎng)段上,而實際上用戶有的跨地區(qū)、跨網(wǎng)段。這樣傳統(tǒng)Server/Client的應用就很難實現(xiàn)這種跨地區(qū)、跨網(wǎng)段的應用。應用ASP.NET實現(xiàn)的安全信息管理系統(tǒng),不論用戶在外地出差,還是在國外,只要有一臺機器能上Internet,就能通過用戶驗證進入網(wǎng)絡支付平臺系統(tǒng)查詢信息,用戶不論是早上,還是晚上隨時都可以通過用戶驗證使用該系統(tǒng)進行在線支付交易,給用戶使用帶來很大方便。
(2)對客戶端的軟、硬件配置無特殊要求,只要客戶端安裝瀏覽器就可以通過網(wǎng)絡查詢信息。當系統(tǒng)需要升級時,應用傳統(tǒng)Server/Client結(jié)構(gòu)時,必須對所有客戶進行升級,而應用ASP.NET實現(xiàn)的安全信息管理系統(tǒng),開發(fā)人員只需對服務器程序進行升級,用戶在不知不覺中就完成了軟件的更新?lián)Q代,這樣既方便了用戶,又方便了維護。
3、接口的功能性需求
支付服務的接口設(shè)計如圖1所示,主要由支付接口、訂單查詢接口和訂單退款接口3部分組成。
(1)支付接口。通過支付請求文件發(fā)起支付請求,商家可以在此文件中寫入自己的訂單信息等,然后把請求提交給平臺支付系統(tǒng),待平臺支付系統(tǒng)進行處理之后,交易成功回調(diào)(瀏覽器重定向),或者交易成功,后臺主動通知(服務器點對點通信)以上一個瀏覽器重定向和一個主動通知都會通過HTTP協(xié)議以GET方式到商戶回報URL地址上,如圖2所示。
商戶需要發(fā)送的數(shù)據(jù)包括業(yè)務類型、商戶信息、扣款金額、交易幣種、商品信息、銀行編碼和簽名數(shù)據(jù)HMAC。其中商戶信息又包括商戶代碼、訂單號、擴展信息及回報URL;商品信息則包括商品的ID、類別和描述。商戶代碼是系統(tǒng)給商戶分配的惟一標識,而銀行編碼能自動轉(zhuǎn)化為系統(tǒng)識別的銀行ID。在用戶填寫商戶訂單號時,如果商戶訂單號為空,系統(tǒng)自動生成隨機的惟一商戶訂單號。返回數(shù)據(jù)包括業(yè)務類型、交易信息、商戶信息、商品信息、交易結(jié)果返回類型及簽名數(shù)據(jù)HMAC。交易信息包括扣款結(jié)果、金額和交易流水號;商戶和商品信息同發(fā)送數(shù)據(jù)是一樣的。交易結(jié)果返回的類型有兩種:一個是交易成功回調(diào)(瀏覽器重定向);另一個是交易成功主動通知(服務器點對點通信)。
由于交易結(jié)果通知返回是無狀態(tài)的,因此商戶有必要在交易結(jié)果返回時進行一定的事務控制。
(2)訂單查詢接口。商戶通過訂單查詢接口發(fā)出查詢請求,支付平臺系統(tǒng)進行處理之后,能通過數(shù)據(jù)流方式返回查詢結(jié)果。
商戶在發(fā)送數(shù)據(jù)時需要業(yè)務類型、商戶代碼及訂單號、簽名數(shù)據(jù)HMAC。查詢返回的結(jié)果包括商戶信息、交易信息、商品信息及簽名數(shù)據(jù)HMAC。能幫助商戶方便快捷地了解交易狀態(tài)。
(3)訂單退款接口。當商戶對交易不滿意或出現(xiàn)其他一些原因時,同樣可以通過訂單退款接口發(fā)出退款請求,支付平臺系統(tǒng)進行處理之后,能通過數(shù)據(jù)流方式返回退款結(jié)果。
商戶在請求退款時,發(fā)送的數(shù)據(jù)必須包括業(yè)務類型、商戶代碼、交易信息、退款說明。系統(tǒng)返回的數(shù)據(jù)包括業(yè)務類型、退款結(jié)果、交易信息。讓商戶對款項了解清晰。
(4)安全協(xié)議簡介。在接口設(shè)計中特別使用到了安全套接層(Secure Socket Layer,SSL)協(xié)議,它是由Netscape公司于1994年首先提出,并且開發(fā)成功的一個網(wǎng)絡傳輸層安全通信協(xié)議,它的主要目的是在兩個通信實體之間提供一個秘密且可靠地連結(jié)。安全套接層方法協(xié)議在網(wǎng)絡上普遍使用,能保證雙方通信時數(shù)據(jù)的完整性、保密性和互操作性,可在安全要求不太高時予以使用。它包括:
握手協(xié)議 即在傳送信息之前,先發(fā)送握手信息,以相互確認對方的身份。確認身份后,雙方共同持有一個共享密鑰。
消息加密協(xié)議 即雙方握手后,用對方證書(RSA公鑰)加密一隨機密鑰,再用隨機密鑰加密雙方的信息流,以實現(xiàn)保密性。
由于被IE,NETSCAPE等瀏覽器所內(nèi)置,實現(xiàn)起來非常方便。目前B2C網(wǎng)上的支付大多采用這種辦法。因此這里采用的HMAC就是一種秘密的密鑰驗證算法。HMAC提供的數(shù)據(jù)完整性和源身份驗證完全取決于秘密密鑰分配的范圍。如果只有發(fā)起者和接收者知道HMAC密鑰,那么這就對兩者間發(fā)送的數(shù)據(jù)提供了源身份驗證和完整性保證。
4、系統(tǒng)的軟硬件環(huán)境
運行ASP.NET應用程序,需要配置合適的運行環(huán)境。ASP.NET運行環(huán)境包括硬件和軟件要求,其中,硬件要求主要包括CPU、內(nèi)存、硬盤、顯示器和光驅(qū)等,軟件要求主要包括操作系統(tǒng)、瀏覽器、Internet信息服務器和.NET、Framework等。其硬件配置為:
(1)CPU處理器。450 MHz Pentium Ⅱ級處理器,建議使用600 MHz Pentium Ⅲ級處理器。
(2)內(nèi)存。使用不同的操作系統(tǒng),在運行ASP.NET應用程序時有不同的內(nèi)存要求:
(3)可用硬盤空間。系統(tǒng)驅(qū)動器要求900 MB的可用空間;安裝驅(qū)動器要求3.3 GB的可用空間,可選的MSDN庫文檔另外需要1.9 GB的可用空間。
(4)光盤驅(qū)動器。CD-ROM或DVD-ROM驅(qū)動器。
(5)顯示器。Super VGA(1 024×768)或更高分辨率的256色顯示器。
為了系統(tǒng)的正常運行,要求具備如下的支撐軟件:
IIS5.0(Windows2000),IIS4.0(WindowsWindowsNT4),IE5.5以上。.NET Framework SDK(.NET Framewor SDK是執(zhí)行ASP.NET最關(guān)鍵的元件,可以到網(wǎng)站下載)。
5、程序設(shè)計
如圖3所示,商戶首先可以先在用戶信息項目中詳細填寫自己的資料,全部完成之后點擊確定,接著在訂單管理項目中填寫相應的交易信息,整理檢查之后沒有錯誤就可以點確認購買,完成交易了。
下面一段程序是支付請求文件,通過該文件發(fā)起支付請求,商家可以在該文件中寫入自己的訂單信息等,然后把請求提交給系統(tǒng)。
6、結(jié) 語
該設(shè)計的初衷是希望幫助在線交易當事人(包括消費者、廠商和金融機構(gòu)等),通過使用相關(guān)的電子技術(shù)手段,在互聯(lián)網(wǎng)上進行貨幣支付或資金流轉(zhuǎn)時,電子支付平臺能提供更高效安全的服務。在之中還是有很多不完善之處,比如在交易信息以數(shù)據(jù)流的形式返回給商戶的過程中,商戶由于外部因素的干擾和影響往往無法即時進行交易而返回事務控制,因此可以增加設(shè)計程序,幫助商戶進行具體而安全的交易返回事務控制,幫助商戶將繁雜的控制簡單化、高效化;對于整體的商戶支付服務,也可以設(shè)計增加訂單統(tǒng)計這個模塊,幫助商戶統(tǒng)計自己的歷史訂單匯總信息,特別是可以按時間段統(tǒng)計訂單,分項整理,清晰明了。限于時間和技術(shù)的因素,該設(shè)計并沒有涉及這些內(nèi)容。
責任編輯:gt
-
接口
+關(guān)注
關(guān)注
33文章
8634瀏覽量
151370 -
編程
+關(guān)注
關(guān)注
88文章
3627瀏覽量
93807 -
數(shù)據(jù)庫
+關(guān)注
關(guān)注
7文章
3822瀏覽量
64506
發(fā)布評論請先 登錄
相關(guān)推薦
評論