最新的毛片基地免费,国产国语一级毛片,免费国产成人高清在线电影,中天堂国产日韩欧美,中国国产aa一级毛片,国产va欧美va在线观看,成人不卡在线

一種防止重復(fù)支付的方法和裝置與流程

文檔序號:11143935閱讀:1295來源:國知局
一種防止重復(fù)支付的方法和裝置與制造工藝

本發(fā)明實(shí)施例涉及支付交易領(lǐng)域,尤其涉及一種防止重復(fù)支付的方法和裝置。



背景技術(shù):

隨著科技的進(jìn)步和發(fā)展,用戶通過網(wǎng)絡(luò)交易已經(jīng)成為一種普遍的方式,使用網(wǎng)絡(luò)交易時通常是在線支付。由于在線支付是基于網(wǎng)絡(luò)及非面對面的特性,因此,在線支付的過程中若系統(tǒng)出現(xiàn)異常可能會造成同一訂單重復(fù)支付的問題。

在現(xiàn)有技術(shù)中,第三方支付裝置會提供支付和支付狀態(tài)查詢兩種功能,圖1示出了現(xiàn)有技術(shù)中訂單支付和確定支付狀態(tài)流程,如圖1所示,支付和確定支付狀態(tài)包括以下步驟:

步驟101,用戶向第三方支付裝置發(fā)起訂單支付請求;

步驟102,第三方支付裝置接收用戶發(fā)起的訂單支付請求;

步驟103,第三方支付裝置確定是否成功接收到用戶發(fā)起的訂單支付請求;若否,則執(zhí)行步驟104;若是,則執(zhí)行步驟105;

步驟104,確定支付狀態(tài)為該訂單不存在;

步驟105,確定訂單支付狀態(tài)為訂單支付成功、訂單支付失敗或訂單支付狀態(tài)不明確;

步驟106,第三方支付裝置向支付平臺發(fā)送支付請求;

步驟107,支付平臺向第三方支付裝置發(fā)送訂單支付響應(yīng);

步驟108,第三方支付裝置確定是否接收到支付平臺發(fā)送的訂單支付響應(yīng);

步驟109,若接收到支付平臺發(fā)送的訂單支付響應(yīng),則根據(jù)支付響應(yīng)確定支付狀態(tài)為支付成功或支付失??;具體來說,支付響應(yīng)為支付成功,則支付狀態(tài)為支付成功;支付響應(yīng)為支付失敗,則支付狀態(tài)為支付失?。?/p>

步驟120,若未接收到支付平臺發(fā)送的訂單支付響應(yīng),則確定支付狀態(tài)不明確。

當(dāng)?shù)谌街Ц堆b置在用戶發(fā)起支付請求之前,系統(tǒng)出現(xiàn)異常,從而導(dǎo)致第三方支付裝置未成功接收到支付請求,從而也無法向用戶展示支付狀態(tài),由于用戶沒有看到支付狀態(tài),因此用于可能會查詢該訂單的支付狀態(tài)。由于第三方支付裝置的異常,可能導(dǎo)致先成功接收到查詢請求,后續(xù)再成功接收到支付請求,此時由于第三方支付裝置成功接收到的信令的時序出現(xiàn)顛倒,因此導(dǎo)致第三方支付裝置處理信令的時序顛倒。該情況下,由于第三方支付裝置在處理查詢請求之前,還未處理支付請求,因此可能向用戶發(fā)送的支付狀態(tài)為:確定該訂單不存在。用戶看到該支付狀態(tài),可能會發(fā)起第二次支付,即用戶向第三方支付裝置再次發(fā)送支付請求,第三方支付裝置對兩次發(fā)送的支付請求均進(jìn)行處理,導(dǎo)致用戶對一個訂單重復(fù)進(jìn)行支付。

目前,對于出現(xiàn)訂單重復(fù)支付的情況通常采取事后處理的方式:當(dāng)用戶確定同一個訂單已經(jīng)進(jìn)行了重復(fù)支付,則通過發(fā)起退款來解決訂單重復(fù)支付的問題,如此,會給用戶造成一定的資金風(fēng)險(xiǎn)。

綜上,亟需一種防止重復(fù)支付的方案,用于避免用戶對同一個訂單進(jìn)行重復(fù)支付的問題。



技術(shù)實(shí)現(xiàn)要素:

本發(fā)明實(shí)施例提供了一種防止重復(fù)支付的方法和裝置,用于防止對重復(fù)發(fā)送的支付請求進(jìn)行支付。

本發(fā)明實(shí)施例提供一種防止重復(fù)支付的方法,包括:

第三方支付裝置接收終端發(fā)送的支付請求;其中,支付請求包括訂單標(biāo)識;第三方支付裝置確定接收到支付請求之前未接收到包括訂單標(biāo)識的訂單請求,確定是首次接收到訂單標(biāo)識,則根據(jù)支付請求對訂單標(biāo)識對應(yīng)的訂單進(jìn)行支付處理;第三方支付裝置確定接收到支付請求之前接收到包括訂單標(biāo)識的訂單請求,確定不是首次接收到訂單標(biāo)識,則向終端發(fā)送第一指示信息;第一指示信息用于指示支付請求的支付狀態(tài)為支付失??;其中,訂單請求包括:用于對訂單標(biāo)識對應(yīng)的訂單進(jìn)行支付的支付請求,以及用于查詢訂單標(biāo)識對應(yīng)的訂單的支付狀態(tài)查詢請求。

可選地,第三方支付裝置確定接收到支付請求之前未接收到包括訂單標(biāo)識的訂單請求,確定是首次接收到訂單標(biāo)識,包括:第三方支付裝置將支付請求中的訂單標(biāo)識保存至數(shù)據(jù)庫;其中,支付請求中的訂單標(biāo)識為數(shù)據(jù)庫主鍵;第三方支付裝置確定支付請求中的訂單標(biāo)識保存成功,則確定是首次接收到訂單標(biāo)識。

