支持多種支付通道的統(tǒng)一支付接入網(wǎng)關(guān)的制作方法
【技術(shù)領(lǐng)域】
[0001]本發(fā)明屬于電子支付技術(shù)領(lǐng)域,更為具體地講,涉及一種支持多種支付通道的統(tǒng)一支付接入網(wǎng)關(guān)。
【背景技術(shù)】
[0002]隨著互聯(lián)網(wǎng)的逐漸普及,電子商務(wù)技術(shù)得以發(fā)展,使其逐步成為了互連網(wǎng)應(yīng)用的最大熱點(diǎn)。為適應(yīng)電子商務(wù)這一市場(chǎng)潮流,電子支付隨之發(fā)展起來。電子支付是指電子交易的當(dāng)事人,包括消費(fèi)者、廠商和金融機(jī)構(gòu),使用安全電子支付手段,通過網(wǎng)絡(luò)進(jìn)行的貨幣支付或資金流轉(zhuǎn)。電子支付是電子商務(wù)系統(tǒng)的重要組成部分。電子支付的業(yè)務(wù)類型按電子支付指令發(fā)起方式分為網(wǎng)上支付、電話支付、移動(dòng)支付、銷售點(diǎn)終端交易、自動(dòng)柜員機(jī)交易和其他電子支付。電子支付服務(wù)可以由銀行提供,也可以由第三方支付平臺(tái)來提供。
[0003]由于電子支付的大力發(fā)展,電子支付已經(jīng)從線上擴(kuò)展到了線下。除了網(wǎng)絡(luò)商家,許多實(shí)體商戶(例如商場(chǎng)、超市、零售商等)也開始采用電子支付,為消費(fèi)者提供更為靈活的支付方式。在眾多的電子支付服務(wù)商中,實(shí)體商戶通常為滿足其消費(fèi)支付款需求,會(huì)選擇幾種。這是因?yàn)楦麟娮又Ц斗?wù)商具有各自的電子支付平臺(tái),如果像網(wǎng)絡(luò)商家一樣盡可能多地涵蓋各種電子支付方式,實(shí)體商戶就需要安裝很多電子支付軟件或電子支付設(shè)備,會(huì)給支付和結(jié)算帶來許多不便。
【發(fā)明內(nèi)容】
[0004]本發(fā)明的目的在于克服現(xiàn)有技術(shù)的不足,提供一種支持多種支付通道的統(tǒng)一支付接入網(wǎng)關(guān),為接入商戶提供一點(diǎn)接入多點(diǎn)支付的服務(wù)。
[0005]為實(shí)現(xiàn)上述發(fā)明目的,本發(fā)明包括統(tǒng)一支付接口、解密處理模塊、協(xié)議適配模塊、支付處理模塊,其中:
[0006]統(tǒng)一支付接口接收來自接入商戶客戶端的包含支付模式編碼的支付請(qǐng)求報(bào)文和支付驗(yàn)證報(bào)文,驗(yàn)證報(bào)文格式的合法性和格式,驗(yàn)證正確后將報(bào)文發(fā)送給解密處理模塊;接收支付處理模塊發(fā)送的反饋報(bào)文,發(fā)送給接入商戶客戶端;
[0007]解密處理模塊接收統(tǒng)一支付接口轉(zhuǎn)發(fā)的支付請(qǐng)求報(bào)文和支付驗(yàn)證報(bào)文,如果與接入商戶客戶端的通信模式為加密模式,則對(duì)報(bào)文進(jìn)行解密然后進(jìn)行驗(yàn)簽,否則直接進(jìn)行驗(yàn)簽,驗(yàn)簽成功后將報(bào)文數(shù)據(jù)發(fā)送給協(xié)議適配模塊;
[0008]協(xié)議適配模塊從解密后的支付請(qǐng)求報(bào)文和支付驗(yàn)證報(bào)文提取出支付模式編碼,在預(yù)存的支付方式編碼表中查詢得到該報(bào)文對(duì)應(yīng)的支付模式和對(duì)應(yīng)的第三方支付接口,將原始的支付請(qǐng)求報(bào)文和支付驗(yàn)證報(bào)文按照對(duì)應(yīng)的第三方支付接口的所規(guī)定的報(bào)文格式轉(zhuǎn)換為重構(gòu)報(bào)文,將支付模式、第三方支付接口編號(hào)和重構(gòu)報(bào)文發(fā)送到支付處理模塊;
[0009]支付處理模塊在接收到協(xié)議適配模塊發(fā)送的支付模式、第三方支付接口編號(hào)和重構(gòu)報(bào)文后,首先根據(jù)用戶預(yù)設(shè)的業(yè)務(wù)對(duì)本次請(qǐng)求進(jìn)行預(yù)處理,包括記錄支付記錄、發(fā)送支付通知,然后判斷本次請(qǐng)求的支付模式是前臺(tái)模式還是后臺(tái)模式,并按照對(duì)應(yīng)的第三方支付接口報(bào)文加密規(guī)則對(duì)重構(gòu)報(bào)文進(jìn)行加密,然后通過第三方支付接口將加密后報(bào)文發(fā)送給第三方支付平臺(tái);接收第三方支付平臺(tái)反饋的處理結(jié)果報(bào)文,進(jìn)行解密和解析,如果本次請(qǐng)求的支付模式是前臺(tái)模式,則從處理結(jié)果報(bào)文中提取出頁面地址,根據(jù)與統(tǒng)一支付接口通信的報(bào)文格式構(gòu)建反饋報(bào)文,發(fā)送給統(tǒng)一支付接口,如果本次請(qǐng)求的支付模式是后臺(tái)模式,則將處理結(jié)果報(bào)文根據(jù)與統(tǒng)一支付接口通信的報(bào)文格式構(gòu)建反饋報(bào)文,發(fā)送給統(tǒng)一支付接
□ ο
[0010]進(jìn)一步地,統(tǒng)一支付接口采用無線通信方式收發(fā)信息。
[0011]進(jìn)一步地,報(bào)文格式轉(zhuǎn)換的方法為:將統(tǒng)一支付接口報(bào)文中的各個(gè)字段與第三方支付平臺(tái)的報(bào)文字段一一對(duì)應(yīng),不能完全對(duì)應(yīng)的字段采用預(yù)編碼的方式設(shè)置固定數(shù)據(jù)值或固定算法賦值。
[0012]進(jìn)一步地,支付處理模塊在提取出支付處理結(jié)果的有效信息后,如果支付處理結(jié)果為支付成功,則根據(jù)交易流水號(hào)在支付請(qǐng)求記錄中提取出對(duì)應(yīng)的支付請(qǐng)求,發(fā)送給賬務(wù)處理系統(tǒng)。
[0013]本發(fā)明支持多種支付通道的統(tǒng)一支付接入網(wǎng)關(guān),包括統(tǒng)一支付接口、解密處理模塊、協(xié)議適配模塊、支付處理模塊,統(tǒng)一支付接口接收由客戶端發(fā)送的包括支付模式編碼的支付請(qǐng)求和支付驗(yàn)證信息,轉(zhuǎn)發(fā)給解密處理模塊進(jìn)行解密,協(xié)議適配模塊從解密后的支付請(qǐng)求中提取出支付模式編碼和對(duì)應(yīng)第三方支付接口信息,查詢得到支付模式,支付處理模塊重新封裝報(bào)文發(fā)送給第三方支付平臺(tái),接收到第三方支付平臺(tái)的處理結(jié)果報(bào)文后根據(jù)支付模式的執(zhí)行模式構(gòu)建反饋報(bào)文,發(fā)送給客戶端。
[0014]本發(fā)明通過協(xié)議適配模塊進(jìn)行支付模式識(shí)別,然后按照支付模式相應(yīng)的報(bào)文格式和執(zhí)行模式完成支付請(qǐng)求與處理,從而使客戶端通過本發(fā)明只需使用一套標(biāo)準(zhǔn)的交易請(qǐng)求報(bào)文對(duì)接統(tǒng)一支付接入網(wǎng)關(guān)實(shí)現(xiàn)多種支付模式和多種第三方支付平臺(tái)的對(duì)接,為接入商戶客戶端提供一點(diǎn)接入多點(diǎn)支付的服務(wù),簡(jiǎn)化了客戶端的操作和代碼開發(fā)工作。
【附圖說明】
[0015]圖1是本發(fā)明支持多種支付通道的統(tǒng)一支付接入網(wǎng)關(guān)的結(jié)構(gòu)圖;
[0016]圖2是米用本發(fā)明進(jìn)行B2C支付的流程圖。
【具體實(shí)施方式】
[0017]下面結(jié)合附圖對(duì)本發(fā)明的【具體實(shí)施方式】進(jìn)行描述,以便本領(lǐng)域的技術(shù)人員更好地理解本發(fā)明。需要特別提醒注意的是,在以下的描述中,當(dāng)已知功能和設(shè)計(jì)的詳細(xì)描述也許會(huì)淡化本發(fā)明的主要內(nèi)容時(shí),這些描述在這里將被忽略。
[0018]圖1是本發(fā)明支持多種支付通道的統(tǒng)一支付接入網(wǎng)關(guān)的結(jié)構(gòu)圖。如圖1所示,本發(fā)明支持多種支付通道的統(tǒng)一支付接入網(wǎng)關(guān)包括統(tǒng)一支付接口 1、解密處理模塊2、協(xié)議適配模塊3、支付處理模塊4。
[0019]統(tǒng)一支付接口 1作為接入商戶客戶端與統(tǒng)一支付接入網(wǎng)關(guān)的接口,接入商戶的各種支付請(qǐng)求報(bào)文或支付驗(yàn)證報(bào)文都由客戶端生成,通過統(tǒng)一支付接口 1發(fā)送給統(tǒng)一支付接入網(wǎng)關(guān)。統(tǒng)一支付的接口 1把從接入商戶客戶端接收到的支付請(qǐng)求報(bào)文和支付驗(yàn)證報(bào)文發(fā)送給解密處理模塊2。為了使統(tǒng)一支付接入網(wǎng)關(guān)完成對(duì)各種支付服務(wù)平臺(tái)的協(xié)議適配,統(tǒng)一支付接口 1需要驗(yàn)證請(qǐng)求報(bào)文的合法性以及格式是否正確,基本的交易要素是否完整。交易要素應(yīng)該包含商戶編號(hào)、支付計(jì)劃ID(用于賬務(wù)處理系統(tǒng)計(jì)算費(fèi)率)、交易流水號(hào)、訂單金額等常規(guī)支付信息外,還需要包括支付模式編碼以及一般需要經(jīng)過加密的交易結(jié)果通知地址、交易結(jié)果返回地址、數(shù)字簽名等密文信息。
[0020]解密處理模塊2負(fù)責(zé)統(tǒng)一支付網(wǎng)關(guān)與接入商戶客戶端之間消息的解密,即接收支付請(qǐng)求報(bào)文和支付訂單信息報(bào)文進(jìn)行解密和驗(yàn)簽。解密功能可以根據(jù)實(shí)際的通信模式進(jìn)行開啟或關(guān)閉,如果與接入商戶客戶端的通信模式為加密模式,則對(duì)報(bào)文進(jìn)行解密然后進(jìn)行驗(yàn)簽,否則直接進(jìn)行驗(yàn)簽,驗(yàn)簽成功后將報(bào)文數(shù)據(jù)發(fā)送給協(xié)議適配模塊3。本實(shí)施例中,采用統(tǒng)一支付接入網(wǎng)關(guān)的128位私鑰進(jìn)行解密,然后使用商戶端在統(tǒng)一支付接入網(wǎng)關(guān)上預(yù)留的128位公鑰進(jìn)行驗(yàn)簽。
[0021]協(xié)議適配模塊3在接收到解密后的支付請(qǐng)求信息后,從解密后的支付請(qǐng)求信息提取出支付模式編碼,在預(yù)存的支付方式編碼表中查詢得到該支付請(qǐng)求對(duì)應(yīng)的支付模式和對(duì)應(yīng)的第三方支付接口,按照對(duì)應(yīng)的報(bào)文協(xié)議轉(zhuǎn)換算法將原始的支付請(qǐng)求報(bào)文和支付驗(yàn)證報(bào)文按照對(duì)應(yīng)的第三方支付接口所規(guī)定的報(bào)文格式轉(zhuǎn)換為重構(gòu)報(bào)文,將支付模式、第三方支付接口編號(hào)和重構(gòu)報(bào)文發(fā)送到支付處理模塊4。
[0022]目前較多使用的支付通道有支付寶、微信支付、連連支付、銀聯(lián)線上支付等,較流行的支付模式包括B2C支付、快捷支付、銀行代扣、掃碼支付、WAP支付等。在進(jìn)行報(bào)文格式轉(zhuǎn)換時(shí),本實(shí)施例中采用的報(bào)文格式轉(zhuǎn)換算法為:將統(tǒng)一支付接口報(bào)文字段與對(duì)應(yīng)的第三方支付平臺(tái)中支付接口的請(qǐng)求報(bào)文字段建立對(duì)應(yīng)關(guān)系,對(duì)于無法對(duì)應(yīng)的字段,如:數(shù)字簽名字段、消息通知等,采用預(yù)編碼形式設(shè)置固定數(shù)據(jù)值或固定算法,從而實(shí)現(xiàn)協(xié)議轉(zhuǎn)換。
[0023]支付處理模塊4負(fù)責(zé)對(duì)統(tǒng)一支付網(wǎng)關(guān)從客戶端和第三方支付平臺(tái)接收的支付信息進(jìn)行處理與發(fā)送,主要包括:
[0024](1)支付預(yù)處理:在接收到支付模式、第三方支付接口編號(hào)和重構(gòu)報(bào)文后,根據(jù)用戶預(yù)設(shè)的業(yè)務(wù)對(duì)本次請(qǐng)求進(jìn)行處理,例如向接入客戶端或相關(guān)業(yè)務(wù)系統(tǒng)發(fā)送支付通知,預(yù)先寫入支付記錄等;
[0025](2)判斷支付模式的執(zhí)行模式,并按照對(duì)應(yīng)的第三方支付接口報(bào)