基于ASP.NET的B2C在線支付接口設(shè)計(jì)
(2)訂單查詢接口。商戶通過(guò)訂單查詢接口發(fā)出查詢請(qǐng)求,支付平臺(tái)系統(tǒng)進(jìn)行處理之后,能通過(guò)數(shù)據(jù)流方式返回查詢結(jié)果。
商戶在發(fā)送數(shù)據(jù)時(shí)需要業(yè)務(wù)類型、商戶代碼及訂單號(hào)、簽名數(shù)據(jù)HMAC。查詢返回的結(jié)果包括商戶信息、交易信息、商品信息及簽名數(shù)據(jù)HMAC。能幫助商戶方便快捷地了解交易狀態(tài)。
(3)訂單退款接口。當(dāng)商戶對(duì)交易不滿意或出現(xiàn)其他一些原因時(shí),同樣可以通過(guò)訂單退款接口發(fā)出退款請(qǐng)求,支付平臺(tái)系統(tǒng)進(jìn)行處理之后,能通過(guò)數(shù)據(jù)流方式返回退款結(jié)果。
商戶在請(qǐng)求退款時(shí),發(fā)送的數(shù)據(jù)必須包括業(yè)務(wù)類型、商戶代碼、交易信息、退款說(shuō)明。系統(tǒng)返回的數(shù)據(jù)包括業(yè)務(wù)類型、退款結(jié)果、交易信息。讓商戶對(duì)款項(xiàng)了解清晰。
(4)安全協(xié)議簡(jiǎn)介。在接口設(shè)計(jì)中特別使用到了安全套接層(Secure Socket Layer,SSL)協(xié)議,它是由Netscape公司于1994年首先提出,并且開(kāi)發(fā)成功的一個(gè)網(wǎng)絡(luò)傳輸層安全通信協(xié)議,它的主要目的是在兩個(gè)通信實(shí)體之間提供一個(gè)秘密且可靠地連結(jié)。安全套接層方法協(xié)議在網(wǎng)絡(luò)上普遍使用,能保證雙方通信時(shí)數(shù)據(jù)的完整性、保密性和互操作性,可在安全要求不太高時(shí)予以使用。它包括:
握手協(xié)議 即在傳送信息之前,先發(fā)送握手信息,以相互確認(rèn)對(duì)方的身份。確認(rèn)身份后,雙方共同持有一個(gè)共享密鑰。
消息加密協(xié)議 即雙方握手后,用對(duì)方證書(shū)(RSA公鑰)加密一隨機(jī)密鑰,再用隨機(jī)密鑰加密雙方的信息流,以實(shí)現(xiàn)保密性。
由于被IE,NETSCAPE等瀏覽器所內(nèi)置,實(shí)現(xiàn)起來(lái)非常方便。目前B2C網(wǎng)上的支付大多采用這種辦法。因此這里采用的HMAC就是一種秘密的密鑰驗(yàn)證算法。HMAC提供的數(shù)據(jù)完整性和源身份驗(yàn)證完全取決于秘密密鑰分配的范圍。如果只有發(fā)起者和接收者知道HMAC密鑰,那么這就對(duì)兩者間發(fā)送的數(shù)據(jù)提供了源身份驗(yàn)證和完整性保證。
4系統(tǒng)的軟硬件環(huán)境
運(yùn)行ASP.NET應(yīng)用程序,需要配置合適的運(yùn)行環(huán)境。ASP.NET運(yùn)行環(huán)境包括硬件和軟件要求,其中,硬件要求主要包括CPU、內(nèi)存、硬盤(pán)、顯示器和光驅(qū)等,軟件要求主要包括操作系統(tǒng)、瀏覽器、Internet信息服務(wù)器和.NET、Framework等。其硬件配置為:
(1)CPU處理器。450 MHz Pentium Ⅱ級(jí)處理器,建議使用600 MHz Pentium Ⅲ級(jí)處理器。
(2)內(nèi)存。使用不同的操作系統(tǒng),在運(yùn)行ASP.NET應(yīng)用程序時(shí)有不同的內(nèi)存要求:
(3)可用硬盤(pán)空間。系統(tǒng)驅(qū)動(dòng)器要求900 MB的可用空間;安裝驅(qū)動(dòng)器要求3.3 GB的可用空間,可選的MSDN庫(kù)文檔另外需要1.9 GB的可用空間。
(4)光盤(pán)驅(qū)動(dòng)器。CD-ROM或DVD-ROM驅(qū)動(dòng)器。
(5)顯示器。Super VGA(1 024×768)或更高分辨率的256色顯示器。
為了系統(tǒng)的正常運(yùn)行,要求具備如下的支撐軟件:
IIS5.0(Windows2000),IIS4.0(WindowsWindowsNT4),IE5.5以上。.NET Framework SDK(.NET Framewor SDK是執(zhí)行ASP.NET最關(guān)鍵的元件,可以到網(wǎng)站下載)。
5程序設(shè)計(jì)
如圖3所示,商戶首先可以先在用戶信息項(xiàng)目中詳細(xì)填寫(xiě)自己的資料,全部完成之后點(diǎn)擊確定,接著在訂單管理項(xiàng)目中填寫(xiě)相應(yīng)的交易信息,整理檢查之后沒(méi)有錯(cuò)誤就可以點(diǎn)確認(rèn)購(gòu)買,完成交易了。
下面一段程序是支付請(qǐng)求文件,通過(guò)該文件發(fā)起支付請(qǐng)求,商家可以在該文件中寫(xiě)入自己的訂單信息等,然后把請(qǐng)求提交給系統(tǒng)。
6 結(jié) 語(yǔ)
該設(shè)計(jì)的初衷是希望幫助在線交易當(dāng)事人(包括消費(fèi)者、廠商和金融機(jī)構(gòu)等),通過(guò)使用相關(guān)的電子技術(shù)手段,在互聯(lián)網(wǎng)上進(jìn)行貨幣支付或資金流轉(zhuǎn)時(shí),電子支付平臺(tái)能提供更高效安全的服務(wù)。在之中還是有很多不完善之處,比如在交易信息以數(shù)據(jù)流的形式返回給商戶的過(guò)程中,商戶由于外部因素的干擾和影響往往無(wú)法即時(shí)進(jìn)行交易而返回事務(wù)控制,因此可以增加設(shè)計(jì)程序,幫助商戶進(jìn)行具體而安全的交易返回事務(wù)控制,幫助商戶將繁雜的控制簡(jiǎn)單化、高效化;對(duì)于整體的商戶支付服務(wù),也可以設(shè)計(jì)增加訂單統(tǒng)計(jì)這個(gè)模塊,幫助商戶統(tǒng)計(jì)自己的歷史訂單匯總信息,特別是可以按時(shí)間段統(tǒng)計(jì)訂單,分項(xiàng)整理,清晰明了。限于時(shí)間和技術(shù)的因素,該設(shè)計(jì)并沒(méi)有涉及這些內(nèi)容。
評(píng)論