可選地,第三方支付裝置根據(jù)支付請求對所訂單標(biāo)識對應(yīng)的訂單進(jìn)行支付處理,包括:第三方支付裝置向支付平臺發(fā)送支付請求;第三方支付裝置接收支付平臺發(fā)送的支付響應(yīng)??蛇x地,第三方支付裝置根據(jù)支付請求對訂單標(biāo)識對應(yīng)的訂單進(jìn)行支付處理之后,還包括:第三方支付裝置接收終端發(fā)送的查詢請求;其中,查詢請求中包括訂單標(biāo)識;第三方支付裝置將查詢請求中的訂單標(biāo)識保存至數(shù)據(jù)庫;其中,查詢請求中的訂單標(biāo)識為數(shù)據(jù)庫主鍵;第三方支付裝置確定查詢請求中的訂單標(biāo)識保存失敗,則根據(jù)確定出訂單標(biāo)識對應(yīng)的支付響應(yīng),向終端發(fā)送第二指示信息;其中,支付響應(yīng)為支付成功,則第二指示信息用于指示支付請求的支付狀態(tài)為支付成功;支付響應(yīng)為支付失敗,則第二指示信息用于指示支付請求的支付狀態(tài)為支付失敗。

可選地,第三方支付裝置接收終端發(fā)送的支付請求之前,還包括:第三方支付裝置接收包括訂單標(biāo)識的訂單請求,并將訂單請求中的訂單標(biāo)識保存至數(shù)據(jù)庫;其中,訂單請求中的訂單標(biāo)識為數(shù)據(jù)庫主鍵??蛇x地,第三方支付裝置確定接收到支付請求之前接收到包括訂單標(biāo)識的訂單請求,確定不是首次接收到訂單標(biāo)識,包括:第三方支付裝置將支付請求中的訂單標(biāo)識保存至數(shù)據(jù)庫;其中,支付請求中的訂單標(biāo)識為數(shù)據(jù)庫主鍵;第三方支付裝置確定支付請求中的訂單標(biāo)識保存失敗,則確定不是首次接收到訂單標(biāo)識。

可選地,訂單請求為查詢請求??蛇x地,第三方支付裝置接收包括訂單標(biāo)識的訂單請求,并將訂單請求中的訂單標(biāo)識保存至數(shù)據(jù)庫之后,第三方支付裝置接收終端發(fā)送的支付請求之前,還包括:第三方支付裝置確定查詢請求中的訂單標(biāo)識保存成功,則向終端發(fā)送第三指示信息;第三指示信息用于指示終端在發(fā)送查詢請求之前發(fā)送的訂單標(biāo)識對應(yīng)的支付請求的支付狀態(tài)為支付失敗。

一種防止重復(fù)支付的裝置,包括:

接收單元,用于接收終端發(fā)送的支付請求;其中,支付請求包括訂單標(biāo)識;

處理單元,用于確定接收到支付請求之前未接收到包括訂單標(biāo)識的訂單請求,確定是首次接收到訂單標(biāo)識,則根據(jù)支付請求對訂單標(biāo)識對應(yīng)的訂單進(jìn)行支付處理;確定接收到支付請求之前接收到包括訂單標(biāo)識的訂單請求,確定不是首次接收到訂單標(biāo)識,則向終端發(fā)送第一指示信息;第一指示信息用于指示支付請求的支付狀態(tài)為支付失??;其中,訂單請求包括:用于對訂單標(biāo)識對應(yīng)的訂單進(jìn)行支付的支付請求,以及用于查詢訂單標(biāo)識對應(yīng)的訂單的支付狀態(tài)查詢請求。

可選地,處理單元,具體用于:將支付請求中的訂單標(biāo)識保存至數(shù)據(jù)庫;其中,支付請求中的訂單標(biāo)識為數(shù)據(jù)庫主鍵;確定支付請求中的訂單標(biāo)識保存成功,則確定是首次接收到訂單標(biāo)識。

可選地,還包括發(fā)送單元,用于:向支付平臺發(fā)送支付請求;接收單元,還用于:接收支付平臺發(fā)送的支付響應(yīng);接收終端發(fā)送的查詢請求;其中,查詢請求中包括訂單標(biāo)識;處理單元,還用于:將查詢請求中的訂單標(biāo)識保存至數(shù)據(jù)庫;其中,查詢請求中的訂單標(biāo)識為數(shù)據(jù)庫主鍵;確定查詢請求中的訂單標(biāo)識保存失敗,則根據(jù)確定出訂單標(biāo)識對應(yīng)的支付響應(yīng),向終端發(fā)送第二指示信息;其中,支付響應(yīng)為支付成功,則第二指示信息用于指示支付請求的支付狀態(tài)為支付成功;支付響應(yīng)為支付失敗,則第二指示信息用于指示支付請求的支付狀態(tài)為支付失敗。

可選地,接收單元,還用于:接收包括訂單標(biāo)識的訂單請求;處理單元,還用于:將訂單請求中的訂單標(biāo)識保存至數(shù)據(jù)庫;其中,訂單請求中的訂單標(biāo)識為數(shù)據(jù)庫主鍵;將支付請求中的訂單標(biāo)識保存至數(shù)據(jù)庫;其中,支付請求中的訂單標(biāo)識為數(shù)據(jù)庫主鍵;確定支付請求中的訂單標(biāo)識保存失敗,則確定不是首次接收到訂單標(biāo)識。

可選地,訂單請求為查詢請求;

可選地,處理單元,具體用于:確定查詢請求中的訂單標(biāo)識保存成功,則向終端發(fā)送第三指示信息;第三指示信息用于指示終端在發(fā)送查詢請求之前發(fā)送的訂單標(biāo)識對應(yīng)的支付請求的支付狀態(tài)為支付失敗。

