專利名稱:基于二維碼的手機銀行支付方法、系統(tǒng)及客戶端的制作方法
技術領域:
本發(fā)明涉及金融數(shù)據(jù)處理領域,尤其涉及一種基于二維碼的手機銀行支付方法、 系統(tǒng)及手機銀行客戶端。
背景技術:
隨著手機與銀行業(yè)務的日益進步與拓展,采用手機作為購物、消費的支付工具越來越受到人們的親睞。手機支付主要分為遠程支付和近程支付兩種,但是,手機遠程支付由于其響應的即時性較低,因而并不能取代傳統(tǒng)現(xiàn)金消費的模式,而目前的手機近程支付幾乎都涉及到對用戶手機終端的改造,例如通過更換手機終端或手機終端內的SIM卡,或者在SIM卡上增加天線或者芯片等手段進行改造,對手機終端進行這樣的改造,用戶通常難以接受。二維碼因其信息量大、糾錯能力強、識別速度快等優(yōu)點而受到人們的關注,已有大型商家或者機構將其自身生成的二維碼圖片以彩信或紙質的形式發(fā)送給客戶,客戶從而可以憑該二維碼圖片到所述商家或機構指定的二維碼POS機終端交換商品或服務,上述應用方式將二維碼圖片以彩信或紙質的形式發(fā)放,存在被拍照、復印等盜用的風險,安全性比較差,而且上述二維碼圖片僅能夠在所述商家或機構指定的二維碼POS機終端進行交換,而一般所述指定交換的商家進入門檻較高,很多小商戶無法達到進入要求,因而上述基于二維碼的消費應用方式局限性比較大。
發(fā)明內容
本發(fā)明提供了一種基于二維碼的手機銀行支付方法、系統(tǒng)和手機銀行客戶端,在不改造用戶手機終端的基礎上,銀行服務器根據(jù)用戶提交的交易信息生成消費卡序列標識并將其發(fā)送至手機銀行客戶端,用戶可根據(jù)所述消費卡序列標識在手機銀行客戶端上實時生成二維碼消費卡,并且本發(fā)明提供的可以充當消費卡讀取設備的手機銀行客戶端在讀取二維碼消費卡時通過計算所讀取的二維碼消費卡在正方形取景框內的填充率來鑒別所讀取的二維碼消費卡是否為被盜用的消費卡,有效地降低了二維碼消費卡被盜用的風險,而且通過本發(fā)明提供的手機銀行客戶端在開通手機銀行和具有攝像功能的手機終端后,不但可以通過二維碼消費卡進行刷卡消費,而且可以充當消費卡讀取設備接收他人的二維碼消費卡刷卡消費,豐富了手機近程支付的應用方式。根據(jù)本發(fā)明的第一方面,提供一種基于二維碼的手機銀行支付系統(tǒng),所述系統(tǒng)包括手機銀行客戶端、銀行服務器和消費卡讀取設備,其中,銀行服務器,用于接收手機銀行客戶端發(fā)送的交易信息,根據(jù)該交易信息生成消費卡序列號,將該消費卡序列號及對應的交易信息存入數(shù)據(jù)庫的消費卡信息表,將所述消費卡序列號進行加密處理生成消費卡序列標識,并將所述消費卡序列標識發(fā)送至所述手機銀行客戶端;所述手機銀行客戶端,用于接收所述銀行服務器發(fā)送的所述消費卡序列標識,將所述消費卡序列標識進行加密得到序列簽名信息,并根據(jù)所述消費卡序列標識和序列簽名信息生成二維碼消費卡;所述消費卡讀取設備,用于在預設的正方形取景框內讀取所述二維碼消費卡,判斷所讀取的二維碼消費卡在所述正方形取景框內的填充率是否大于或等于預設的閾值,若是,則解析所讀取的二維碼消費卡得到所述消費卡序列標識和序列簽名信息,將得到的所述消費卡序列標識和序列簽名信息以及用戶輸入的支付金額發(fā)送至所述銀行服務器以根據(jù)所述消費卡序列標識、消費卡信息表和支付金額進行支付操作。根據(jù)本發(fā)明第二方面,提供一種采用上述系統(tǒng)進行基于二維碼的手機銀行支付方法,所述方法包括手機銀行客戶端獲取用戶輸入的交易信息,并將該交易信息發(fā)送至銀行服務器以申請消費卡序列標識;所述銀行服務器根據(jù)所述交易信息生成消費卡序列號,將該消費卡序列號及對應的交易信息存入數(shù)據(jù)庫的消費卡信息表,將所述消費卡序列號進行加密處理生成消費卡序列標識,并將所述消費卡序列標識發(fā)送至所述手機銀行客戶端;所述手機銀行客戶端接收所述銀行服務器發(fā)送的所述消費卡序列標識,將所述消費卡序列標識進行加密得到序列簽名信息,并根據(jù)所述消費卡序列標識和序列簽名信息生成二維碼消費卡;在用戶需要支付時,消費卡讀取設備在預設的正方形取景框內讀取所述二維碼消費卡,判斷所讀取的二維碼消費卡在所述正方形取景框內的填充率是否大于或等于預設的閾值,若是,則解析所讀取的二維碼消費卡得到所述消費卡序列標識和序列簽名信息,將得到的所述消費卡序列標識和序列簽名信息以及用戶輸入的支付金額發(fā)送至所述銀行服務器以根據(jù)所述消費卡序列標識、消費卡信息表和支付金額進行支付操作。根據(jù)本發(fā)明第三方面,提供一種基于二維碼的手機銀行客戶端,所述手機銀行客戶端包括消費卡讀取模塊,用于實現(xiàn)如下功能;在預設的正方形取景框內讀取二維碼消費卡,判斷所讀取的二維碼消費卡在所述正方形取景框內的填充率是否大于或等于預設的閾值,若是,則解析所讀取的二維碼消費卡得到消費卡序列標識和序列簽名信息,其中所述消費卡序列標識包括銀行識別號、密鑰版本號以及采用該密鑰版本號對應的加密算法處理過的消費卡序列號和時間戳,將得到的所述消費卡序列標識和序列簽名信息以及用戶輸入的支付金額發(fā)送至該消費卡序列標識中的銀行識別號對應的銀行服務器以根據(jù)所述消費卡序列標識、消費卡信息表和支付金額進行支付操作。通過實施本發(fā)明提供的基于二維碼的手機銀行支付方法、系統(tǒng)以及手機銀行客戶端,在不改造用戶手機終端的基礎上,可以在安裝有本發(fā)明提供的手機銀行客戶端的用戶手機終端內實時生成二維碼消費卡,并且在消費卡讀取過程中通過計算所讀取的二維碼消費卡在預設的正方形取景框內的填充率來鑒別所讀取的二維碼消費卡是否為被盜用的消費卡,有效地提高了基于二維碼的手機近程支付的安全性,而且本發(fā)明提供的手機銀行客戶端在具有攝像功能和開通手機銀行的條件下就可以實現(xiàn)既能夠進行通過二維碼消費卡刷卡消費的付款操作,又能夠進行接收他人通過二維碼消費卡刷卡消費的收款操作,豐富了手機近程支付的應用方式。
圖1是根據(jù)本發(fā)明實施方式的基于二維碼的手機銀行支付系統(tǒng)的結構示意圖。圖2是根據(jù)本發(fā)明實施方式的手機銀行客戶端的第一結構示意圖。圖3是根據(jù)本發(fā)明實施方式的銀行服務器的第一結構示意圖。圖4是根據(jù)本發(fā)明實施方式的銀行服務器的第二結構示意圖。圖5是根據(jù)本發(fā)明實施方式的消費卡讀取設備的第一結構示意圖。圖6是根據(jù)本發(fā)明實施方式的消費卡讀取設備的第二結構示意圖。圖7是根據(jù)本發(fā)明實施方式的手機銀行客戶端的第二結構示意圖。圖8是根據(jù)本發(fā)明實施方式的手機銀行客戶端的第三結構示意圖。圖9是根據(jù)本發(fā)明實施方式的基于二維碼的手機銀行支付方法的流程示意圖。
具體實施例方式為使本發(fā)明的實施方式的目的、技術方案和優(yōu)點更加清楚,下面將結合附圖對本發(fā)明作進一步地詳細描述。參見圖1,圖1是根據(jù)本發(fā)明實施方式的基于二維碼的手機銀行支付系統(tǒng)的結構示意圖,所述基于二維碼的手機銀行支付系統(tǒng)包括手機銀行客戶端100、銀行服務器200和消費卡讀取設備300,其中,銀行服務器200,用于接收手機銀行客戶端100發(fā)送的交易信息,根據(jù)該交易信息生成消費卡序列號,將該消費卡序列號及對應的交易信息存入數(shù)據(jù)庫的消費卡信息表,將所述消費卡序列號進行加密處理生成消費卡序列標識,并將所述消費卡序列標識發(fā)送至所述手機銀行客戶端;所述手機銀行客戶端100,用于接收所述銀行服務器發(fā)送的所述消費卡序列標識, 將所述消費卡序列標識進行加密得到序列簽名信息,并根據(jù)所述消費卡序列標識和序列簽名信息生成二維碼消費卡;所述消費卡讀取設備300,用于在預設的正方形取景框內讀取所述二維碼消費卡, 判斷所讀取的二維碼消費卡在所述正方形取景框內的填充率是否大于或等于預設的閾值, 若是,則解析所讀取的二維碼消費卡得到所述消費卡序列標識和序列簽名信息,將得到的所述消費卡序列標識和序列簽名信息以及用戶輸入的支付金額發(fā)送至所述銀行服務器200 以根據(jù)所述消費卡序列標識、消費卡信息表和支付金額進行支付操作。在本發(fā)明的實施方式中,手機銀行客戶端100為可以在用戶手機終端上運行的軟件,其使用 J2ME(Java platform,Micro Edition) ,OBJECTIVE C、C等語言編寫,可以運行于塞班、iphone、andriod、windows mobile 等平臺,采用 C/S (Client/Server,客戶端 / 服務器)模式通過無線互聯(lián)網(wǎng)與銀行服務器200進行通訊。手機銀行客戶端在發(fā)送交易信息到銀行服務器之前,需要登錄手機銀行,具體為,通過超文本傳輸協(xié)議(Hyper Text Transfer Protocol,HTTP)訪問移動運營商取手機號服務器,移動運營商通過無線通訊協(xié)議獲取用戶手機號,并根據(jù)銀行證書公鑰將該手機號加密后返回至所述手機銀行客戶端,該手機銀行客戶端通過HTTP通訊,利用所述加密手機號和用戶輸入的登錄密碼等信息登錄手機銀行。銀行服務器接收所述加密手機號和用戶輸入的登錄密碼,并根據(jù)銀行證書私鑰對所述加密手機號進行解密,并查詢客戶簽約數(shù)據(jù)驗證所述解密得到手機號和登錄密碼的合法性,如果驗證為合法,則可以進行登錄,否則,無法進行登錄。在本發(fā)明的其他一些實施方式中,在登錄手機銀行后,可以在手機銀行客戶端上為二維碼消費卡選擇消費模式,可選擇的消費模式包括單次消費、多次重復消費和限制消費總額的多次消費等。在本發(fā)明的實施方式中,手機銀行客戶端100發(fā)送至銀行服務器200的交易信息包括銀行賬號、消費卡金額和消費卡有效期。其中,銀行賬號為該手機銀行客戶端100已經(jīng)簽約的銀行賬號,即當消費卡消費時,從該已簽約的銀行賬號中劃取消費的款額,消費卡金額可根據(jù)用戶需要任意設定,消費卡的有效期可以以分鐘為單位,還可以根據(jù)應用需要進行其他的設定。在本發(fā)明的另外一些實施方式中,交易信息還包括消費卡的消費密碼,以便刷消費卡消費時輸入驗證。參見圖2,圖2是根據(jù)本發(fā)明實施方式的手機銀行客戶端的第一結構示意圖,手機銀行客戶端100具體包括交易信息處理模塊101,用于獲取用戶輸入的交易信息,將該交易信息進行加密得到交易簽名信息,并將該交易信息和交易簽名信息發(fā)送至所述銀行服務器200 ;消費卡生成模塊102,用于接收并保存所述銀行服務器200發(fā)送的所述消費卡序列標識,對該消費卡序列標識進行加密得到序列簽名信息,并根據(jù)所述消費卡序列標識和所述序列簽名信息生成二維碼消費卡。在本發(fā)明的實施方式中,交易信息處理模塊101對用戶輸入的交易信息可以進行加密處理,加密所采用的算法包括RSA算法和RC4算法。具體地,將接收到的用戶輸入的交易信息采用RC4算法進行摘要,并對所得到的摘要根據(jù)該手機銀行客戶端的用戶私鑰采用 RSA算法進行加密生成所述交易信息的交易簽名信息,然后將所述交易信息及生成的交易簽名信息一起發(fā)送至銀行服務器200以申請消費卡序列標識。消費卡生成模塊102在接收到銀行服務器200發(fā)送的消費卡序列標識后,將消費卡序列標識進行加密以得到序列簽名信息,加密所采用的算法包括RSA算法和RC4算法。具體地,對所述消費卡序列標識采用RC4算法進行摘要,并對所得到的摘要采用RSA算法進行加密以生成序列簽名信息。需要說明的是,本領域的技術人員可根據(jù)應用需要采用其他的加密算法進行加密,加密所采用的算法并不限于本發(fā)明實施方式中所采用的加密算法。本發(fā)明實施方式中,在得到所述消費卡序列標識的序列簽名信息后,消費卡生成模塊102根據(jù)消費卡序列標識和序列簽名信息采用QR-Code (IS0/IEC18004)標準實時生成二維碼圖像,即二維碼消費卡。本發(fā)明的實施方式通過在手機銀行客戶端上根據(jù)消費卡序列標識及對應的序列簽名信息實時生成二維碼消費卡,而不是被動接收已經(jīng)生成的二維碼圖像,有效地降低了二維碼消費卡被偷拍、復制等盜用的風險,提高了支付的安全性。需要說明的是,在本發(fā)明的其他一些實施方式中,在接收到所述消費卡序列標識之后可以將該消費卡序列標識保存在手機終端中,在需要進行刷卡消費時,再調出所述消費卡序列標識實時生成二維碼消費卡進行消費。參見圖3,圖3是根據(jù)本發(fā)明實施方式的銀行服務器的第一結構示意圖,銀行服務器200可包括
校驗模塊201,用于接收所述手機銀行客戶端100發(fā)送的交易信息和交易簽名信息,并根據(jù)所述交易簽名信息校驗所述交易信息;消費卡序列號生成模塊202,用于根據(jù)校驗模塊校驗通過的交易信息生成消費卡序列號,并將所述消費卡序列號及對應的交易信息存入數(shù)據(jù)庫的消費卡信息表;消費卡序列號加密模塊203,用于將所述銀行服務器所在銀行的銀行識別號、密鑰版本號以及采用該密鑰版本號對應的加密算法處理過的所述消費卡序列號和時間戳組合為消費卡序列標識;消費卡序列標識發(fā)送模塊204,用于將所述消費卡序列標識發(fā)送至所述手機銀行客戶端100 ;消費卡支付模塊205,用于接收所述消費卡讀取設備發(fā)送的所述消費卡序列標識和序列簽名信息以及支付金額,根據(jù)所述序列簽名信息校驗所述消費卡序列標識,對校驗通過的消費卡序列標識進行解密得到所述消費卡序列號和時間戳,并根據(jù)所述消費卡序列號、消費卡信息表和支付金額進行支付。本發(fā)明實施方式中,校驗模塊201在接收到手機銀行客戶端100發(fā)送的交易信息和交易簽名信息之后,根據(jù)交易簽名信息校驗交易信息,具體地,將采用RSA算法根據(jù)用戶公鑰解密交易簽名信息所得到的解密數(shù)據(jù)與采用RC4算法對交易信息進行摘要所得到的摘要數(shù)據(jù)進行比較,如果數(shù)據(jù)相同,則證明數(shù)據(jù)正常,校驗通過,可根據(jù)該交易信息進行消費卡序列號的生成操作,如果數(shù)據(jù)不同,則證明數(shù)據(jù)異常,校驗失敗,向所述手機銀行客戶端返回校驗錯誤的提示信息。在本發(fā)明的實施方式中,消費卡序列號生成模塊202根據(jù)校驗模塊校驗通過的交易信息生成消費卡序列號,用于標識消費卡的順序,例如可以是序列號“1234567890134”, 可以按照用戶提交交易信息的順序依次取值。在生成消費卡序列號后,消費卡序列號生成模塊202將生成的消費卡序列號以及對應的交易信息(例如銀行賬號、消費卡金額和消費卡有效期等)存入數(shù)據(jù)庫中的消費卡信息表,并可以在消費卡信息表中將該消費卡標記為未用。消費卡序列號加密模塊203將消費卡序列號生成模塊202生成的消費卡序列號進行加密處理,具體地,將本銀行服務器所在銀行的銀行識別號(諸如中國建設銀行的銀行識別號為0100、中國農(nóng)業(yè)銀行的銀行識別號為0200之類的銀行識別號)、密鑰版本號以及采用該密鑰版本號對應的加密算法處理過的消費卡序列號和時間戳組合為消費卡序列標識,其中所述密鑰版本可以是3DES(Triple Data Encryption Standard)密鑰版本,通訊雙方可以自行約定密鑰的版本號。例如,可以是2位的密鑰版本號,每個密鑰版本號對應一版密鑰,每版密鑰對應一個新的密鑰,每個密鑰都有一定的破解時間,也就是說是有一定有效期的,可以通過定期更換密鑰,確保在密鑰的破解時間期限內放棄使用該密鑰,用來提高消費卡序列標識傳輸?shù)陌踩?。需要說明的是,每個密鑰都是有一定的有效期,該有效期的期限在密鑰的破解時間內,例如密鑰版本號為02的3DES密鑰版本的有效期為2011年3月15 日到2011年3月30日,在消費卡有效期的設置中,優(yōu)選地,將消費卡的有效期設置為小于密鑰版本的有效期。時間戳為消費卡序列標識生成時的時間構成的時間戳,可以以毫秒為單位,將消費卡序列號和時間戳放在一起組成采用上述密鑰版本號對應的加密算法進行加密的數(shù)據(jù)。以3DES密鑰版本為例,銀行識別號+密鑰版本號+3DES(消費卡序列號+時間戳)組合為標識二維碼消費卡的消費卡序列標識。例如,中國建設銀行銀行識別號為0100, 密鑰版本號02,消費卡序列號1234567890134,時間戳34235324624 (該時間戳為long型, 是將消費卡序列標識生成時的時間轉化成的字符串),則序列號為1234567890134的消費卡序列標識為0100+02+3DES (123456789013434235324624),其中加密是采用密鑰版本號為 02的3DES加密算法。消費卡序列標識發(fā)送模塊204將所述消費卡序列號加密模塊203得到的消費卡序列標識發(fā)送至發(fā)送消費卡交易信息的手機銀行客戶端100。消費卡支付模塊205接收所述消費卡讀取設備300發(fā)送的所述消費卡序列標識和序列簽名信息以及支付金額,根據(jù)所述序列簽名信息校驗所述消費卡序列標識,對校驗通過的消費卡序列標識進行解密得到所述消費卡序列號和時間戳,根據(jù)所述消費卡序列號、 所述消費卡信息表和支付金額進行支付。消費卡支付模塊205接收到消費卡序列標識及其對應的序列簽名信息后,采用服務器公鑰對所述簽名信息進行解密,同時對接收到的消費卡序列標識采用RC4算法進行摘要,然后對簽名信息解密得到的數(shù)據(jù)和消費卡序列標識摘要得到的數(shù)據(jù)進行比較,如果數(shù)據(jù)相同,則證明數(shù)據(jù)正常,校驗通過,如果不相同,則證明數(shù)據(jù)異常,校驗失敗,返回錯誤提示信息。如果消費卡序列標識通過校驗,則對校驗通過的消費卡序列標識進行3DES解密得到消費卡序列號和時間戳,然后根據(jù)解密得到的消費卡序列號以及銀行服務器中的消費卡信息表和輸入的支付金額進行支付。具體地,在本發(fā)明的實施方式中消費卡支付模塊205可以包括信息表讀取子模塊2051,用于根據(jù)所述消費卡序列號從數(shù)據(jù)庫的消費卡信息表中讀取該消費卡序列號對應的消費卡信息;第一判斷子模塊2052,用于根據(jù)信息表讀取子模塊讀取的消費卡信息中的消費卡有效期和解密得到的時間戳來判斷所述消費卡是否在有效期,若是,則啟動支付處理子模塊;支付處理子模塊2053,用于按照所述支付金額進行支付操作。本發(fā)明實施方式中,信息表讀取子模塊2051根據(jù)解密得到的消費卡序列號從數(shù)據(jù)庫中的消費卡信息表中讀取該消費卡序列號對應的消費卡信息,其中消費卡信息包括銀行賬號、消費卡金額和消費卡有效期,可選地,還可以包括標記為“未用”的使用狀態(tài)。第一判斷子模塊2052根據(jù)信息表讀取子模塊2051讀取的消費卡信息中的消費卡有效期、解密得到的時間戳以及獲取的銀行服務器目前的時間來判斷所述消費卡是否在有效期,如果是在有效期,則啟動支付處理子模塊2053。例如消費卡的有效期為120分鐘、解密得到的時間戳為08:00:00,而獲取的銀行服務器的目前的時間為08:55:00,銀行服務器目前的時間與時間戳之間的時間差為55分鐘,在消費卡的有效期120分鐘之內,則可以判斷為消費卡在有效期之內,可以啟動支付處理子模塊2053進行支付處理。支付處理子模塊2053在按照所述支付金額進行支付操作后,會將所述消費卡信息表中該消費卡序列號對應的消費卡標記為已用。在本發(fā)明的其他一些實施方式中,在信息表讀取子模塊2051讀取消費卡信息之后,還可包括判斷所述消費卡是否為未用或是否已用的步驟。在本發(fā)明的實施方式中,所述支付處理子模塊2053具體可包括判斷單元,用于根據(jù)信息表讀取子模塊讀取的消費卡信息中的消費卡金額判斷所述消費卡金額是否大于或等于所述支付金額,若是,則啟動支付單元;支付單元,用于按照所述支付金額進行支付。判斷單元通過將消費卡信息中的消費卡金額和接收到的通過消費卡讀取設備輸入的支付金額進行比較,判斷所述消費卡金額是否大于或等于所述支付金額,如果是,則啟動支付單元進行支付處理,如果不是,則向消費卡讀取設備返回消費卡金額不足提示信息。 支付單元根據(jù)判斷判斷的判斷結果完成支付操作,并將支付成功的結果通知發(fā)起支付請求的消費卡讀取設備300以便使用該消費卡讀取設備的商戶得知所述支付成功的結果。本發(fā)明實施方式的銀行服務器中,消費卡支付模塊205還可以包括第二判斷子模塊2054,在接收到消費卡讀取設備發(fā)送的消費卡序列標識和序列簽名信息以及用戶輸入的支付金額之后,根據(jù)所述序列簽名信息校驗所述消費卡序列標識之前,用于根據(jù)所述消費卡序列標識中的密鑰版本號選擇該密鑰版本號對應的密鑰版本,并根據(jù)所述對應的密鑰版本和所述銀行服務器當前的時間判斷所述對應的密鑰版本是否過期,若是,則確定所述二維碼消費卡無效,若否,則執(zhí)行根據(jù)所述序列簽名信息校驗所述消費卡序列標識步驟。本發(fā)明的實施方式中,第二判斷子模塊2054根據(jù)接收到的消費卡序列標識中的密鑰版本號選擇對應該版本號對應的密鑰版本,并根據(jù)所選擇的對應的密鑰版本的有效期和銀行服務器當前的時間判斷所述密鑰版本是否過期,若是,則確定所述消費卡序列標識對應的二維碼消費卡是無效的消費卡,拒絕接收該消費卡進行支付,并將拒絕支付的信息返回至發(fā)送所述消費卡序列標識的消費卡讀取設備,若否,則執(zhí)行根據(jù)所述序列簽名信息校驗所述消費卡序列標識的步驟。例如,消費卡序列標識中的密鑰版本為02,第二判斷模塊2054將從數(shù)據(jù)庫中選擇密鑰版本號為02的密鑰版本,該密鑰版本的有效期為2011年3 月15日到2011年3月30日,如果銀行服務器當前的時間為2011年3月20日,并未超過其有效期,未過期,則確定該消費卡序列標識對應的二維碼消費卡為有效,開始執(zhí)行根據(jù)所述序列簽名信息校驗所述消費卡序列標識的步驟,如果銀行服務器當前的時間為2011年4 月1日,超過其有效期,已經(jīng)過期,則確定所述消費卡序列標識對應的二維碼消費卡是無效的消費卡,拒絕接收該消費卡進行支付。參見圖4,圖4是根據(jù)本發(fā)明實施方式的銀行服務器的第二結構示意圖,所述銀行服務器200除了包括圖3所示的模塊和單元外,還可包括賬號鎖定模塊206,用于根據(jù)所述交易信息對該交易信息中指定銀行賬號中消費卡金額等額的資金進行鎖定,并在所述消費卡有效期屆滿時解除所述鎖定。賬號鎖定模塊206根據(jù)所述手機銀行客戶端100發(fā)送的交易信息對所述交易信息中指定銀行賬號中消費卡金額等額資金進行鎖定,在所述消費卡的有效期屆滿時,解除對所述銀行賬號中消費卡等額資金的鎖定。參見圖5,圖5是根據(jù)本發(fā)明實施方式的消費卡讀取設備的第一結構示意圖,所述消費卡讀取設備300包括二維碼讀取模塊301,用于在預設的正方形取景框內讀取所述二維碼消費卡;第一判斷模塊302,用于判斷二維碼讀取模塊所讀取的二維碼消費卡在所述正方形取景框內的填充率是否大于或等于預設的閾值,若是,則啟動解析模塊;解析模塊303,用于在第一判斷模塊判斷為是時,解析所述二維碼消費卡得到該消費卡的消費卡序列標識和序列簽名信息;
輸入模塊304,用于接收用戶輸入的支付金額;發(fā)送模塊305,用于將解析模塊得到的所述消費卡序列標識和序列簽名信息以及輸入模塊接收的所述支付金額發(fā)送至所述銀行服務器。在本發(fā)明的實施方式中,二維碼讀取模塊301在預設的正方形取景框內讀取所述二維碼消費卡,在將讀取的二維碼消費卡解析之前,為鑒定所讀取的二維碼消費卡是否為被盜用的消費卡需要第一判斷模塊302進行填充率判斷,這是由于在消費卡被盜用的情形下,盜用者可能從遠處或側面偷拍等,這樣會導致盜用的二維碼消費卡存在變形,無法正確的顯示在正方形取景框內,通過第一判斷模塊302的填充率判斷處理可有效地排除盜用的二維碼消費卡,提高二維碼消費卡刷卡消費的安全性。需要說明的是,本發(fā)明實施方式中還可以通過對消費卡讀取設備的讀取參數(shù)進行設置,例如要求二維碼消費卡正對讀取設備的讀頭,偏移角度不得大于5度等來提高對二維碼消費卡的篩選率。第一判斷模塊302中的填充率是所讀取的二維碼消費卡在所述預設的正方形取景框內填充的比例,即所讀取的二維碼消費卡圖像的面積/所述預設的正方形取景框的面積的比值,預設的填充閾值可以由本領域技術人員根據(jù)應用需要進行設置。如果填充率大于或等于預設的閾值,則可以啟動解析模塊進行解析處理,如果填充率小于預設的閾值, 則所讀取的二維碼消費卡可能是被盜用的消費卡,可以拒絕接受該消費卡進行支付操作。 解析模塊303在第一判斷模塊302判斷為是時,解析所述二維碼消費卡得到該消費卡的消費卡序列標識和序列簽名信息,可以根據(jù)二維碼消費卡生成算法對應的解析算法得到消費卡序列標識和序列簽名信息,其中消費卡序列標識包括銀行識別號、密鑰版本號和加密處理過的消費卡序列號和時間戳。參見圖6,圖示了根據(jù)本發(fā)明實施方式的消費卡讀取設備的第二結構示意圖,發(fā)送模塊305可以包括服務器查找子模塊3051,用于根據(jù)所述消費卡序列標識中的銀行識別號查找該銀行識別號對應的銀行服務器。發(fā)送模塊305可根據(jù)消費卡序列標識中的銀行識別號查找該銀行識別號對應的銀行服務器,然后將所述消費卡序列號、序列簽名信息以及支付金額發(fā)送至查找到的銀行服務器進行支付操作,本發(fā)明實施方式中消費卡序列標識中的銀行識別號即存儲有該二維碼消費卡交易信息、為該二維碼消費卡生成二維碼消費卡序列標識的銀行服務器所在銀行的識別號。進一步地,本發(fā)明的消費卡讀取設備300還可包括第一簽到模塊306,用于在讀取消費卡信息之前,發(fā)送該消費卡讀取設備的標識信息到銀行服務器進行簽到。在本發(fā)明的實施方式中,第一簽到模塊306在消費卡讀取設備讀取消費卡信息之前,發(fā)送該消費卡讀取設備的標識信息,例如該消費卡讀取設備的序列號、柜員號或密碼等到銀行服務器進行簽到,從而保證消費卡讀取設備的合法性。參見圖7,圖7是根據(jù)本發(fā)明實施方式的手機銀行客戶端的第二結構示意圖,所述手機銀行客戶端100可包括消費卡讀取模塊103,用于實現(xiàn)如下功能在預設的正方形取景框內讀取二維碼消費卡,判斷所讀取的二維碼消費卡在所述正方形取景框內的填充率是否大于或等于預設的閾值,若是,則解析所讀取的二維碼消費卡得到消費卡序列標識和序列簽名信息,其中所述消費卡序列標識包括銀行識別號、密鑰版本號以及采用該密鑰版本號對應的加密算法處理過的消費卡序列號和時間戳,將得到的所述消費卡序列標識和序列簽名信息以及用戶輸入的支付金額發(fā)送至該消費卡序列標識中的銀行識別號對應的銀行服務器以根據(jù)所述消費卡序列標識、消費卡信息表和支付金額進行支付操作。本發(fā)明的手機銀行客戶端可以包括消費卡讀取模塊103,在用戶手機終端具有相應攝像功能的條件下,可以作為消費卡讀取設備接收他人通過二維碼消費卡的刷卡消費。本發(fā)明實施方式的手機銀行客戶端100可以通過該手機銀行客戶端所在的手機終端的攝像設備預設的正方形取景框內讀取二維碼消費卡,并判斷所讀取的二維碼消費卡在正方形取景框內的填充率是否大于或等于預設的閾值,若是,則解析所讀取的二維碼消費卡得到消費卡序列標識和序列簽名信息,其中所述消費卡序列標識包括銀行識別號、密鑰版本號以及采用該密鑰版本號對應的加密算法處理過的消費卡序列號和時間戳,然后將得到的所述消費卡序列標識和序列簽名信息以及用戶輸入的支付金額發(fā)送至該消費卡序列標識中的銀行識別號對應的銀行服務器以根據(jù)所述消費卡序列標識、消費卡信息表和支付金額進行支付操作,其中銀行識別號對應的銀行服務器為生成二維碼消費卡序列標識、 存有二維碼消費卡交易信息的銀行服務器。本發(fā)明提供的手機銀行客戶端使得用戶無需安裝銀行專用的消費卡讀取設備 (例如POS設備),不僅節(jié)省了安裝的費用,而且可以讓小商店業(yè)主僅需開通手機銀行即可參與電子商務,豐富了手機近程支付的應用范圍。參見圖8,圖8是根據(jù)本發(fā)明實施方式的手機銀行客戶端的第三結構示意圖,所述手機銀行客戶端100除了包括圖7所示的模塊外,還可包括交易信息處理模塊101、消費卡生成模塊102和第二簽到模塊104,其中,交易信息處理模塊101,用于獲取用戶輸入的交易信息,將該交易信息進行加密得到交易簽名信息,并將該交易信息和交易簽名信息發(fā)送至銀行服務器;消費卡生成模塊102,用于接收并保存所述銀行服務器發(fā)送的所述消費卡序列標識,對該消費卡序列標識進行加密得到序列簽名信息,并根據(jù)所述消費卡序列標識和所述序列簽名信息生成二維碼消費卡;第二簽到模塊104,用于在讀取二維碼消費卡信息之前,發(fā)送該手機銀行客戶端的標識信息到銀行服務器進行簽到。本發(fā)明提供的手機銀行客戶端不僅可以包括消費卡讀取模塊103來實現(xiàn)接收他人二維碼消費卡刷卡消費的收款功能,而且可以包括交易信息處理模塊101和消費卡生成模塊102來實現(xiàn)自身二維碼消費卡刷卡消費的付款功能,豐富了手機近程支付的應用方式。在本發(fā)明的實施方式中,第二簽到模塊104在手機銀行客戶端100讀取消費卡信息之前,發(fā)送該手機銀行客戶端的標識信息,例如該手機銀行客戶端的序列號、柜員號、密碼等信息到銀行服務器進行簽到以保證該手機銀行客戶端的合法性。上面結合附圖和實施方式闡述了本發(fā)明的基于二維碼的手機銀行支付系統(tǒng)和基于二維碼的手機銀行客戶端,下面將結合附圖和實施方式對采用具有上述功能結構的手機銀行支付系統(tǒng)和手機銀行客戶端的基于二維碼的手機銀行支付方法進行說明。參見圖9,圖9是根據(jù)本發(fā)明實施方式的基于二維碼的手機銀行支付方法的流程示意圖,所述基于二維碼的手機銀行支付方法包括以下步驟S901,手機銀行客戶端獲取用戶輸入的交易信息,并將該交易信息發(fā)送至銀行服務器以申請消費卡序列標識;S902,所述銀行服務器根據(jù)所述交易信息生成消費卡序列號,將該消費卡序列號及對應的交易信息存入數(shù)據(jù)庫的消費卡信息表,將所述消費卡序列號進行加密處理生成消費卡序列標識,并將所述消費卡序列標識發(fā)送至所述手機銀行客戶端;S903,所述手機銀行客戶端接收所述銀行服務器發(fā)送的所述消費卡序列標識,將所述消費卡序列標識進行加密得到序列簽名信息,并根據(jù)所述消費卡序列標識和序列簽名信息生成二維碼消費卡;S904,在用戶需要支付時,消費卡讀取設備在預設的正方形取景框內讀取所述二維碼消費卡,判斷所讀取的二維碼消費卡在所述正方形取景框內的填充率是否大于或等于預設的閾值,若是,則解析所讀取的二維碼消費卡得到所述消費卡序列標識和序列簽名信息,將得到的所述消費卡序列標識和序列簽名信息以及用戶輸入的支付金額發(fā)送至所述銀行服務器以根據(jù)所述消費卡序列標識、消費卡信息表和支付金額進行支付操作。在此需要說明的是,本發(fā)明實施方式中所述消費卡讀取設備可以采用專用的二維碼消費卡讀取設備,也可以采用本發(fā)明實施方式中如圖7或如圖8所示的安裝具有二維碼消費卡讀取功能的手機銀行客戶端的手機終端,采用二維碼消費卡讀取設備或手機終端進行二維碼消費卡讀取的過程是類似的,在方法實施方式的描述中,將專用的二維碼消費卡讀取設備和安裝有具有二維碼消費卡讀取功能的手機銀行客戶端的手機終端統(tǒng)一描述為消費卡讀取設備。在本發(fā)明的實施方式中,手機銀行客戶端在發(fā)送交易信息到銀行服務器之前,需要登錄手機銀行,其中所述交易信息銀行賬號、消費卡金額和消費卡有效期。所述手機銀行客戶端獲取用戶輸入的交易信息之后,將該交易信息發(fā)送至銀行服務器之前還包括所述手機銀行客戶端將所述交易信息進行加密得到交易簽名信息的步驟,所述加密采用的算法包括RSA算法和RC4算法。具體地,將所述交易信息采用RC4算法進行摘要,并對所得到的摘要根據(jù)該手機銀行客戶端的用戶私鑰采用RSA算法進行加密生成所述交易信息的交易簽名信息,然后將所述交易信息及生成的交易簽名信息一起發(fā)送至銀行服務器以申請消費卡序列標識。在本發(fā)明的實施方式中,S902中銀行服務器根據(jù)所述交易信息生成消費卡序列號的步驟包括所述銀行服務器接收所述手機銀行客戶端發(fā)送的交易信息和交易簽名信息,根據(jù)所述交易簽名信息校驗所述交易信息,并根據(jù)校驗通過的交易信息生成消費卡序列號。其中,根據(jù)所述交易簽名信息校驗所述交易信息的步驟包括,將采用RSA算法根據(jù)用戶公鑰解密所述交易簽名信息所得到的解密數(shù)據(jù)與采用RC4算法對所述交易信息進行摘要所得到的摘要數(shù)據(jù)進行比較,如果數(shù)據(jù)相同,則證明數(shù)據(jù)正常,校驗通過,可根據(jù)該交易信息進行消費卡序列號的生成操作,如果數(shù)據(jù)不同,則證明數(shù)據(jù)異常,校驗失敗,向所述手機銀行客戶端返回校驗錯誤的提示信息。在校驗通過后,根據(jù)校驗通過的交易信息生成消費卡序列號。在本發(fā)明的實施方式中,在將所述消費卡序列號及對應的交易信息存入數(shù)據(jù)庫中的消費卡信息表之后,可以將消費卡信息表中該消費卡標記為未用。在將消費卡序列號及對應的交易信息存入數(shù)據(jù)庫中的消費卡信息表之后,本發(fā)明方法實施方式中還包括將本銀行服務器所在銀行的銀行識別號、密鑰版本號以及采用該密鑰版本號對應的加密算法處理過的所述消費卡序列號和時間戳組合為消費卡序列標識,其中所述密鑰版本可以是3DES 密鑰版本,通訊雙方可以自行約定密鑰的版本號。例如,可以是2位的密鑰版本號,并且可以通過定期更換密鑰,確保在密鑰的破解時間期間內放棄使用該密鑰,用來提高消費卡序列標識傳輸?shù)陌踩?。時間戳為消費卡序列標識生成時的時間構成的時間戳,可以以毫秒為單位,將消費卡序列號和時間戳放在一起組成采用上述密鑰版本號對應的加密算法進行加密的數(shù)據(jù)。以3DES密鑰版本為例,銀行識別號+密鑰版本號+3DES(消費卡序列號+時間戳)組合為標識二維碼消費卡的消費卡序列標識。在得到消費卡序列標識后,將該消費卡序列標識通過HTTP通訊協(xié)議返回至手機銀行客戶端。手機銀行客戶端在接收到銀行服務器發(fā)送的消費卡序列標識后,將消費卡序列標識進行加密以得到序列簽名信息,加密所采用的算法包括RSA算法和RC4算法。具體地,對所述消費卡序列標識采用RC4算法進行摘要,并對所得到的摘要采用RSA算法進行加密以生成序列簽名信息。需要說明的是,本領域的技術人員可根據(jù)應用需要采用其他的加密算法進行加密,加密所采用的算法并不限于本發(fā)明實施方式中所采用的加密算法。本發(fā)明實施方式中,在得到所述消費卡序列標識的序列簽名信息后,手機銀行客戶端根據(jù)消費卡序列標識和序列簽名信息采用QR-Code (IS0/IEC18004)標準實時生成二維碼圖像,即二維碼消費卡。本發(fā)明的實施方式通過在手機銀行客戶端上根據(jù)消費卡序列標識及對應的序列簽名信息實時生成二維碼消費卡,而不是被動接收已經(jīng)生成的二維碼圖像,有效地降低了二維碼消費卡被偷拍、復制等盜用的風險,提高了支付的安全性。本發(fā)明實施方式中,在用戶需要支付時,消費卡讀取設備在預設的正方形取景框內讀取所述二維碼消費卡,判斷所讀取的二維碼消費卡在所述正方形取景框內的填充率是否大于或等于預設的閾值,若是,則解析所讀取的二維碼消費卡得到所述消費卡序列標識和序列簽名信息,將得到的所述消費卡序列標識和序列簽名信息以及用戶輸入的支付金額發(fā)送至所述銀行服務器以根據(jù)所述消費卡序列標識、消費卡信息表和支付金額進行支付操作。消費卡讀取設備在預設的正方形取景框內讀取所述二維碼消費卡,在將讀取的二維碼消費卡解析之前,為鑒定所讀取的二維碼消費卡是否為被盜用的消費卡需要進行填充率判斷,這是由于在消費卡被盜用的情形下,盜用者可能從遠處或側面偷拍等,這樣會導致盜用的二維碼消費卡存在變形,無法正確的顯示在正方形取景框內,通過填充率判斷處理可有效地排除盜用的二維碼消費卡,提高二維碼消費卡刷卡消費的安全性。需要說明的是, 本發(fā)明實施方式中還可以通過對消費卡讀取設備的讀取參數(shù)進行設置,例如要求二維碼消費卡正對讀取設備的讀頭,偏移角度不得大于5度等來提高對二維碼消費卡的篩選率。本發(fā)明實施方式中填充率是所讀取的二維碼消費卡在所述正方形取景框內的填充比例,預設的填充閾值可以由本領域技術人員根據(jù)應用需要進行設置。如果填充率大于或等于預設的閾值,則可以進行解析處理,如果填充率小于預設的閾值,則所讀取的二維碼消費卡可能是被盜用的消費卡,可以拒絕接受該消費卡進行支付操作。在填充率判斷中判斷為是時,解析所讀取的二維碼消費卡得到該消費卡的消費卡序列標識和序列簽名信息, 可以根據(jù)二維碼消費卡生成算法對應的解析算法得到消費卡序列標識和序列簽名信息,其中消費卡序列標識包括銀行識別號、密鑰版本號和加密處理過的消費卡序列號和時間戳。本發(fā)明的方法實施方式中的消費卡讀取設備可以根據(jù)所述消費卡序列標識中的銀行識別號查找該銀行識別號對應的銀行服務器,然后將所述消費卡序列標識、序列簽名信息以及支付金額發(fā)送至查找到的銀行服務器進行支付操作,本發(fā)明實施方式中消費卡序列標識中的銀行識別號即存有該二維碼消費卡交易信息、為該二維碼消費卡生成二維碼消費卡序列標識的銀行服務器所在銀行的識別號。本發(fā)明的方法的實施方式中,為了保證消費卡讀取設備的合法性進行驗證,還可以包括在讀取消費卡信息之前,發(fā)送該消費卡讀取設備的標識信息到銀行服務器進行簽到。本發(fā)明的一些實施方式中,在將消費卡序列標識發(fā)送至銀行服務器后,銀行服務器可根據(jù)該消費卡序列標識中的密鑰版本號來對二維碼消費卡的有效性做進一步的判斷, 具體的判斷步驟可以包括根據(jù)所述消費卡序列標識中的密鑰版本號選擇該密鑰版本號對應的密鑰版本,并根據(jù)所述對應的密鑰版本和所述銀行服務器當前的時間判斷所述對應的密鑰版本是否過期,若是,則確定所述二維碼消費卡無效,若否,則執(zhí)行根據(jù)所述序列簽名信息校驗所述消費卡序列標識步驟。本發(fā)明實施方式中,銀行服務器在接收到消費卡序列標識及其序列簽名信息之后,執(zhí)行根據(jù)所述序列簽名信息校驗消費卡序列標識之前,可以根據(jù)接收到的消費卡序列標識中的密鑰版本號選擇對應該版本號對應的密鑰版本,并根據(jù)所選擇的對應的密鑰版本的有效期和銀行服務器當前的時間判斷所述密鑰版本是否過期,若是,則確定所述消費卡序列標識對應的二維碼消費卡是無效的消費卡,拒絕接收該消費卡進行支付,并將拒絕支付的信息返回至發(fā)送所述消費卡序列標識的消費卡讀取設備,若否,則執(zhí)行根據(jù)所述序列簽名信息校驗所述消費卡序列標識的步驟。本發(fā)明實施方式中,銀行服務器根據(jù)所述消費卡序列標識、消費卡信息表和支付金額進行支付操作的步驟包括接收所述消費卡讀取設備發(fā)送的所述消費卡序列標識和序列簽名信息以及用戶輸入的支付金額,并根據(jù)所述序列簽名信息校驗所述消費卡序列標識;對校驗通過的消費卡序列標識進行解密得到所述消費卡序列號和時間戳;根據(jù)所述消費卡序列號從數(shù)據(jù)庫的消費卡信息表中讀取該消費卡序列號對應的消費卡信息;根據(jù)所述讀取的消費卡信息中的消費卡有效期和解密得到的時間戳來判斷所述消費卡是否在有效期,若是,則按照所述支付金額進行支付操作。在本發(fā)明的實施方式中,如果所述消費卡在有效期內,所述按照支付金額進行支付操作的步驟還可包括根據(jù)所述讀取的消費卡信息中的消費卡金額判斷所述消費卡金額是否大于或等于所述支付金額,若是,則按照該支付金額進行支付。在本發(fā)明的實施方式中,在按照所述支付金額進行支付操作后,可將消費卡信息表中該消費卡標記為已用。進一步地,所述基于二維碼的手機銀行支付方法還可包括所述銀行服務器根據(jù)所述交易信息對該交易信息中指定銀行賬號中消費卡金額等額的資金進行鎖定,并在所述消費卡有效期屆滿時解除所述鎖定。綜上所述,本發(fā)明提供的一種基于二維碼的手機銀行支付系統(tǒng)、手機銀行客戶端和手機銀行支付方法,在不改造用戶手機終端的基礎上,銀行服務器根據(jù)用戶提交的交易信息生成消費卡序列標識并將其發(fā)送至手機銀行客戶端,用戶可根據(jù)所述消費卡序列標識在手機銀行客戶端上實時生成二維碼消費卡,并且本發(fā)明提供的可以充當消費卡讀取設備的手機銀行客戶端在讀取二維碼消費卡時通過計算所讀取的二維碼消費卡在預設的正方形取景框內的填充率來鑒別所讀取的二維碼消費卡是否為被盜用的消費卡,有效地降低了二維碼消費卡被盜用的風險,而且通過本發(fā)明提供的手機銀行客戶端在開通手機銀行和具有攝像功能的手機終端后,不但可以通過二維碼消費卡進行刷卡消費,而且可以充當消費卡讀取設備接收他人的二維碼消費卡刷卡消費,豐富了手機近程支付的應用方式。通過以上的實施方式的描述,本領域的技術人員可以清楚地了解到本發(fā)明可借助軟件結合硬件平臺的方式來實現(xiàn),當然也可以全部通過硬件來實施。基于這樣的理解,本發(fā)明的技術方案對背景技術做出貢獻的全部或者部分可以以軟件產(chǎn)品的形式體現(xiàn)出來,該計算機軟件產(chǎn)品可以存儲在存儲介質中,如ROM/RAM、磁碟、光盤等,包括若干指令用以使得一臺計算機設備(可以是個人計算機,服務器,或者網(wǎng)絡設備等)執(zhí)行本發(fā)明各個實施方式或者實施方式的某些部分所述的方法。以上所揭露的僅為本發(fā)明的一種較佳的實施方式而已,當然不能以此來限定本發(fā)明之權利范圍,因此依本發(fā)明權利要求所作的等同變化,仍屬本發(fā)明所涵蓋的范圍。
權利要求
1.一種基于二維碼的手機銀行支付系統(tǒng),其特征在于,所述系統(tǒng)包括手機銀行客戶端、 銀行服務器和消費卡讀取設備,其中,銀行服務器,用于接收手機銀行客戶端發(fā)送的交易信息,根據(jù)該交易信息生成消費卡序列號,將該消費卡序列號及對應的交易信息存入數(shù)據(jù)庫的消費卡信息表,將所述消費卡序列號進行加密處理生成消費卡序列標識,并將所述消費卡序列標識發(fā)送至所述手機銀行客戶端;所述手機銀行客戶端,用于接收所述銀行服務器發(fā)送的所述消費卡序列標識,將所述消費卡序列標識進行加密得到序列簽名信息,并根據(jù)所述消費卡序列標識和序列簽名信息生成二維碼消費卡;所述消費卡讀取設備,用于在預設的正方形取景框內讀取所述二維碼消費卡,判斷所讀取的二維碼消費卡在所述正方形取景框內的填充率是否大于或等于預設的閾值,若是, 則解析所讀取的二維碼消費卡得到所述消費卡序列標識和序列簽名信息,將得到的所述消費卡序列標識和序列簽名信息以及用戶輸入的支付金額發(fā)送至所述銀行服務器以根據(jù)所述消費卡序列標識、消費卡信息表和支付金額進行支付操作。
2.如權利要求1所述的系統(tǒng),其特征在于,所述交易信息包括銀行賬號、消費卡金額和消費卡有效期。
3.如權利要求2所述的系統(tǒng),其特征在于,所述手機銀行客戶端包括交易信息處理模塊,用于獲取用戶輸入的交易信息,將該交易信息進行加密得到交易簽名信息,并將該交易信息和交易簽名信息發(fā)送至所述銀行服務器;消費卡生成模塊,用于接收并保存所述銀行服務器發(fā)送的所述消費卡序列標識,對該消費卡序列標識進行加密得到序列簽名信息,并根據(jù)所述消費卡序列標識和所述序列簽名信息生成二維碼消費卡。
4.如權利要求3所述的系統(tǒng),其特征在于,所述銀行服務器包括校驗模塊,用于接收所述手機銀行客戶端發(fā)送的交易信息和交易簽名信息,并根據(jù)所述交易簽名信息校驗所述交易信息;消費卡序列號生成模塊,用于根據(jù)校驗模塊校驗通過的交易信息生成消費卡序列號, 并將所述消費卡序列號及對應的交易信息存入數(shù)據(jù)庫的消費卡信息表;消費卡序列號加密模塊,用于將所述銀行服務器所在銀行的銀行識別號、密鑰版本號以及采用該密鑰版本號對應的加密算法處理過的所述消費卡序列號和時間戳組合為消費卡序列標識;消費卡序列標識發(fā)送模塊,用于將所述消費卡序列標識發(fā)送至所述手機銀行客戶端;消費卡支付模塊,用于接收所述消費卡讀取設備發(fā)送的所述消費卡序列標識和序列簽名信息以及支付金額,根據(jù)所述序列簽名信息校驗所述消費卡序列標識,對校驗通過的消費卡序列標識進行解密得到所述消費卡序列號和時間戳,并根據(jù)所述消費卡序列號、消費卡信息表和支付金額進行支付。
5.如權利要求4所述的系統(tǒng),其特征在于,所述消費卡支付模塊包括信息表讀取子模塊,用于根據(jù)所述消費卡序列號從數(shù)據(jù)庫的消費卡信息表中讀取該消費卡序列號對應的消費卡信息;第一判斷子模塊,用于根據(jù)信息表讀取子模塊讀取的消費卡信息中的消費卡有效期和解密得到的時間戳來判斷所述消費卡是否在有效期,若是,則啟動支付處理子模塊;支付處理子模塊,用于按照所述支付金額進行支付操作。
6.如權利要求5所述的系統(tǒng),其特征在于,所述支付處理子模塊包括判斷單元,用于根據(jù)信息表讀取子模塊讀取的消費卡信息中的消費卡金額判斷所述消費卡金額是否大于或等于所述支付金額,若是,則啟動支付單元;支付單元,用于按照所述支付金額進行支付。
7.如權利要求4所述的系統(tǒng),其特征在于,所述消費卡支付模塊還包括第二判斷子模塊,用于根據(jù)所述消費卡讀取設備發(fā)送的所述消費卡序列標識中的密鑰版本號選擇該密鑰版本號對應的密鑰版本,并根據(jù)所述對應的密鑰版本和所述銀行服務器當前的時間判斷所述對應的密鑰版本是否過期,若是,則確定所述二維碼消費卡無效,若否,則執(zhí)行根據(jù)所述序列簽名信息校驗所述消費卡序列標識步驟。
8.如權利要求7所述的系統(tǒng),其特征在于,所述銀行服務器還包括賬號鎖定模塊,用于根據(jù)所述交易信息對該交易信息中指定銀行賬號中消費卡金額等額的資金進行鎖定,并在所述消費卡有效期屆滿時解除所述鎖定。
9.如權利要求8所述的系統(tǒng),其特征在于,所述加密采用的算法包括RSA算法和RC4算法。
10.如權利要求9所述的系統(tǒng),其特征在于,所述二維碼消費卡生成所采用的算法包括 QR碼編碼算法。
11.如權利要求10所述的系統(tǒng),其特征在于,所述消費卡讀取設備包括二維碼讀取模塊,用于在預設的正方形取景框內讀取所述二維碼消費卡;第一判斷模塊,用于判斷二維碼讀取模塊所讀取的二維碼消費卡在所述正方形取景框內的填充率是否大于或等于預設的閾值,若是,則啟動解析模塊;解析模塊,用于在第一判斷模塊判斷為是時,解析所述二維碼消費卡得到該消費卡的消費卡序列標識和序列簽名信息;輸入模塊,用于接收用戶輸入的支付金額;發(fā)送模塊,用于將解析模塊得到的所述消費卡序列標識和序列簽名信息以及輸入模塊接收的所述支付金額發(fā)送至所述銀行服務器。
12.如權利要求11所述的系統(tǒng),其特征在于,所述發(fā)送模塊包括服務器查找子模塊,用于根據(jù)所述消費卡序列標識中的銀行識別號查找該銀行識別號對應的銀行服務器。
13.如權利要求12所述的系統(tǒng),其特征在于,所述消費卡讀取設備還包括第一簽到模塊,用于在讀取消費卡信息之前,發(fā)送該消費卡讀取設備的標識信息到銀行服務器進行簽到。
14.一種基于二維碼的手機銀行支付方法,其特征在于,所述方法包括手機銀行客戶端獲取用戶輸入的交易信息,并將該交易信息發(fā)送至銀行服務器以申請消費卡序列標識;所述銀行服務器根據(jù)所述交易信息生成消費卡序列號,將該消費卡序列號及對應的交易信息存入數(shù)據(jù)庫的消費卡信息表,將所述消費卡序列號進行加密處理生成消費卡序列標識,并將所述消費卡序列標識發(fā)送至所述手機銀行客戶端;所述手機銀行客戶端接收所述銀行服務器發(fā)送的所述消費卡序列標識,將所述消費卡序列標識進行加密得到序列簽名信息,并根據(jù)所述消費卡序列標識和序列簽名信息生成二維碼消費卡;在用戶需要支付時,消費卡讀取設備在預設的正方形取景框內讀取所述二維碼消費卡,判斷所讀取的二維碼消費卡在所述正方形取景框內的填充率是否大于或等于預設的閾值,若是,則解析所讀取的二維碼消費卡得到所述消費卡序列標識和序列簽名信息,將得到的所述消費卡序列標識和序列簽名信息以及用戶輸入的支付金額發(fā)送至所述銀行服務器以根據(jù)所述消費卡序列標識、消費卡信息表和支付金額進行支付操作。
15.如權利要求14所述的方法,其特征在于,所述交易信息包括銀行賬號、消費卡金額和消費卡有效期。
16.如權利要求15所述的方法,其特征在于,所述手機銀行客戶端獲取用戶輸入的交易信息之后,所述方法還包括以下步驟所述手機銀行客戶端將所述交易信息進行加密得到交易簽名信息,并將所述交易信息和交易簽名信息發(fā)送至所述銀行服務器。
17.如權利要求16所述的方法,其特征在于,所述銀行服務器根據(jù)所述交易信息生成消費卡序列號的步驟包括所述銀行服務器接收所述手機銀行客戶端發(fā)送的交易信息和交易簽名信息,根據(jù)所述交易簽名信息校驗所述交易信息,并根據(jù)校驗通過的交易信息生成消費卡序列號。
18.如權利要求17所述的方法,其特征在于,所述將所述消費卡序列號進行加密處理生成消費卡序列標識的步驟包括將所述銀行服務器所在銀行的銀行識別號、密鑰版本號以及采用該密鑰版本號對應的加密算法處理過的所述消費卡序列號和時間戳組合為消費卡序列標識。
19.如權利要求18所述的方法,其特征在于,所述根據(jù)所述消費卡序列標識、消費卡信息表和支付金額進行支付操作的步驟包括接收所述消費卡讀取設備發(fā)送的所述消費卡序列標識和序列簽名信息以及用戶輸入的支付金額,并根據(jù)所述序列簽名信息校驗所述消費卡序列標識;對校驗通過的消費卡序列標識進行解密得到所述消費卡序列號和時間戳;根據(jù)所述消費卡序列號從數(shù)據(jù)庫的消費卡信息表中讀取該消費卡序列號對應的消費卡信息;根據(jù)所述讀取的消費卡信息中的消費卡有效期和解密得到的時間戳來判斷所述消費卡是否在有效期,若是,則按照所述支付金額進行支付操作。
20.如權利要求19所述的方法,其特征在于,若所述消費卡在有效期內,所述按照所述支付金額進行支付操作的步驟包括根據(jù)所述讀取的消費卡信息中的消費卡金額判斷所述消費卡金額是否大于或等于所述支付金額,若是,則按照該支付金額進行支付。
21.如權利要求19所述的方法,其特征在于,在接收所述消費卡讀取設備發(fā)送的所述消費卡序列標識和序列簽名信息以及用戶輸入的支付金額之后,根據(jù)所述序列簽名信息校驗所述消費卡序列標識之前,所述方法還包括根據(jù)所述消費卡序列標識中的密鑰版本號選擇該密鑰版本號對應的密鑰版本,并根據(jù)所述對應的密鑰版本和所述銀行服務器當前的時間判斷所述對應的密鑰版本是否過期,若是,則確定所述二維碼消費卡無效,若否,則執(zhí)行根據(jù)所述序列簽名信息校驗所述消費卡序列標識步驟。
22.如權利要求21所述的方法,其特征在于,所述方法還包括所述銀行服務器根據(jù)所述交易信息對該交易信息中指定銀行賬號中消費卡金額等額的資金進行鎖定,并在所述消費卡有效期屆滿時解除所述鎖定。
23.如權利要求22所述的方法,其特征在于,所述加密采用的算法包括RSA算法和RC4算法。
24.如權利要求23所述的方法,其特征在于,所述二維碼消費卡生成所采用的算法包括QR碼編碼算法。
25.如權利要求24所述方法,其特征在于,所述將得到的所述消費卡序列標識和序列簽名信息以及用戶輸入的支付金額發(fā)送至所述銀行服務器的步驟中包括根據(jù)所述消費卡序列標識中的銀行識別號查找該銀行識別號對應的銀行服務器。
26.如權利要求25所述的方法,其特征在于,所述方法還包括所述消費卡讀取設備在讀取消費卡信息之前,發(fā)送該消費卡讀取設備的標識信息到銀行服務器進行簽到。
27.一種基于二維碼的手機銀行客戶端,其特征在于,所述手機銀行客戶端包括 消費卡讀取模塊,用于實現(xiàn)如下功能在預設的正方形取景框內讀取二維碼消費卡,判斷所讀取的二維碼消費卡在所述正方形取景框內的填充率是否大于或等于預設的閾值,若是,則解析所讀取的二維碼消費卡得到消費卡序列標識和序列簽名信息,其中所述消費卡序列標識包括銀行識別號、密鑰版本號以及采用該密鑰版本號對應的加密算法處理過的消費卡序列號和時間戳,將得到的所述消費卡序列標識和序列簽名信息以及用戶輸入的支付金額發(fā)送至該消費卡序列標識中的銀行識別號對應的銀行服務器以根據(jù)所述消費卡序列標識、消費卡信息表和支付金額進行支付操作。
28.如權利要求27所述的手機銀行客戶端,其特征在于,所述手機銀行客戶端還包括 交易信息處理模塊,用于獲取用戶輸入的用于消費卡生成的交易信息,將該交易信息進行加密得到交易簽名信息,并將該交易信息和交易簽名信息發(fā)送至銀行服務器以申請消費卡序列標識;消費卡生成模塊,用于接收并保存所述銀行服務器發(fā)送的消費卡序列標識,將所述消費卡序列標識進行加密得到序列簽名信息,并根據(jù)所述消費卡序列標識和序列簽名信息生成二維碼消費卡。
29.如權利要求27所述的手機銀行客戶端,其特征在于,所述交易信息包括銀行賬號、消費卡金額和消費卡有效期。
30.如權利要求29所述的手機銀行客戶端,其特征在于,所述二維碼消費卡生成所采用的算法包括QR碼編碼算法。
31.如權利要求27至30任意一項所述的手機銀行客戶端,其特征在于,所述手機銀行客戶端還包括第二簽到模塊,用于在讀取二維碼消費卡信息之前,發(fā)送該手機銀行客戶端的標識信息到銀行服務器進行簽到。
全文摘要
本發(fā)明公開了一種基于二維碼的手機銀行支付系統(tǒng),所述系統(tǒng)包括手機銀行客戶端、銀行服務器和消費卡讀取設備,其中銀行服務器根據(jù)手機銀行客戶端發(fā)送的交易信息生成消費卡序列標識,手機銀行客戶端根據(jù)所述消費卡序列標識及對應的序列簽名信息實時生成二維碼消費卡,而消費卡讀取設備對所述二維碼消費卡進行讀取解析后發(fā)送至銀行服務器進行支付。相應地,本發(fā)明還公開了基于二維碼的手機銀行客戶端和手機銀行支付方法,通過實施本發(fā)明可提高手機近程支付的安全性,并且可豐富手機近程支付的應用方式。
文檔編號G06Q20/00GK102243739SQ20111018772
公開日2011年11月16日 申請日期2011年7月4日 優(yōu)先權日2011年7月4日
發(fā)明者朱科軍, 王俊, 甘勇, 繆而寧, 譚江健, 鄧玉, 麥博奇 申請人:中國建設銀行股份有限公司