基于ASP.NET的B2C在線支付接口設(shè)計
1在線支付的現(xiàn)狀
在線支付是指賣方與買方通過因特網(wǎng)上的電子商務(wù)網(wǎng)站進行交易時,銀行為其提供網(wǎng)上資金結(jié)算服務(wù)的一種業(yè)務(wù)。
在線支付,也稱實時電子支付。這是電子商務(wù)必備的一個環(huán)節(jié),缺少了在線支付就沒有完全實現(xiàn)電子商務(wù)。在線支付就是由商家預(yù)先選擇好在線支付平臺服務(wù)商(如預(yù)置了包括貝寶、快錢、支付寶、首信、IPAY、NPS、網(wǎng)銀等十多種主要的在線支付接口),跟支付平臺簽訂服務(wù)協(xié)議,開通支付接口,由商家支付交易所產(chǎn)生的手續(xù)費,顧客在購買商品時就可以選擇使用在線支付方式對所購買到商品進行付款。
目前,大部分在線支付平臺的在線支付接口已經(jīng)應(yīng)用到生活中的諸多方面,但某些支付接口還是有不足之處:
(1)數(shù)據(jù)庫無法實時共享。無法實現(xiàn)不同的人員,從不同的地點,以不同的接入方式同時訪問和操作共同的數(shù)據(jù)庫。
(2)客戶端的軟、硬件配置要求復(fù)雜。往往使用此支付平臺,下載了支付平臺控件之后,在使用在線支付接口交易時還需要進行軟、硬件配置,給客戶帶來了諸多不便。
針對上述不足,該接口選用了ASP技術(shù)進行編寫,測試時可以在IIS應(yīng)用目錄下進行。
2應(yīng)用ASP.NET的技術(shù)優(yōu)勢
ASP.NET是微軟公司于2000年推出的一種Internet編程技術(shù),是面向下一代企業(yè)級的Web應(yīng)用程序開發(fā)平臺。它的執(zhí)行方式是當(dāng)Web服務(wù)器接收到一個對某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)的應(yīng)用,要求用戶和服務(wù)器必須在同一網(wǎng)段上,而實際上用戶有的跨地區(qū)、跨網(wǎng)段。這樣傳統(tǒng)Server/Client的應(yīng)用就很難實現(xiàn)這種跨地區(qū)、跨網(wǎng)段的應(yīng)用。應(yīng)用ASP.NET實現(xiàn)的安全信息管理系統(tǒng),不論用戶在外地出差,還是在國外,只要有一臺機器能上Internet,就能通過用戶驗證進入網(wǎng)絡(luò)支付平臺系統(tǒng)查詢信息,用戶不論是早上,還是晚上隨時都可以通過用戶驗證使用該系統(tǒng)進行在線支付交易,給用戶使用帶來很大方便。
(2)對客戶端的軟、硬件配置無特殊要求,只要客戶端安裝瀏覽器就可以通過網(wǎng)絡(luò)查詢信息。當(dāng)系統(tǒng)需要升級時,應(yīng)用傳統(tǒng)Server/Client結(jié)構(gòu)時,必須對所有客戶進行升級,而應(yīng)用ASP.NET實現(xiàn)的安全信息管理系統(tǒng),開發(fā)人員只需對服務(wù)器程序進行升級,用戶在不知不覺中就完成了軟件的更新?lián)Q代,這樣既方便了用戶,又方便了維護。
3接口的功能性需求
支付服務(wù)的接口設(shè)計如圖1所示,主要由支付接口、訂單查詢接口和訂單退款接口3部分組成。
(1)支付接口。通過支付請求文件發(fā)起支付請求,商家可以在此文件中寫入自己的訂單信息等,然后把請求提交給平臺支付系統(tǒng),待平臺支付系統(tǒng)進行處理之后,交易成功回調(diào)(瀏覽器重定向),或者交易成功,后臺主動通知(服務(wù)器點對點通信)以上一個瀏覽器重定向和一個主動通知都會通過HTTP協(xié)議以GET方式到商戶回報URL地址上,如圖2所示。
商戶需要發(fā)送的數(shù)據(jù)包括業(yè)務(wù)類型、商戶信息、扣款金額、交易幣種、商品信息、銀行編碼和簽名數(shù)據(jù)HMAC。其中商戶信息又包括商戶代碼、訂單號、擴展信息及回報URL;商品信息則包括商品的ID、類別和描述。商戶代碼是系統(tǒng)給商戶分配的惟一標(biāo)識,而銀行編碼能自動轉(zhuǎn)化為系統(tǒng)識別的銀行ID。在用戶填寫商戶訂單號時,如果商戶訂單號為空,系統(tǒng)自動生成隨機的惟一商戶訂單號。返回數(shù)據(jù)包括業(yè)務(wù)類型、交易信息、商戶信息、商品信息、交易結(jié)果返回類型及簽名數(shù)據(jù)HMAC。交易信息包括扣款結(jié)果、金額和交易流水號;商戶和商品信息同發(fā)送數(shù)據(jù)是一樣的。交易結(jié)果返回的類型有兩種:一個是交易成功回調(diào)(瀏覽器重定向);另一個是交易成功主動通知(服務(wù)器點對點通信)。
評論