本發(fā)明實(shí)施例中第三方支付裝置在接收到支付請求之后,首先確定在接收到該支付請求之前是否接收到包括訂單標(biāo)識的訂單請求,根據(jù)該訂單請求來確定接收到的支付請求中的訂單標(biāo)識是否為首次接收:若是首次接收,則說明在接收到該支付請求之前沒有接收到該訂單請求,所以根據(jù)該支付請求對訂單標(biāo)識對應(yīng)的訂單進(jìn)行支付處理;若不是首次接收,則說明在接收到該支付請求之前接收到了除該支付請求之外的其它訂單請求,比如其它支付請求或查詢請求,因此不對此次接收到的支付請求進(jìn)行支付處理,向終端發(fā)送指示該支付失敗的第一指示信息??梢?,若終端進(jìn)行了重復(fù)支付,即第二次發(fā)送支付請求,則本發(fā)明實(shí)施例所提供的方案可有效防止對重復(fù)發(fā)送的支付請求進(jìn)行支付。

附圖說明

圖1為現(xiàn)有技術(shù)中支付和確定支付狀態(tài)流程示意圖;

圖1a為本發(fā)明實(shí)施例提供的一種系統(tǒng)架構(gòu)示意圖;

圖2為本發(fā)明實(shí)施例提供的一種防止重復(fù)支付的方法流程示意圖;

圖3為本發(fā)明實(shí)施例提供的另一種防止重復(fù)支付的方法流程示意圖;

圖4為本發(fā)明實(shí)施例提供的另一種防止重復(fù)支付的方法流程示意圖;

圖5為本發(fā)明實(shí)施例提供的可選地一種防止重復(fù)支付的具體方法流程示意圖;

圖6為本發(fā)明實(shí)施例提供的可選地另一種防止重復(fù)支付的具體方法流程示意圖;

圖7為本發(fā)明實(shí)施例提供的一種第三方支付裝置的結(jié)構(gòu)示意圖。

具體實(shí)施方式

為了使本發(fā)明的目的、技術(shù)方案及有益效果更加清楚明白,以下結(jié)合附圖及實(shí)施例,對本發(fā)明進(jìn)行進(jìn)一步詳細(xì)說明。應(yīng)當(dāng)理解,此處所描述的具體實(shí)施例僅僅用以解釋本發(fā)明,并不用于限定本發(fā)明。

圖1a示出了應(yīng)用本發(fā)明實(shí)施例的一種系統(tǒng)的架構(gòu)示意圖。如圖1a所示,該系統(tǒng)架構(gòu)可以包括終端101a、第三方支付裝置102a、支付平臺103a。終端與第三方支付裝置之間,或者第三方支付裝置與支付平臺之間可通過無線或有線的方式進(jìn)行連接。

終端用于向第三方支付裝置發(fā)送訂單請求。終端可以經(jīng)無線接入網(wǎng)(Radio Access Network,簡稱RAN)與一個或多個核心網(wǎng)進(jìn)行通信,終端設(shè)備可以指用戶設(shè)備(User Equipment,簡稱UE)、接入終端、用戶單元、用戶站、移動站、移動臺、遠(yuǎn)方站、遠(yuǎn)程終端、移動設(shè)備、用戶終端、終端、無線通信設(shè)備、用戶代理或用戶裝置。終端可以是蜂窩電話、無繩電話、會話啟動協(xié)議(Session Initiation Protocol,簡稱SIP)電話、無線本地環(huán)路(Wireless Local Loop,簡稱WLL)站、個人數(shù)字處理(Personal Digital Assistant,簡稱PDA)、具有無線通信功能的手持設(shè)備、計(jì)算設(shè)備或連接到無線調(diào)制解調(diào)器的其它處理設(shè)備、車載設(shè)備、可穿戴設(shè)備,未來5G網(wǎng)絡(luò)中的終端設(shè)備等。

第三方支付裝置用于接收并處理終端發(fā)送的訂單請求,可以是支付寶、微信等。

支付平臺用來接收第三方支付裝置發(fā)送的支付請求并向第三方支付裝置反饋支付響應(yīng),可以是銀行等。

基于圖1a所示的系統(tǒng)架構(gòu),圖2示例性示出了本發(fā)明實(shí)施例提供的一種防止重復(fù)支付的方法流程示意圖,如圖2所示,防止重復(fù)支付方法包括以下步驟:

步驟201,第三方支付裝置接收終端發(fā)送的支付請求;其中,支付請求包括訂單標(biāo)識;

步驟202,第三方支付裝置確定接收到支付請求之前是否接收到包括訂單標(biāo)識的訂單請求,即確定是否是首次接收到訂單標(biāo)識;若第三方支付裝置確定接收到支付請求之前未接收到包括訂單標(biāo)識的訂單請求,確定是首次接收到訂單標(biāo)識,則執(zhí)行步驟203;若第三方支付裝置確定接收到支付請求之前接收到包括訂單標(biāo)識的訂單請求,確定是不首次接收到訂單標(biāo)識,則執(zhí)行步驟204;

步驟203,則根據(jù)支付請求對訂單標(biāo)識對應(yīng)的訂單進(jìn)行支付處理;

步驟204,向終端發(fā)送第一指示信息;第一指示信息用于指示支付請求的支付狀態(tài)為支付失敗;其中,訂單請求包括:用于對訂單標(biāo)識對應(yīng)的訂單進(jìn)行支付的支付請求,以及用于查詢訂單標(biāo)識對應(yīng)的訂單的支付狀態(tài)查詢請求。

上述步驟202中,第三方支付裝置確定接收到支付請求之前未接收到包括訂單標(biāo)識的訂單請求,即確定是首次接收到訂單標(biāo)識;第三方支付裝置確定接收到支付請求之前接收到包括訂單標(biāo)識的訂單請求,則確定不是首次接收到訂單標(biāo)識。訂單請求可能為包括上述訂單標(biāo)識的另一個支付請求,也可能是包括上述訂單標(biāo)識的一個查詢請求。

由于本發(fā)明實(shí)施例中本發(fā)明實(shí)施例中第三方支付裝置在接收到支付請求之后,首先確定在接收到該支付請求之前是否接收到包括訂單標(biāo)識的訂單請求,根據(jù)該訂單請求來確定接收到的支付請求中的訂單標(biāo)識是否為首次接收:若是首次接收,則說明在接收到該支付請求之前沒有接收到該訂單請求,所以根據(jù)該支付請求對訂單標(biāo)識對應(yīng)的訂單進(jìn)行支付處理;若不是首次接收,則說明在接收到該支付請求之前接收到了除該支付請求之外的其它訂單請求,比如其它支付請求或查詢請求,因此不對此次接收到的支付請求進(jìn)行支付處理,向終端發(fā)送指示該支付失敗的第一指示信息??梢?,若終端進(jìn)行了重復(fù)支付,即第二次發(fā)送支付請求,則本發(fā)明實(shí)施例所提供的方案可有效防止對重復(fù)發(fā)送的支付請求進(jìn)行支付。

為了確定出接受到的支付請求中的訂單標(biāo)識是不是首次接收到的訂單標(biāo)識,有多種實(shí)施方式,比如對每一次的支付請求中的訂單標(biāo)識用不同的序號標(biāo)注或第三方支付裝置對每一次接收到的訂單支付請求中的訂單標(biāo)識用接收到訂單標(biāo)識的時間確定。本發(fā)明實(shí)施例提供一種可選地方案,用于使第三方支付裝置確定出是否是接收到支付請求之前未接收到包括訂單標(biāo)識的訂單請求,即確定是否是首次接收到訂單標(biāo)識。

圖3示例性示出了本發(fā)明提供的另一種防止重復(fù)支付的方法流程示意圖。如圖3所示,該方法包括以下步驟:

步驟301,終端向第三方支付裝置發(fā)送支付請求;其中,支付請求中包括訂單標(biāo)識。

步驟302,第三方支付裝置接收終端發(fā)送的支付請求。

步驟303,第三方支付裝置將支付請求中的訂單標(biāo)識保存至數(shù)據(jù)庫;其中,支付請求中的訂單標(biāo)識為數(shù)據(jù)庫主鍵。

可選地,訂單標(biāo)識通過訂單三要素(商戶號、訂單號、訂單時間)來唯一的確定。第三方支付裝置將支付請求對應(yīng)的訂單標(biāo)識保存至數(shù)據(jù)庫;可選地,根據(jù)訂單標(biāo)識作為數(shù)據(jù)庫主鍵保存到數(shù)據(jù)庫中,比如DB2數(shù)據(jù)庫。

本發(fā)明實(shí)施例中數(shù)據(jù)庫主鍵是表中的一列或多列的組合,其值能唯一地標(biāo)識表中的每一列。這樣的一列或多列為表的主鍵,通過主鍵可強(qiáng)制表的實(shí)體完整性,利用數(shù)據(jù)庫主鍵可解決因報(bào)文處理時序顛倒產(chǎn)生的重復(fù)支付。

該示例中將支付請求中的訂單標(biāo)識保存至數(shù)據(jù)庫時,可能保存成功,也可能保存不成功。具體來說,若數(shù)據(jù)庫中沒有保存過該訂單標(biāo)識,即該次將支付請求中的訂單標(biāo)識保存至數(shù)據(jù)庫是首次將該訂單標(biāo)識以數(shù)據(jù)庫主鍵的形式保存至數(shù)據(jù)庫,則可以保存成功;若數(shù)據(jù)庫中以訂單標(biāo)識為數(shù)據(jù)庫主鍵的形式曾經(jīng)保存過該訂單標(biāo)識,即該次將支付請求中的訂單標(biāo)識保存至數(shù)據(jù)庫不是首次將該訂單標(biāo)識以數(shù)據(jù)庫主鍵的形式保存至數(shù)據(jù)庫,則會保存失敗。

該示例中以該次將支付請求中的訂單標(biāo)識保存至數(shù)據(jù)庫是首次將該訂單標(biāo)識以數(shù)據(jù)庫主鍵的形式保存至數(shù)據(jù)庫為例進(jìn)行說明,此時一定能保存成功。

步驟304,第三方支付裝置確定支付請求對應(yīng)的訂單標(biāo)識保存成功;確定是首次接收到訂單標(biāo)識。

步驟305,第三方支付裝置向支付平臺發(fā)送支付請求??蛇x地,該支付請求中包括:訂單標(biāo)識、收款方信息、交易金額等信息。

步驟306,第三方支付裝置接收支付平臺發(fā)送的支付響應(yīng)??蛇x地,第三方支付裝置向終端發(fā)送接收到的支付響應(yīng)。

具體來說,支付響應(yīng)是支付平臺接收到第三方支付裝置發(fā)送的支付請求之后,對接收到的支付請求處理之后的結(jié)果,支付響應(yīng)可以為支付成功或支付失敗。若支付響應(yīng)為支付成功,則第三方支付裝置確定出的支付請求的支付狀態(tài)為支付成功;若支付響應(yīng)為支付失敗,則第三方支付裝置確定出的支付請求的支付狀態(tài)為支付失敗。

可選地,另一種實(shí)施方式中,若支付平臺發(fā)送了支付響應(yīng),但是支付平臺沒有收到該支付響應(yīng),則第三方支付裝置確定出的支付請求的支付狀態(tài)為支付狀態(tài)不明。

可選地,第三方支付裝置中可儲存支付狀態(tài)表,該支付狀態(tài)表中包括支付請求,以及該支付請求的支付狀態(tài)。

該示例中,若第三方支付裝置未將支付響應(yīng)及時的發(fā)送給終端,則終端的用戶可能會向第三方支付裝置發(fā)送查詢請求,以便確定支付請求的支付狀態(tài)。該示例中以用戶未接收到支付響應(yīng)并向第三方支付裝置發(fā)送查詢請求為例進(jìn)行說明。

步驟307,第三方支付裝置接收終端發(fā)送的查詢請求;其中,查詢請求中包括訂單標(biāo)識。

步驟308,第三方支付裝置將查詢請求中的訂單標(biāo)識保存至數(shù)據(jù)庫;其中,查詢請求中的訂單標(biāo)識為數(shù)據(jù)庫主鍵。

步驟309,第三方支付裝置確定查詢請求對應(yīng)的訂單標(biāo)識保存失敗。

由于第三方支付裝置在接收到查詢請求之前,已經(jīng)接收了包括訂單標(biāo)識的支付請求,而且將該支付請求中的訂單標(biāo)識為數(shù)據(jù)庫主鍵保存到數(shù)據(jù)庫中,因此,當(dāng)?shù)谌街Ц堆b置接收到查詢請求中的訂單標(biāo)識時,由于數(shù)據(jù)庫中已經(jīng)存在了該訂單標(biāo)識的數(shù)據(jù)庫主鍵,所以查詢請求對應(yīng)的訂單標(biāo)識保存失敗,即該訂單標(biāo)識不能再保存到數(shù)據(jù)庫了。

步驟310,根據(jù)確定出訂單標(biāo)識對應(yīng)的支付響應(yīng),向終端發(fā)送第二指示信息。其中,支付響應(yīng)為支付成功,則第二指示信息用于指示支付請求的支付狀態(tài)為支付成功;支付響應(yīng)為支付失敗,則第二指示信息用于指示支付請求的支付狀態(tài)為支付失敗??蛇x地,若第三方支付裝置未接收到該支付響應(yīng),則第二指示信息用于指示支付請求的支付狀態(tài)為支付不明。

圖4示例性示出了本發(fā)明提供的另一種防止重復(fù)支付的方法流程示意圖。如圖4所示,該方法包括以下步驟:

步驟401,終端向第三方支付裝置發(fā)送包括訂單標(biāo)識的訂單請求??蛇x地,訂單請求可為用于對訂單標(biāo)識對應(yīng)的訂單進(jìn)行支付的支付請求,或者為用于查詢訂單標(biāo)識對應(yīng)的訂單的支付狀態(tài)查詢請求。

步驟402,第三方支付裝置接收包括訂單標(biāo)識的訂單請求。

可選地,訂單標(biāo)識通過訂單三要素(商戶號、訂單號、訂單時間)來唯一的確定;訂單請求可以為支付請求或查詢請求中的任一一個。

步驟403,第三方支付裝置將訂單請求中的訂單標(biāo)識保存至數(shù)據(jù)庫;其中,訂單請求中的訂單標(biāo)識為數(shù)據(jù)庫主鍵。

可選地,將訂單請求中的訂單標(biāo)識保存為數(shù)據(jù)庫主鍵,能唯一的標(biāo)識該訂單。具體來說,在第三方支付裝置數(shù)據(jù)庫中以數(shù)據(jù)庫主鍵的的方式保存了該訂單請求中包括的訂單標(biāo)識,由于該訂單請求中的訂單標(biāo)識是首次以數(shù)據(jù)庫主鍵的方式保存到數(shù)據(jù)庫中,所以該訂單請求中所包括的訂單標(biāo)識保存成功。若第三方數(shù)據(jù)庫再次接收到該訂單標(biāo)識時,由于數(shù)據(jù)庫主鍵是該訂單的唯一標(biāo)識,因此,第三方支付裝置再次接收到該訂單標(biāo)識時不能被再次成功保存。

可選地,訂單請求可為用于對訂單標(biāo)識對應(yīng)的訂單進(jìn)行支付的支付請求,或者為用于查詢訂單標(biāo)識對應(yīng)的訂單的支付狀態(tài)查詢請求;當(dāng)訂單請求為用于查詢訂單標(biāo)識對應(yīng)的訂單的支付狀態(tài)查詢請求時,該查詢請求對應(yīng)的訂單標(biāo)識以數(shù)據(jù)庫主鍵的方式成功保存到第三方支付裝置的數(shù)據(jù)庫中,第三方支付裝置確定該查詢請求中包括的訂單標(biāo)識為首次接收到的訂單標(biāo)識;之后向終端發(fā)送該訂單標(biāo)識所對應(yīng)的支付請求的支付狀態(tài)為支付失?。划?dāng)訂單請求為用于對訂單標(biāo)識對應(yīng)的訂單進(jìn)行支付的支付請求,該支付請求對應(yīng)的訂單標(biāo)識以數(shù)據(jù)庫主鍵的方式成功保存到第三方支付裝置的數(shù)據(jù)庫中,第三方支付裝置確定該支付請求中包括的訂單標(biāo)識為首次接收到的訂單標(biāo)識;之后向支付平臺發(fā)送該訂單標(biāo)識所對應(yīng)的支付請求,并對該支付請求進(jìn)行處理。該示例中以第三方支付裝置在接收到上述訂單請求之后,再次接收到支付請求為例進(jìn)行說明,由于訂單請求中包括的訂單標(biāo)識以數(shù)據(jù)庫主鍵的方式成功保存到了第三方支付裝置的數(shù)據(jù)庫中,所以,當(dāng)?shù)谌街Ц堆b置再次接收到包含該訂單請求的支付請求時,支付請求中的訂單標(biāo)識一定會保存失敗。

步驟404,終端向第三方支付裝置發(fā)送包括訂單標(biāo)識的支付請求。

步驟405,第三方支付裝置接收終端發(fā)送的包括訂單標(biāo)識的支付請求。

步驟406,第三方支付裝置將支付請求中的訂單標(biāo)識保存至數(shù)據(jù)庫;其中,支付請求中的訂單標(biāo)識為數(shù)據(jù)庫主鍵。

步驟407,第三方支付裝置確定支付請求對應(yīng)的訂單保存失??;

則確定不是首次接收到訂單標(biāo)識。

由于,第三方支付裝置將支付請求中的訂單標(biāo)識以數(shù)據(jù)庫主鍵的方式保存失敗,所以確定接收到支付請求之前接收到包括訂單標(biāo)識的訂單請求,所以,因此,確定支付請求對應(yīng)的訂單標(biāo)識不是首次接收到訂單標(biāo)識。

步驟408,第三方支付裝置向終端發(fā)送第一指示信息;第一指示信息用于指示支付請求的支付狀態(tài)為支付失敗。

在確定不是首次接收到訂單標(biāo)識之后,不對此次接收到的支付請求進(jìn)行支付處理,向終端發(fā)送指示該支付失敗的第一指示信息。因此,若終端進(jìn)行了重復(fù)支付,即第二次發(fā)送支付請求,則可有效防止對重復(fù)發(fā)送的支付請求進(jìn)行支付。

圖5示例性示出了本發(fā)明提供的可選地一種防止重復(fù)支付的具體方法流程示意圖。如圖5所示,該方法實(shí)例中以圖4所示的方法示例中訂單請求為查詢請求為例進(jìn)行更詳細(xì)的描述,該方法示例包括以下步驟:

步驟501,終端向第三方支付裝置發(fā)送包括訂單標(biāo)識的查詢請求。

可選地,查詢請求為訂單請求的一種,查詢請求用于查詢訂單的支付狀態(tài),在查詢請求中包括訂單標(biāo)識、收款方信息、交易金額等信息。

步驟502,第三方支付裝置接收包括訂單標(biāo)識的查詢請求。

步驟503,將查詢請求中的訂單標(biāo)識保存至數(shù)據(jù)庫;其中,查詢請求中的訂單標(biāo)識為數(shù)據(jù)庫主鍵。

步驟504,第三方支付裝置確定查詢請求中的訂單標(biāo)識保存成功。

第三方支付裝置首次接收到查詢請求中包括的訂單標(biāo)識,所以該訂單標(biāo)識為數(shù)據(jù)庫主鍵的方式可以成功保存到數(shù)據(jù)庫中。這說明第三方支付裝置并沒有接收到終端發(fā)送的該查詢請求之前所發(fā)送的訂單標(biāo)識對應(yīng)的支付請求??蛇x地,終端先向第三方支付裝置發(fā)送首次支付請求,當(dāng)終端未收到支付響應(yīng)時,又向第三方支付裝置發(fā)送查詢請求,但是第三方支付裝置首先接收都了查詢請求,后接收首次支付請求,則第三方支付裝置在接收到查詢請求中,首先將查詢請求中包含的訂單標(biāo)識以數(shù)據(jù)庫主鍵的方式保存到數(shù)據(jù)庫中,當(dāng)后接收到包括訂單標(biāo)識的支付請求時,該支付請求中的訂單標(biāo)識以數(shù)據(jù)庫主鍵的方式保存失敗,同時第三方支付裝置將首次支付請求攔截,不再進(jìn)行處理。如此,可避免系統(tǒng)出現(xiàn)故障時,對支付請求進(jìn)行處理錯亂從而造成重復(fù)支付。

可選地,用戶不可對該訂單標(biāo)識對應(yīng)的訂單再進(jìn)行支付,若用戶需要繼續(xù)完成支付,則需另外再下單。

步驟505,第三方支付裝置向終端發(fā)送第三指示信息;第三指示信息用于指示終端在發(fā)送查詢請求之前發(fā)送的訂單標(biāo)識對應(yīng)的支付請求的支付狀態(tài)為支付失敗。

由于第三方支付裝置對查詢請求中的訂單標(biāo)識保存成功,可選地,該查詢請求對應(yīng)的訂單保存成功說明終端沒有接收到查詢請求中的訂單標(biāo)識對應(yīng)的支付響應(yīng),也無法查詢到結(jié)果??蛇x地,第三方支付裝置并沒有接收到終端發(fā)送的該查詢請求之前所發(fā)送的訂單標(biāo)識對應(yīng)的支付請求,也不再對查詢請求中的訂單標(biāo)識對應(yīng)的支付請求進(jìn)行支付處理。所以向終端發(fā)送支付請求的支付狀態(tài)為支付失敗。

步驟506,終端向第三方支付裝置發(fā)送包括訂單標(biāo)識的支付請求。

步驟507,第三方支付裝置接收終端發(fā)送的支付請求。

步驟508,第三方支付裝置將支付請求中的訂單標(biāo)識保存至數(shù)據(jù)庫;其中,支付請求中的訂單標(biāo)識為數(shù)據(jù)庫主鍵。

步驟509,第三方支付裝置確定支付請求對應(yīng)的訂單保存失敗;

則確定不是首次接收到訂單標(biāo)識。

由于第三方支付裝置確定接收到支付請求之前接收到包括訂單標(biāo)識的查詢請求,所以確定該支付請求中的訂單標(biāo)識不是首次接收到訂單標(biāo)識。

步驟510,第三方支付裝置向終端發(fā)送第一指示信息;第一指示信息用于指示支付請求的支付狀態(tài)為支付失敗。

由于該支付請求的訂單標(biāo)識保存失敗,所以第三方支付裝置將該支付請求進(jìn)行攔截,不再對該支付請求進(jìn)行處理,直接返回支付請求的支付狀態(tài)為支付失敗,如此,可有效防止對重復(fù)發(fā)送的支付請求進(jìn)行支付。

圖6示例性示出了本發(fā)明提供的可選地另一種防止重復(fù)支付的具體方法流程示意圖。如圖6所示,該方法實(shí)例中以圖4所示的方法示例中訂單請求為支付請求為例進(jìn)行更詳細(xì)的描述,該方法示例包括以下步驟:

步驟601,終端向第三方支付裝置發(fā)送包括訂單標(biāo)識的首次支付請求。

可選地,支付請求為訂單請求的一種,在支付請求中包括訂單標(biāo)識、收款方信息、交易金額等信息。

步驟602,第三方支付裝置接收包括訂單標(biāo)識的首次支付請求。

步驟603,將首次支付請求對應(yīng)的訂單標(biāo)識保存至數(shù)據(jù)庫;其中,訂單標(biāo)識為首次支付請求的數(shù)據(jù)庫主鍵。

步驟604,第三方支付裝置確定首次支付請求對應(yīng)的訂單標(biāo)識保存成功。

第三方支付裝置接收到首次支付請求中包括的訂單標(biāo)識,所以該訂單標(biāo)識為數(shù)據(jù)庫主鍵的方式可以成功保存到數(shù)據(jù)庫中。

步驟605,向支付平臺發(fā)送首次支付請求。

第三方支付裝置接收到包括訂單標(biāo)識的首次支付請求,且該首次支付請求對應(yīng)的訂單標(biāo)識以數(shù)據(jù)庫主鍵的方式成功保存到數(shù)據(jù)庫中,所以該首次支付請求不會造成重復(fù)支付,需要支付平臺對該支付請求進(jìn)行支付處理。

可選地,支付平臺接收到首次支付請求之后,對首次支付請求進(jìn)行支付處理,并向第三方支付裝置發(fā)送支付響應(yīng),第三方支付裝置根據(jù)支付響應(yīng)更新首次支付請求對應(yīng)的支付狀態(tài),若支付響應(yīng)為支付成功,則將首次支付請求的支付狀態(tài)為更新為支付成功;若支付響應(yīng)為支付失敗,則將首次支付請求的支付狀態(tài)為更新為支付失敗。可選地,若第三方支付裝置未接收到該支付響應(yīng),則將首次支付請求的支付狀態(tài)為更新為支付不明。

步驟606,終端向第三方支付裝置發(fā)送包括訂單標(biāo)識的支付請求。

該支付請求與首次支付請求不同,該支付請求為用戶重復(fù)進(jìn)行支付的一次支付請求。終端向第三方支付裝置發(fā)送首次支付請求之后,由于沒有收到第三方支付裝置發(fā)送的支付狀態(tài)或收到支付狀態(tài)支付失??;終端向第三方支付裝置發(fā)送該包括訂單標(biāo)識的支付請求。

步驟607,第三方支付裝置接收終端發(fā)送的送包括訂單標(biāo)識支付請求。

步驟608,第三方支付裝置將支付請求中的訂單標(biāo)識保存至數(shù)據(jù)庫;其中,支付請求中的訂單標(biāo)識為數(shù)據(jù)庫主鍵;

步驟609,第三方支付裝置確定支付請求對應(yīng)的訂單保存失??;

則確定不是首次接收到訂單標(biāo)識。

具體來說,同一訂單標(biāo)識以數(shù)據(jù)庫主鍵形式只能保存一次,由于第三方支付裝置在保存支付請求對應(yīng)的訂單標(biāo)識之前,已經(jīng)成功保存了首次支付請求對應(yīng)的訂單標(biāo)識,所以后保存同一訂單標(biāo)識的一定會保存失敗。.

本發(fā)明實(shí)施例中通過數(shù)據(jù)庫主鍵的形式確定接收到的訂單標(biāo)識是不是首次接收到的訂單標(biāo)識。

步驟610,第三方支付裝置向終端發(fā)送第一指示信息;第一指示信息用于指示支付請求的支付狀態(tài)為支付失敗。

由于當(dāng)?shù)谌街Ц堆b置以數(shù)據(jù)庫主鍵的方式保存支付請求中對應(yīng)的訂單標(biāo)識保存失敗,所以確定接收到支付請求之前接收到包括訂單標(biāo)識的首次支付請求請求,確定該支付請求中包括的訂單標(biāo)識不是首次接收到訂單標(biāo)識,,所以第三方支付裝置將該支付請求進(jìn)行攔截,不再對該支付請求進(jìn)行處理,直接返回支付請求的支付狀態(tài)為支付失敗,如此,可有效防止對重復(fù)發(fā)送的支付請求進(jìn)行支付。

圖7示例性示出了本發(fā)明實(shí)施例提供的一種第三方支付裝置的結(jié)構(gòu)示意圖。

基于相同構(gòu)思,本發(fā)明實(shí)施例提供一種第三方支付裝置,如圖7所示,第三方支付裝置700包括接收單元701和處理單元702,可選地,還包括發(fā)送單元703。其中:

接收單元,用于接收終端發(fā)送的支付請求;其中,支付請求包括訂單標(biāo)識;

處理單元,用于確定接收到支付請求之前未接收到包括訂單標(biāo)識的訂單請求,確定是首次接收到訂單標(biāo)識,則根據(jù)支付請求對訂單標(biāo)識對應(yīng)的訂單進(jìn)行支付處理;確定接收到支付請求之前接收到包括訂單標(biāo)識的訂單請求,確定不是首次接收到訂單標(biāo)識,則向終端發(fā)送第一指示信息;第一指示信息用于指示支付請求的支付狀態(tài)為支付失敗;其中,訂單請求包括:用于對訂單標(biāo)識對應(yīng)的訂單進(jìn)行支付的支付請求,以及用于查詢訂單標(biāo)識對應(yīng)的訂單的支付狀態(tài)查詢請求。

可選地,處理單元,具體用于:將支付請求中的訂單標(biāo)識保存至數(shù)據(jù)庫;其中,支付請求中的訂單標(biāo)識為數(shù)據(jù)庫主鍵;確定支付請求中的訂單標(biāo)識保存成功,則確定是首次接收到訂單標(biāo)識。

可選地,還包括發(fā)送單元,用于:向支付平臺發(fā)送支付請求;

接收單元,還用于:接收支付平臺發(fā)送的支付響應(yīng);接收終端發(fā)送的查詢請求;其中,查詢請求中包括訂單標(biāo)識;

處理單元,還用于:將查詢請求中的訂單標(biāo)識保存至數(shù)據(jù)庫;其中,查詢請求中的訂單標(biāo)識為數(shù)據(jù)庫主鍵;確定查詢請求中的訂單標(biāo)識保存失敗,則根據(jù)確定出訂單標(biāo)識對應(yīng)的支付響應(yīng),向終端發(fā)送第二指示信息;其中,支付響應(yīng)為支付成功,則第二指示信息用于指示支付請求的支付狀態(tài)為支付成功;支付響應(yīng)為支付失敗,則第二指示信息用于指示支付請求的支付狀態(tài)為支付失敗。

可選地,接收單元,還用于:接收包括訂單標(biāo)識的訂單請求;

處理單元,還用于:將訂單請求中的訂單標(biāo)識保存至數(shù)據(jù)庫;其中,訂單請求中的訂單標(biāo)識為數(shù)據(jù)庫主鍵;將支付請求中的訂單標(biāo)識保存至數(shù)據(jù)庫;其中,支付請求中的訂單標(biāo)識為數(shù)據(jù)庫主鍵;確定支付請求中的訂單標(biāo)識保存失敗,則確定不是首次接收到訂單標(biāo)識。

可選地,訂單請求為查詢請求;

可選地,處理單元,具體用于:確定查詢請求中的訂單標(biāo)識保存成功,則向終端發(fā)送第三指示信息;第三指示信息用于指示終端在發(fā)送查詢請求之前發(fā)送的訂單標(biāo)識對應(yīng)的支付請求的支付狀態(tài)為支付失敗。

從上述內(nèi)容可以看出:本發(fā)明實(shí)施例中,由于本發(fā)明實(shí)施例中第三方支付裝置在接收到支付請求之后,首先確定在接收到該支付請求之前是否接收到包括訂單標(biāo)識的訂單請求,根據(jù)該訂單請求來確定接收到的支付請求中的訂單標(biāo)識是否為首次接收:若是首次接收,則說明在接收到該支付請求之前沒有接收到該訂單請求,所以根據(jù)該支付請求對訂單標(biāo)識對應(yīng)的訂單進(jìn)行支付處理;若不是首次接收,則說明在接收到該支付請求之前接收到了除該支付請求之外的其它訂單請求,比如其它支付請求或查詢請求,因此不對此次接收到的支付請求進(jìn)行支付處理,向終端發(fā)送指示該支付失敗的第一指示信息??梢?,若終端進(jìn)行了重復(fù)支付,即第二次發(fā)送支付請求,則本發(fā)明實(shí)施例所提供的方案可有效防止對重復(fù)發(fā)送的支付請求進(jìn)行支付。

本領(lǐng)域內(nèi)的技術(shù)人員應(yīng)明白,本發(fā)明的實(shí)施例可提供為方法、或計(jì)算機(jī)程序產(chǎn)品。因此,本發(fā)明可采用完全硬件實(shí)施例、完全軟件實(shí)施例、或結(jié)合軟件和硬件方面的實(shí)施例的形式。而且,本發(fā)明可采用在一個或多個其中包含有計(jì)算機(jī)可用程序代碼的計(jì)算機(jī)可用存儲介質(zhì)(包括但不限于磁盤存儲器、CD-ROM、光學(xué)存儲器等)上實(shí)施的計(jì)算機(jī)程序產(chǎn)品的形式。

本發(fā)明是參照根據(jù)本發(fā)明實(shí)施例的方法、設(shè)備(系統(tǒng))、和計(jì)算機(jī)程序產(chǎn)品的流程圖和/或方框圖來描述的。應(yīng)理解可由計(jì)算機(jī)程序指令實(shí)現(xiàn)流程圖和/或方框圖中的每一流程和/或方框、以及流程圖和/或方框圖中的流程和/或方框的結(jié)合??商峁┻@些計(jì)算機(jī)程序指令到通用計(jì)算機(jī)、專用計(jì)算機(jī)、嵌入式處理機(jī)或其他可編程數(shù)據(jù)處理設(shè)備的處理器以產(chǎn)生一個機(jī)器,使得通過計(jì)算機(jī)或其他可編程數(shù)據(jù)處理設(shè)備的處理器執(zhí)行的指令產(chǎn)生用于實(shí)現(xiàn)在流程圖一個流程或多個流程和/或方框圖一個方框或多個方框中指定的功能的裝置。

這些計(jì)算機(jī)程序指令也可存儲在能引導(dǎo)計(jì)算機(jī)或其他可編程數(shù)據(jù)處理設(shè)備以特定方式工作的計(jì)算機(jī)可讀存儲器中,使得存儲在該計(jì)算機(jī)可讀存儲器中的指令產(chǎn)生包括指令裝置的制造品,該指令裝置實(shí)現(xiàn)在流程圖一個流程或多個流程和/或方框圖一個方框或多個方框中指定的功能。

這些計(jì)算機(jī)程序指令也可裝載到計(jì)算機(jī)或其他可編程數(shù)據(jù)處理設(shè)備上,使得在計(jì)算機(jī)或其他可編程設(shè)備上執(zhí)行一系列操作步驟以產(chǎn)生計(jì)算機(jī)實(shí)現(xiàn)的處理,從而在計(jì)算機(jī)或其他可編程設(shè)備上執(zhí)行的指令提供用于實(shí)現(xiàn)在流程圖一個流程或多個流程和/或方框圖一個方框或多個方框中指定的功能的步驟。

盡管已描述了本發(fā)明的優(yōu)選實(shí)施例,但本領(lǐng)域內(nèi)的技術(shù)人員一旦得知了基本創(chuàng)造性概念,則可對這些實(shí)施例作出另外的變更和修改。所以,所附權(quán)利要求意欲解釋為包括優(yōu)選實(shí)施例以及落入本發(fā)明范圍的所有變更和修改。

顯然,本領(lǐng)域的技術(shù)人員可以對本發(fā)明進(jìn)行各種改動和變型而不脫離本發(fā)明的精神和范圍。這樣,倘若本發(fā)明的這些修改和變型屬于本發(fā)明權(quán)利要求及其等同技術(shù)的范圍之內(nèi),則本發(fā)明也意圖包含這些改動和變型在內(nèi)。

當(dāng)前第1頁1 2 3 
網(wǎng)友詢問留言 已有0條留言
  • 還沒有人留言評論。精彩留言會獲得點(diǎn)贊!
1