TW202336668A - 支付方法、終端設備、伺服器、系統及介質 - Google Patents

支付方法、終端設備、伺服器、系統及介質 Download PDF

Info

Publication number
TW202336668A
TW202336668A TW111137387A TW111137387A TW202336668A TW 202336668 A TW202336668 A TW 202336668A TW 111137387 A TW111137387 A TW 111137387A TW 111137387 A TW111137387 A TW 111137387A TW 202336668 A TW202336668 A TW 202336668A
Authority
TW
Taiwan
Prior art keywords
sdk
payment
verification
information
server
Prior art date
Application number
TW111137387A
Other languages
English (en)
Inventor
王鈺
陳卓
黃河
謝治民
徐鑫源
葉樟源
黃永生
周繼恩
李偉
沈璽
湯之雄
Original Assignee
大陸商中國銀聯股份有限公司
Priority date (The priority date is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the date listed.)
Filing date
Publication date
Application filed by 大陸商中國銀聯股份有限公司 filed Critical 大陸商中國銀聯股份有限公司
Publication of TW202336668A publication Critical patent/TW202336668A/zh

Links

Images

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06QINFORMATION AND COMMUNICATION TECHNOLOGY [ICT] SPECIALLY ADAPTED FOR ADMINISTRATIVE, COMMERCIAL, FINANCIAL, MANAGERIAL OR SUPERVISORY PURPOSES; SYSTEMS OR METHODS SPECIALLY ADAPTED FOR ADMINISTRATIVE, COMMERCIAL, FINANCIAL, MANAGERIAL OR SUPERVISORY PURPOSES, NOT OTHERWISE PROVIDED FOR
    • G06Q20/00Payment architectures, schemes or protocols
    • G06Q20/38Payment protocols; Details thereof
    • G06Q20/386Payment protocols; Details thereof using messaging services or messaging apps
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F21/00Security arrangements for protecting computers, components thereof, programs or data against unauthorised activity
    • G06F21/50Monitoring users, programs or devices to maintain the integrity of platforms, e.g. of processors, firmware or operating systems
    • G06F21/57Certifying or maintaining trusted computer platforms, e.g. secure boots or power-downs, version controls, system software checks, secure updates or assessing vulnerabilities
    • G06F21/572Secure firmware programming, e.g. of basic input output system [BIOS]
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06QINFORMATION AND COMMUNICATION TECHNOLOGY [ICT] SPECIALLY ADAPTED FOR ADMINISTRATIVE, COMMERCIAL, FINANCIAL, MANAGERIAL OR SUPERVISORY PURPOSES; SYSTEMS OR METHODS SPECIALLY ADAPTED FOR ADMINISTRATIVE, COMMERCIAL, FINANCIAL, MANAGERIAL OR SUPERVISORY PURPOSES, NOT OTHERWISE PROVIDED FOR
    • G06Q20/00Payment architectures, schemes or protocols
    • G06Q20/38Payment protocols; Details thereof
    • G06Q20/40Authorisation, e.g. identification of payer or payee, verification of customer or shop credentials; Review and approval of payers, e.g. check credit lines or negative lists
    • G06Q20/401Transaction verification
    • G06Q20/4014Identity check for transactions

Landscapes

  • Engineering & Computer Science (AREA)
  • Business, Economics & Management (AREA)
  • Theoretical Computer Science (AREA)
  • Accounting & Taxation (AREA)
  • Computer Security & Cryptography (AREA)
  • Physics & Mathematics (AREA)
  • General Physics & Mathematics (AREA)
  • Software Systems (AREA)
  • General Engineering & Computer Science (AREA)
  • Computer Hardware Design (AREA)
  • Finance (AREA)
  • Strategic Management (AREA)
  • General Business, Economics & Management (AREA)
  • Financial Or Insurance-Related Operations Such As Payment And Settlement (AREA)

Abstract

本發明公開了一種支付方法、終端設備、伺服器、系統及介質,屬於資料處理領域。該方法應用於軟體開發套件SDK伺服器,包括:回應於接收的支付請求消息,向安全控制系統發送安全驗證請求消息,安全驗證請求消息用於指示安全控制系統根據安全驗證資訊進行安全驗證;接收安全控制系統發送的安全驗證結果資訊;在安全驗證結果資訊表徵安全驗證通過的情況下,向SDK發送第一通知消息,第一通知消息指示SDK通知宿主程序展示使用者驗證頁面,以提示使用者輸入第一使用者驗證輸入資訊,第一使用者驗證輸入資訊用於宿主程序伺服器進行使用者驗證以得到使用者驗證結果資訊;在使用者驗證結果資訊表徵使用者驗證通過的情況下發起付款請求,以完成支付。根據本發明實施例能夠提高支付的安全性。

Description

支付方法、終端設備、伺服器、系統及介質
本發明屬於資料處理領域,尤其涉及一種支付方法、終端設備、伺服器、系統及介質。
隨著支付技術的發展,電子支付的應用越來越廣泛。使用者可通過終端設備實現支付。終端設備中安裝有應用程式和軟體開發套件(Software Development Kit,SDK),SDK可集成在應用程式中,共同實現支付。
支付過程在終端設備中涉及應用程式和SDK兩個主體,支付過程涉及的主體增多,支付存在的安全風險也隨之增大。因此,亟需一種能夠提高安全性的支付方法。
本發明實施例提供一種支付方法、終端設備、伺服器、系統及介質,能夠提高支付的安全性。
第一方面,本發明實施例提供一種支付方法,應用於軟體開發套件SDK伺服器,方法包括:回應於接收的支付請求消息,向安全控制系統發送安全驗證請求消息,安全驗證請求消息包括安全驗證資訊,用於指示安全控制系統根據安全驗證資訊對支付請求消息對應的支付進行安全驗證;接收安全控制系統發送的安全驗證結果資訊;在安全驗證結果資訊表徵安全驗證通過的情況下,向終端設備中的SDK發送第一通知消息,終端設備具有SDK和宿主程序,第一通知消息用於指示SDK通知宿主程序展示使用者驗證頁面,以提示使用者輸入第一使用者驗證輸入資訊,第一使用者驗證輸入資訊用於宿 主程序伺服器進行使用者驗證以得到使用者驗證結果資訊;在使用者驗證結果資訊表徵使用者驗證通過的情況下,發起付款請求,以完成支付。
第二方面,本發明實施例提供一種支付方法,應用於終端設備,終端設備具有軟體開發套件SDK和宿主程序,方法包括:通過SDK獲取SDK伺服器發送的第一通知消息,第一通知消息是SDK伺服器基於表徵安全驗證通過的安全驗證結果資訊發送的,安全驗證結果資訊是安全控制系統基於安全驗證請求消息中的安全驗證資訊對支付請求消息對應的支付進行安全驗證得到的,安全驗證請求消息由SDK伺服器回應於接收的支付請求消息發送;回應於第一通知消息,通過SDK通知宿主程序展示使用者驗證頁面,以提示使用者輸入第一使用者驗證輸入資訊;通過宿主程序向宿主程序伺服器回饋第一使用者驗證輸入資訊,第一使用者驗證輸入資訊用於宿主程序伺服器進行使用者驗證以得到使用者驗證結果資訊;通過SDK向SDK伺服器發送通過宿主程序從宿主程序伺服器獲取的使用者驗證結果資訊,使SDK伺服器在使用者驗證結果資訊表徵使用者驗證通過的情況下,發起付款請求,以完成支付。
第三方面,本發明實施例提供一種支付方法,應用於宿主程序伺服器,方法包括:接收終端設備通過宿主程序回饋的第一使用者驗證輸入資訊,終端設備具有軟體開發套件SDK和宿主程序,第一使用者驗證輸入資訊在SDK回應於第一通知消息通知宿主程序展示使用者驗證頁面後得到,第一通知消息是SDK伺服器基於表徵安全驗證通過的安全驗證結果資訊發送的,安全驗證結果資訊是安全控制系統基於安全驗證請求消息中的安全驗證資訊對支付請求消息對應支付進行安全驗證得到的,安全驗證請求消息由SDK伺服器回應於接收的支付請求消息發送;根據第一使用者驗證輸入資訊進行使用者驗證,得到使用者驗證結果資訊;向終端設備中的宿主程序發送 使用者驗證結果資訊,通過宿主程序將使用者驗證結果資訊傳輸給SDK,以使SDK向SDK伺服器發送使用者驗證結果資訊,在使用者驗證結果資訊表徵使用者驗證通過的情況下,使SDK伺服器發起付款請求,以完成支付。
第四方面,本發明實施例提供一種SDK伺服器,包括:發送模組,用於回應於接收的支付請求消息,向安全控制系統發送安全驗證請求消息,安全驗證請求消息包括安全驗證資訊,用於指示安全控制系統根據安全驗證資訊對支付請求消息對應的支付進行安全驗證;接收模組,用於接收安全控制系統發送的安全驗證結果資訊;發送模組還用於在安全驗證結果資訊表徵安全驗證通過的情況下,向終端設備中的SDK發送第一通知消息,終端設備具有SDK和宿主程序,第一通知消息用於指示SDK通知宿主程序展示使用者驗證頁面,以提示使用者輸入第一使用者驗證輸入資訊,第一使用者驗證輸入資訊用於宿主程序伺服器進行使用者驗證以得到使用者驗證結果資訊;發送模組還用於在使用者驗證結果資訊表徵使用者驗證通過的情況下,發起付款請求,以完成支付。
第五方面,本發明實施例提供一種終端設備,終端設備具有軟體開發套件SDK和宿主程序,終端設備包括:接收模組,用於通過SDK獲取SDK伺服器發送的第一通知消息,第一通知消息是SDK伺服器基於表徵安全驗證通過的安全驗證結果資訊發送的,安全驗證結果資訊是安全控制系統基於安全驗證請求消息中的安全驗證資訊對支付請求消息對應的支付進行安全驗證得到的,安全驗證請求消息由SDK伺服器回應於接收的支付請求消息發送;顯示模組,用於回應於第一通知消息,通過SDK通知宿主程序展示使用者驗證頁面,以提示使用者輸入第一使用者驗證輸入資訊;發送模組,用於通過宿主程序向宿主程序伺服器回饋第一使用者驗證輸入資訊,第一使用者驗證輸入資訊用於宿主程序伺服器進行使用者驗證以得到使 用者驗證結果資訊;發送模組還用於通過SDK向SDK伺服器發送通過宿主程序從宿主程序伺服器獲取的使用者驗證結果資訊,使SDK伺服器在使用者驗證結果資訊表徵使用者驗證通過的情況下,發起付款請求,以完成支付。
第六方面,本發明實施例提供一種宿主程序伺服器,包括:接收模組,用於接收終端設備通過宿主程序回饋的第一使用者驗證輸入資訊,終端設備具有軟體開發套件SDK和宿主程序,第一使用者驗證輸入資訊在SDK回應於第一通知消息通知宿主程序展示使用者驗證頁面後得到,第一通知消息是SDK伺服器基於表徵安全驗證通過的安全驗證結果資訊發送的,安全驗證結果資訊是安全控制系統基於安全驗證請求消息中的安全驗證資訊對支付請求消息對應支付進行安全驗證得到的,安全驗證請求消息由SDK伺服器回應於接收的支付請求消息發送;驗證模組,用於根據第一使用者驗證輸入資訊進行使用者驗證,得到使用者驗證結果資訊;發送模組,用於向終端設備中的宿主程序發送使用者驗證結果資訊,通過宿主程序將使用者驗證結果資訊傳輸給SDK,以使SDK向SDK伺服器發送使用者驗證結果資訊,在使用者驗證結果資訊表徵使用者驗證通過的情況下,使SDK伺服器發起付款請求,以完成支付。
第七方面,本發明實施例提供一種SDK伺服器,包括:處理器以及存儲有電腦程式指令的記憶體;處理器執行電腦程式指令時實現第一方面的支付方法。
第八方面,本發明實施例提供一種終端設備,包括:處理器以及存儲有電腦程式指令的記憶體;處理器執行電腦程式指令時實現第二方面的支付方法。
第九方面,本發明實施例提供一種宿主程序伺服器,包括:處理器以及存儲有電腦程式指令的記憶體;處理器執行電腦程式指令時實現第三方面的支付方法。
第十方面,本發明實施例提供一種支付系統,包括第七方面的SDK伺服器、第八方面的終端設備和第九方面的宿主程序伺服器。
第十一方面,本發明實施例提供一種電腦可讀存儲介質,電腦可讀存儲介質上存儲有電腦程式指令,電腦程式指令被處理器執行時實現第一方面的支付方法、第二方面的支付方法、第三方面的支付方法。
發明實施例提供一種支付方法、終端設備、伺服器、系統及介質,SDK伺服器回應於支付請求消息,向安全控制系統發送安全驗證請求消息,以請求安全控制系統對本次支付進行安全驗證,以完成SDK所屬方所需的安全性方面的驗證。在安全驗證通過的情況下,SDK伺服器向終端設備的SDK發送用於指示SDK通知宿主程序展示使用者驗證頁面的消息,以使SDK能夠觸發宿主程序主動發起使用者驗證,以完成宿主程序所屬方所需的使用者身份安全性方面的驗證。在支付過程中實現了SDK所屬方和宿主程序所屬方兩個主體的雙向驗證,提高了支付的安全性。
1000:宿主程序伺服器
1002:驗證模組
11:終端設備
1101:記憶體
1102:處理器
1103:通信介面
1104:匯流排
12:SDK後臺系統
13:宿主程序後臺系統
14:安全控制系統
800,1100:SDK伺服器
801,903,1003:發送模組
802,901,1001:接收模組
900:終端設備
902:顯示模組
S201,S202,S203,S204,S205,S206,S207,S208,S2031,S209,S210,S211,S212,S213,S214,S301,S302,S303,S304,S305,S306,S307,S308,S309,S310,S311,S312,S313,S314,S315,S401,S402,S403,S404,S405,S501,S502,S503,S504,S505,S506,S507,S508,S509,S510,S511,S512,S513,S514,S515,S516,S517,S518,S519,S520,S521,S522,S601,S602,S603,S604,S605,S606,S607,S608,S609,S610,S611,S612,S613,S614,S615,S616,S617,S618,S619,S620,S621,S701,S702,S703,S704,S705,S706,S707,S708,S709,S710,S711,S712,S713,S714,S715,S716,S717,S718,S719,S720,S721,S722,S723:步驟
為了更清楚地說明本發明實施例的技術方案,下面將對本發明實施例中所需要使用的圖式作簡單的介紹,對於本領域普通技術人員來講,在不付出創造性勞動的前提下,還可以根據這些圖式獲得其他的圖式。
圖1為本發明實施例提供的支付方法的應用場景的一示例的示意圖;
圖2為本發明第一方面提供的支付方法的一實施例的流程圖;
圖3為本發明第一方面提供的支付方法的另一實施例的流程圖;
圖4為本發明第一方面提供的支付方法的又一實施例的流程圖;
圖5為本發明第一方面提供的支付方法的又另一實施例的流程圖;
圖6為本發明第一方面提供的支付方法的再一實施例的流程圖;
圖7為本發明第二方面提供的支付方法的一實施例的流程圖;
圖8為本發明第二方面提供的支付方法的另一實施例的流程圖;
圖9為本發明第二方面提供的支付方法的又一實施例的流程圖;
圖10為本發明第二方面提供的支付方法的又另一實施例的流程圖;
圖11為本發明第二方面提供的支付方法的再一實施例的流程圖;
圖12為本發明第三方面提供的支付方法的一實施例的流程圖;
圖13為本發明第三方面提供的支付方法的另一實施例的流程圖;
圖14為本發明實施例提供的支付流程的一示例的流程圖;
圖15為本發明實施例提供的支付流程的另一示例的流程圖;
圖16為本發明實施例提供的支付流程的又一示例的流程圖;
圖17為本發明第四方面提供的SDK伺服器的一實施例的結構示意圖;
圖18為第五方面提供的終端設備的一實施例的結構示意圖;
圖19為第六方面提供的宿主程序伺服器的一實施例的結構示意圖;
圖20為本發明第七方面提供的SDK伺服器的一實施例的結構示意圖。
下面將詳細描述本發明的各個方面的特徵和示例性實施例,為了使本發明的目的、技術方案及優點更加清楚明白,以下結合圖式及具體實施例,對本發明進行進一步詳細描述。應理解,此處所描述的具體實施例僅意在解釋本發明,而不是限定本發明。對於本領域技術人員來說,本發明可以在不需要這些具體細節中的一些細節 的情況下實施。下面對實施例的描述僅僅是為了通過示出本發明的示例來提供對本發明更好的理解。
隨著支付技術的發展,電子支付的應用越來越廣泛。使用者可通過終端設備實現支付。終端設備中安裝有用於支付的應用程式,但應用程式的功能有限,為了使得支付功能更加完善,終端設備中還可設置SDK,SDK可集成在應用程式中,和應用程式共同實現支付。在這種情況下,支付過程在終端設備中會涉及應用程式和SDK兩個主體,支付過程涉及的主體增多,支付存在的安全風險也隨之增大。因此,亟需一種能夠提高安全性的支付方法。
本發明實施例提供一種支付方法、終端設備、伺服器、系統及介質,能夠分別以SDK和宿主程序為主體,進行雙重驗證,在SDK為主體的驗證和宿主程序為主體的驗證均通過的情況下,完成支付。通過SDK和宿主程序兩方面的驗證來保證SDK相關交互和宿主程序相關交互的安全性,從而提高整個支付過程的安全性。
本發明提供的支付方法應用於支付場景中,主要可涉及終端設備、SDK後臺系統、宿主程序後臺系統和安全控制系統。圖1為本發明實施例提供的支付方法的應用場景的一示例的示意圖。如圖1所示,終端設備11可分別與SDK後臺系統12、宿主程序後臺系統13進行通信交互,SDK後臺系統12還可分別與宿主程序後臺系統13、安全控制系統14進行通信交互。
終端設備11具有宿主程序和SDK。終端設備11的支付功能需要宿主程序調用SDK共同實現。終端設備11中的SDK與宿主程序之間可交互。終端設備11中的SDK可與SDK後臺系統12通信交互,終端設備11中的宿主程序可與宿主程序後臺系統13通信交互。終端設備11為使用者用於進行支付的設備,具體可包括手機、平板電腦、電子電腦、只能穿戴設備等,在此並不限定。
SDK後臺系統12為SDK的後臺系統,可包括一台以 上的SDK伺服器,在此並不限定SDK後臺系統12中SDK伺服器的種類和數量。終端設備11在支付過程中,會通過SDK將支付相關的資訊發送給SDK後臺系統。SDK後臺系統也可預先存儲支付的使用者的帳戶資訊及個人資訊等。
在一些實施例中,SDK後臺系統12可包括SDK後檯子系統和支付碼子系統,SDK後檯子系統與支付碼子系統之間可通信交互,SDK後檯子系統還可與終端設備11中的SDK通信交互,支付碼子系統可與宿主程序後臺系統通信交互。支付碼子系統存儲有支付碼的相關資訊,可對支付碼進行管理和驗證。支付碼可包括收款碼、付款碼等,支付碼具體可為二維碼或其他形式的圖形碼,在此並不限定。
宿主程序後臺系統13為宿主程序的後臺系統,可包括一台以上的宿主程序伺服器,在此並不限定宿主程序後臺系統13中宿主程序伺服器的種類和數量。終端設備11在支付過程中,會通過宿主程序與宿主程序後臺系統13交互。宿主程序後臺系統13還可與SDK後臺系統12通信交互。
安全控制系統14可用於對支付進行安全驗證,可包括一台以上的電子設備,在此並不限定安全控制系統14中電子設備的種類和數量。安全控制系統14可與SDK後臺系統12通信交互。在SDK後臺系統12包括SDK後檯子系統和支付碼子系統的情況下,安全控制系統14可與其中的SDK後檯子系統通信交互。
在一些實施例中,終端設備11中SDK和宿主程序之間的資訊傳輸為加密傳輸,即終端設備11中SDK和宿主程序之間交互的資訊為加密資訊。SDK和宿主程序中各自存儲有加、解密所需的加、解密演算法,SDK和宿主程序中的加、解密演算法可根據應用環境、需求等設定,例如,SDK和宿主程序中的加、解密演算法可包括SM2演算法、SM4演算法、資料加密標準(Data Encryption Standard, DES)、RSA演算法等,在此並不限定。SDK中加、解密演算法所需的密鑰可由SDK後臺系統12存儲和管理,即SDK中加、解密的密鑰可存儲於SDK後臺系統12中的SDK伺服器,SDK可通過與SDK後臺系統12進行交互以實現加、解密。宿主程序中加、解密演算法所需的密鑰可由宿主程序後臺系統13存儲和管理,即宿主程序中加、解密的密鑰存儲於宿主程序後臺系統13中的宿主程序伺服器,宿主程序可通過與宿主程序後臺系統13進行交互以實現加、解密。通過SDK與宿主程序之間的密文傳輸,SDK與宿主程序之間傳輸的資訊不容易被竊取,可保證SDK與宿主程序之間的通信安全。
在一些實施例中,終端設備11中SDK可具有安全域,SDK中的資訊可存儲於安全域。安全域可為加密的資料存儲空間,具體可通過硬體和/或軟體實現,如通過安全元件(Secure Element,SE)和/或可信執行環境(Trusted Execution Environment,TEE)等實現。SDK可對安全域的許可權進行管理,如劃分不可開放讀取的資料和僅有宿主程序有許可權讀取的數據等。
下面對本發明中的支付方法、終端設備、伺服器、系統及介質依次進行說明。
本發明第一方面提供一種支付方法,該支付方法應用於SDK伺服器,即該支付方法可由SDK伺服器執行。圖2為本發明第一方面提供的支付方法的一實施例的流程圖。如圖2所示,該支付方法可包括步驟S201至步驟S204。
在步驟S201中,回應於接收的支付請求消息,向安全控制系統發送安全驗證請求消息。
支付請求消息用於發起支付。支付請求消息可由終端設備中的SDK向SDK伺服器發送,或者,支付請求消息可由支付受理設備向SDK伺服器發送。在SDK後臺系統包括SDK後檯子系統和支付碼子系統的情況下,可由支付受理設備向支付碼子系統中的 SDK伺服器發起支付,支付碼子系統中的SDK伺服器再向SDK後檯子系統中的SDK伺服器發送支付請求消息。支付請求消息可包括訂單資訊、終端設備資訊、支付資訊等。訂單資訊可包括訂單標識、訂單發起方、訂單明細、訂單金額、訂單時間等與訂單關聯的資訊,在此並不限定。終端設備資訊可包括對進行本次支付的終端設備的地理位置、設備標識等與終端設備關聯的資訊,在此並不限定。支付資訊可包括支付付款方資訊、支付收款方資訊、支付金額、支付時間等與支付相關的資訊,在此並不限定。支付收款方資訊可包括商戶名稱、商戶帳戶等資訊,支付付款方資訊可包括支付方帳戶、支付方支付卡資訊、支付方標識等資訊,在此並不限定。
安全驗證請求消息包括安全驗證資訊。安全驗證請求消息用於指示安全控制系統根據安全驗證資訊對支付請求消息對應的支付進行安全驗證。安全驗證資訊可包括終端設備中SDK向SDK伺服器發送的至少部分資訊,安全驗證資訊還可包括SDK伺服器中預存的與支付請求消息指示的支付付款方資訊等,在此並不限定。例如,安全驗證資訊可包括支付卡卡號、支付方登錄帳號、支付方登錄帳號關聯的手機號、支付卡關聯的手機號、終端設備標識、終端設備的地理位置、支付金額、支付時間、支付卡的歷史支付資訊等資訊中的一項或兩項以上,安全驗證資訊還可包括其他能夠進行安全性方面驗證的資訊,在此並不限定。
在一些示例中,在安全驗證請求消息包括支付卡卡號的情況下,該支付卡卡號可以為終端設備中SDK提供的默認支付卡卡號,若使用者在終端設備切換默認支付卡即默認支付卡卡號發生變化的情況下,SDK會向SDK伺服器發送包括新的默認支付卡卡號的消息,SDK伺服器會被觸發向安全控制系統再次發送包括新的預設支付卡卡號的安全驗證請求消息。也就是說,若使用者在終端設備顯示的付款詳情頁切換默認支付卡,對應地,SDK伺服器會重新向安全 控制系統發送包括切換後的默認支付卡卡號的安全驗證請求消息。
安全控制系統接收到安全驗證請求消息,根據安全驗證請求消息中的安全驗證資訊進行安全驗證。安全驗證可對支付的合法性以及支付的終端設備的登錄狀態的安全性進行驗證,具體可通過安全驗證資訊是否滿足預定的安全判定條件,來確定安全驗證是否通過。安全判定條件可根據具體場景、需求等設定,在此並不限定。例如,安全驗證資訊包括本次支付的終端設備標識和支付卡的歷史支付資訊,支付卡的歷史支付資訊包括支付卡的歷史支付中的終端設備標識,若本次支付的終端設備標識和支付卡的歷史支付中的終端設備標識一致,則安全驗證通過;反之,安全驗證未通過。又例如,安全驗證資訊包括本次支付的終端設備的地理位置、支付時間和支付卡的歷史支付資訊,支付卡的歷史支付資訊包括支付卡最近一次支付的終端設備的地理位置和支付時間,若支付卡最近一次支付的支付時間與本次支付的支付時間之間的時長小於預設時長,且支付卡最近一次支付的終端設備的地理位置與本次支付的終端設備的地理位置之間的距離大於預設距離,則安全驗證未通過;反之,安全驗證通過。還例如,安全驗證資訊包括支付方登錄帳號關聯的手機號和支付卡關聯的手機號,若支付方登錄帳號關聯的手機號與支付卡關聯的手機號一致,則安全驗證通過;反之,則安全驗證未通過。
在一些示例中,在安全風險度非常高的情況下,如帳戶餘額不足、支付為非法支付等情況,才判定安全驗證未通過。在安全風險度中、低,能夠通過後續的使用者驗證來判斷支付的安全的情況下,可判定安全驗證通過。例如,安全驗證資訊包括本次支付的終端設備標識和支付卡的歷史支付資訊,支付卡的歷史支付資訊包括支付卡的歷史支付中的終端設備標識,由於使用者存在更換終端設備的可能性,若本次支付的終端設備標識和支付卡的歷史支付中的終端設備標識不一致,也可視為安全驗證通過,在後續過程中可通過使用者驗 證判斷是否為使用者本人使用更換的終端設備進行支付。又例如,安全驗證資訊包括本次支付的支付金額和支付方帳戶餘額,若本次支付的支付金額小於等於支付方帳戶餘額,則安全驗證通過;反之,安全驗證未通過。
在一些示例中,SDK在接收到支付請求消息的情況下,若檢測到當前登錄的使用者帳號並未關聯支付卡,可發出綁卡提示資訊,以提示使用者進入綁卡流程以綁定支付卡。在綁定支付卡後,SDK再向安全控制系統發送安全驗證請求消息。
在步驟S202中,接收安全控制系統發送的安全驗證結果資訊。
安全控制系統根據安全驗證資訊進行安全驗證,可得到對於本次支付即支付請求消息指示的支付的安全驗證結果資訊。安全驗證結果資訊用於表徵安全驗證是否通過。若安全驗證結果資訊表徵安全驗證未通過,SDK伺服器可向終端設備中的SDK發送指示消息,以使SDK發出中止支付的彈窗資訊。
在一些示例中,在SDK伺服器接收到表徵安全驗證通過的安全驗證結果資訊後,終端設備中的SDK可調用預設的查詢介面,將本次支付的如付款方資訊等支付資訊、訂單號等訂單資訊等傳輸至SDK伺服器,SDK伺服器可進一步補充本次支付的如商戶號等其他訂單資訊以及與付款相關的其他支付資訊等,將支付資訊、訂單資訊同步至宿主程序伺服器,以實現SDK伺服器與宿主程序伺服器關於本次支付的資訊的同步。
在一些示例中,在SDK後臺系統包括SDK後檯子系統和支付碼子系統的情況下,在SDK後檯子系統中的SDK伺服器接收到表徵安全驗證通過的安全驗證結果資訊後,SDK後檯子系統中的SDK伺服器可哥調用預設的查詢介面,將本次支付的如付款方資訊等支付資訊、訂單號等訂單資訊等傳輸至支付碼子系統的SDK伺 服器,支付碼子系統的SDK伺服器可進一步補充本次支付的如商戶號等其他訂單資訊以及與付款相關的其他支付資訊等,將支付資訊、訂單資訊同步至宿主程序伺服器,以實現SDK後臺系統中的SDK伺服器與宿主程序伺服器關於本次支付的資訊的同步。
在步驟S203中,在安全驗證結果資訊表徵安全驗證通過的情況下,向終端設備中的SDK發送第一通知消息。
安全驗證結果資訊表徵安全驗證通過,則可再進行宿主程序的所屬方的使用者驗證流程。第一通知消息用於指示SDK通知宿主程序展示使用者驗證頁面,以提示使用者輸入第一使用者驗證輸入資訊。第一使用者驗證輸入資訊用於宿主程序伺服器進行使用者驗證以得到使用者驗證結果資訊。
終端設備中的SDK回應於第一通知消息,可向宿主程序發送用於指示宿主程序展示使用者驗證頁面的消息。宿主程序回應於該消息,宿主程序使終端設備顯示使用者驗證頁面。使用者驗證頁面可包括密碼填寫區、驗證碼填寫區、生物特徵採集區等,在此並不限定使用者驗證的方式。使用者向使用者驗證頁面輸入的資訊即為第一使用者驗證輸入資訊。宿主程序可向宿主程序伺服器發送第一使用者驗證輸入資訊。宿主程序伺服器可根據接收到的第一使用者驗證輸入資訊進行使用者驗證,並得到使用者驗證結果資訊。使用者驗證用於驗證使用者的身份。使用者驗證通過表示進行支付操作的使用者是合法的使用者本人。例如,第一使用者驗證輸入資訊為密碼,宿主程序伺服器驗證第一使用者驗證輸入資訊與宿主程序伺服器中使用者註冊的密碼是否一致,若一致,則使用者驗證通過;反之,則使用者驗證未通過。又例如,第一使用者驗證輸入資訊為人臉圖像,宿主程序伺服器驗證第一使用者驗證輸入資訊與宿主程序伺服器中使用者預留的人臉圖像是否屬於同一使用者,若屬於同一使用者,則使用者驗證通過;反之,則使用者驗證未通過。
使用者驗證結果資訊用於表徵使用者驗證是否通過。宿主程序伺服器可將使用者驗證結果資訊分別向宿主程序和SDK伺服器回饋,宿主程序還會將使用者驗證結果傳輸給SDK,以使SDK的所屬方和宿主程序的所屬方均可得知使用者驗證是否通過。
在一些示例中,在宿主程序展示使用者驗證頁面時,SDK可添加與展示使用者驗證頁面這一動作關聯的埋點資訊,以便後續對宿主程序展示使用者驗證頁面這一過程的執行情況的分析和排查。
在步驟S204中,在使用者驗證結果資訊表徵使用者驗證通過的情況下,發起付款請求,以完成支付。
使用者驗證結果資訊表徵使用者驗證通過,表示使用者身份安全性較高,可向支付方帳戶管理系統發起付款請求,正常進行支付。使用者驗證結果資訊表徵使用者驗證未通過,可中止該支付。
在一些實施例中,由於使用者驗證結果資訊在傳輸過程中可能被竊取或篡改,為了進一步保證支付安全,可通過一致性驗證條件來對使用者驗證結果資訊在傳輸過程中的安全性進行驗證。在使用者驗證結果資訊滿足一致性驗證條件的情況下,發起所述付款請求。一致性驗證條件用於判斷使用者驗證結果資訊在傳輸過程中是否安全、有效。使用者驗證結果資訊滿足一致性驗證條件,表示使用者驗證結果資訊在傳輸過程中是安全、有效的,可向支付方帳戶管理系統發起付款請求,正常進行支付,或者,由SDK伺服器通過宿主程序伺服器向支付方帳戶管理系統發起付款請求,正常進行支付;使用者驗證結果資訊不滿足一致性驗證條件,表示使用者驗證結果資訊在傳輸過程中並不安全有效,可中止該支付。
在一些示例中,一致性驗證條件可包括第一使用者驗證結果資訊和第二使用者驗證結果資訊一致。其中,第一使用者驗證結果資訊為由宿主程序伺服器通過宿主程序傳輸給SDK的使用者驗 證結果資訊。第二使用者驗證結果資訊為從宿主程序伺服器獲取的使用者驗證結果資訊。第一使用者驗證結果資訊和第二使用者驗證結果資訊一致,表示使用者驗證結果資訊在傳輸過程中是安全、有效的;第一使用者驗證結果資訊和第二使用者驗證結果資訊不一致,表示使用者驗證結果資訊在傳輸過程中並不安全有效。
支付成功後,SDK伺服器可獲取付款結果資訊,付款結果資訊表徵付款是否成功。SDK伺服器可將付款結果資訊傳輸給SDK、商戶系統等,以將付款是否成功的結果展示給使用者、商戶等。
在上述支付過程中,使用者驗證通過後,由於使用者驗證結果資訊的傳輸、付款、以及付款結果資訊的傳輸都需要一定時間,終端設備不會立即顯示支付完成頁面,在這種情況下,SDK可控制終端設備顯示付款中標識,如包含“loading”字樣的圖像,在終端設備顯示支付完成頁面時,停止顯示付款中標識。
在本發明實施例中,SDK伺服器回應於支付請求消息,向安全控制系統發送安全驗證請求消息,以請求安全控制系統對本次支付進行安全驗證,以完成SDK所屬方所需的安全性方面的驗證。在安全驗證通過的情況下,SDK伺服器向終端設備的SDK發送用於指示SDK通知宿主程序展示使用者驗證頁面的消息,以使SDK能夠觸發宿主程序主動發起使用者驗證,以完成宿主程序所屬方所需的使用者身份安全性方面的驗證。在支付過程中實現了SDK所屬方和宿主程序所屬方兩個主體的雙向驗證,提高了支付的安全性,也滿足了SDK所屬方和宿主程序所屬方兩個主體對安全性管控的需求。
在一些示例中,在SDK伺服器通過宿主程序伺服器向支付方帳戶管理系統發起付款請求的情況下,SDK伺服器可提供SDK所屬方的第一支付策略資訊,第一支付策略資訊可包括SDK所屬方的優惠資訊、支付活動資訊等,可用於參與支付請求消息指示的支付的金額計算。宿主程序伺服器可提供宿主程序所屬方的第二支付 策略資訊,第二支付策略資訊可包括宿主程序所屬方的優惠資訊、支付活動資訊等,可用於參與支付請求消息指示的支付的金額計算。
在一些實施例中,SDK伺服器也可在接收支付請求消息後,直接向宿主程序伺服器或通過支付策略系統向宿主程序伺服器查詢優惠資訊、支付活動資訊等支付策略資訊。
在上述實施例中,SDK與宿主程序之間交互的資訊為加密資訊,SDK需要對資訊進行加、解密。對應地,SDK伺服器存儲有用於對SDK與宿主程序之間交互的資訊進行加、解密的密鑰。
在一些實施例中,SDK伺服器可向宿主程序伺服器請求使用者驗證方式,並將宿主程序伺服器的回饋傳輸給SDK,以使SDK做出對應的操作。圖3為本發明第一方面提供的支付方法的另一實施例的流程圖。圖3與圖2的不同之處在於,圖3所示的支付方法還可包括步驟S205至步驟S208,圖2中的步驟S203可具體細化為圖3中的步驟S2031。
在步驟S205中,在安全驗證結果資訊表徵安全驗證通過的情況下,向宿主程序伺服器發送使用者驗證方式請求消息。
使用者驗證方式請求消息用於向宿主程序伺服器請求使用者驗證方式,可包括支付請求消息指示的支付對應的訂單資訊、終端設備資訊、支付資訊中的一項或兩項以上。訂單資訊、終端設備資訊和支付資訊的具體內容可參見上述實施中的相關說明,在此不再贅述。
宿主程序伺服器可根據使用者驗證方式請求消息中的資訊,確定驗證操作資訊,驗證操作資訊用於指示是否進行使用者驗證以及使用者驗證的方式。宿主程序伺服器可存儲有用於確定是否進行使用者驗證以及使用者驗證的方式的判斷條件,可通過使用者驗證方式請求消息中的資訊是否滿足參考條件來判斷是否進行使用者驗證以及使用者驗證的方式。判斷條件可根據支付場景、需求等設置, 在此並不限定。例如,使用者驗證方式請求消息可包括支付資訊,支付資訊包括支付金額,判斷條件可包括支付金額範圍與是否進行使用者驗證以及使用者驗證的方式的對應關係,如判斷條件包括:支付金額小於100元,不需進行使用者驗證;支付金額在100元至500元的範圍內,需進行使用者驗證,且使用者驗證的方式為密碼驗證;支付金額在500元至1000元的範圍內,需進行使用者驗證,且使用者驗證的方式為驗證碼驗證;支付金額大於1000元,需進行使用者驗證,且使用者驗證的方式為生物特徵驗證。又例如,使用者驗證方式請求消息可包括訂單資訊和支付資訊,訂單資訊包括訂單標識和下訂單使用者帳號,支付資訊包括付款方登錄帳號,判斷條件可包括:下訂單使用者帳號與付款方登錄帳號不一致,需進行使用者驗證,且使用者驗證方式為生物特徵驗證;下訂單使用者帳號與付款方登錄帳號一致,需進行使用者驗證,且使用者驗證方式為密碼驗證。
宿主程序伺服器確定驗證操作資訊後,可向SDK伺服器發送使用者驗證方式回饋消息。使用者驗證方式回饋消息包括驗證操作資訊。
在步驟S206中,接收宿主程序伺服器發送的使用者驗證方式回饋消息。
在步驟S207中,在驗證操作資訊包括拒絕支付標識的情況下,向SDK發送第二通知消息。
拒絕支付標識表示不需進行使用者驗證且停止支付。回應於使用者驗證方式回饋資訊,SDK伺服器向終端設備中SDK發送第二通知資訊。第二通知消息用於指示SDK發出拒絕支付提示資訊。SDK回應於第二通知消息,可發出提示資訊,以提示使用者存在支付風險。例如,提示資訊使終端設備顯示“宿主程序風險受限”等文字。在一些示例中,使用者驗證方式回饋消息還可包括拒絕支付原因,對應地,第二通知資訊也可包括該拒絕支付原因,SDK回應於第 二通知資訊發出的提示資訊可包括該拒絕支付原因,終端設備可顯示該決絕支付原因,以告知使用者。拒絕支付原因可包括SDK異常、宿主程序伺服器異常等導致使用者驗證方式標識失敗的原因。
在步驟S208中,在驗證操作資訊包括免密支付標識的情況下,向SDK發送第三通知消息。
免密支付標識表示不需進行使用者驗證且可繼續支付流程。回應於使用者驗證方式回饋資訊,SDK伺服器向終端設備中SDK發送第三通知資訊。第三通知消息用於指示SDK發出免密支付提示資訊。免密支付提示資訊可提示使用者該支付為免密方式的支付。
在步驟S2031中,在驗證操作資訊包括使用者驗證方式標識且安全驗證結果資訊表徵安全驗證通過的情況下,向SDK發送第一通知消息。
第一通知消息包括使用者驗證方式標識。使用者驗證方式標識用於指示使用者驗證的方式。第一通知消息用於指示SDK通知宿主程序展示與使用者驗證方式標識匹配的使用者驗證頁面,以提示使用者輸入與使用者驗證方式標識匹配的第一使用者驗證輸入資訊。即SDK回應於第一通知消息,可向宿主程序發送包括使用者驗證方式標識的指示消息,宿主程序根據使用者驗證方式標識,展現與使用者驗證方式標識指示的使用者驗證的方式對應的使用者驗證頁面,對應地,使用者輸入的第一使用者驗證輸入資訊也與使用者驗證方式標識指示的使用者驗證的方式對應。
例如,使用者驗證方式標識為01,使用者驗證的方式為密碼驗證,宿主程序展示的使用者驗證頁面為密碼驗證頁面,使用者需輸入的第一使用者驗證輸入資訊為密碼;使用者驗證方式標識為10,使用者驗證的方式為驗證碼驗證,宿主程序展示的使用者驗證頁面為驗證碼驗證頁面,使用者需輸入的第一使用者驗證輸入資訊為驗證碼;使用者驗證方式標識為11,使用者驗證的方式為生物特徵驗 證,宿主程序展示的使用者驗證頁面為生物特徵驗證頁面,使用者需輸入的第一使用者驗證輸入資訊為生物特徵。
在一些實施例中,支付請求消息、安全驗證請求消息和安全驗證結果資訊可包括目標宿主程序標識。目標宿主程序標識包括支付請求消息對應的支付的宿主程序標識,即目標宿主程序標識可表徵支付請求消息對應的支付關聯的宿主程序。
SDK伺服器預設有第一對應關係。第一對應關係包括宿主程序標識與使用者驗證調起方的關係。宿主程序標識用於標識宿主程序。使用者驗證調起方用於指示展示使用者驗證頁面的主體,使用者驗證調起方包括終端設備中的SDK或宿主程序。在接收安全驗證結果資訊後,SDK伺服器可根據目標宿主程序標識和第一對應關係,確定與目標宿主程序標識對應的目標使用者驗證調起方。目標使用者驗證調起方為在第一對應關係中與目標宿主程序標識對應的使用者驗證調起方。
在目標使用者驗證調起方為宿主程序的情況下,SDK伺服器向SDK發送第一通知消息。在目標使用者驗證調起方為SDK的情況下,SDK伺服器向SDK發送第四通知消息。第四通知消息用於指示SDK展示使用者驗證頁面,以提示使用者輸入第二使用者驗證輸入資訊。第二使用者驗證輸入資訊用於SDK伺服器進行使用者驗證以得到使用者驗證結果資訊。終端設備中的SDK回應於第四通知消息,可由SDK直接展示使用者驗證頁面,對應地,使用者驗證由SDK伺服器執行。終端設備中的SDK可向SDK伺服器發送第二使用者驗證輸入資訊。SDK伺服器根據第二使用者驗證輸入資訊進行使用者驗證,得到使用者驗證結果資訊,使用者驗證的具體內容可參見上述實施例中宿主程序伺服器進行的使用者驗證的相關說明,在此不再贅述。
通過第一對應關係的設置,可使終端設備中使用者驗 證的主體設置更加靈活,具有更多選擇性。
在一些實施例中,支付由商戶系統或通過終端設備中安裝的商戶程式發起,在SDK伺服器接收到支付請求消息前,商戶系統與SDK之間、SDK與SDK伺服器之間還需就訂單的相關資訊進行交互。圖4為本發明第一方面提供的支付方法的又一實施例的流程圖。圖4與圖2的不同之處在於,圖4所示的支付方法還可包括步驟S209至步驟S211。
在步驟S209中,回應於商戶系統發送的訂單請求消息,生成訂單標識。
在使用者下單生成訂單後,商戶系統可向SDK伺服器發送訂單請求消息,以向SDK伺服器請求能夠標識該筆訂單的標識即訂單標識。SDK伺服器生成的訂單標識具體可為訂單流水號。
在步驟S210中,向商戶系統發送訂單回饋消息,以使商戶系統向SDK發送SDK調用請求消息。
SDK伺服器可生成訂單回饋消息,訂單回饋消息包括訂單標識。SDK伺服器向商戶系統發送該訂單回饋消息,訂單回饋消息包括訂單標識。商戶系統接收到訂單回饋消息後,可向終端設備的SDK發送SDK調用請求消息,SDK調用請求包括訂單標識。SDK調用請求消息用於請求調用終端設備中的SDK。終端設備中的SDK在初始化的過程中,可採集終端設備的地理位置、終端設備標識等資訊。
在步驟S211中,回應於SDK發送的第一訂單查詢消息,向SDK發送第一查詢回饋消息。
SDK可向SDK伺服器發送第一訂單查詢消息,以在SDK伺服器通過訂單標識查詢訂單標識對應的訂單資訊。第一訂單查詢消息包括訂單標識。SDK伺服器查找到與訂單標識對應的訂單消息後,通過第一查詢回饋消息將與訂單標識對應的訂單消息回饋給SDK。第一查詢回饋消息包括與訂單標識對應的訂單資訊。SDK接收 到第一查詢回饋消息後,可向SDK伺服器發送支付請求消息。
在一些實施例中,商戶可指定特定的付款方付款,訂單請求消息包括指定付款方身份資訊,即通過訂單請求消息制定特定的付款方。SDK向SDK伺服器發送的支付請求消息包括如使用者登錄帳號等支付的付款方身份資訊,SDK伺服器可在指定付款方身份資訊與支付請求消息指示的支付的付款方身份資訊不一致的情況下,向SDK發送支付中止通知消息,以使SDK發出支付提示資訊。支付提示資訊可提示使用者切換使用者登錄帳號重新支付,支付提示資訊也可提示使用者支付中止的原因,如支付提示資訊為終端設備顯示的“登錄帳號資訊與商戶指定資訊不符,暫無法支付”等字樣。
在一些實施例中,支付可為使用者利用終端設備掃描他人的收款碼發起的支付。在SDK伺服器接收到支付請求消息前,SDK與SDK伺服器之間還需就訂單的相關資訊進行交互。圖5為本發明第一方面提供的支付方法的又另一實施例的流程圖。圖5與圖2的不同之處在於,圖5所示的支付方法還可包括步驟S212和步驟S213。
在步驟S212中,接收終端設備的SDK發送的第二訂單查詢消息。
終端設備掃描收款碼,可得到第一碼資訊。第一碼資訊為從收款碼中讀取得到的碼資訊。終端設備的SDK可向SDK伺服器發送第二訂單查詢消息。第二訂單查詢消息用於向SDK伺服器請求查詢與第一碼資訊對應的訂單消息。第二訂單查詢消息包括終端設備掃描收款碼得到的第一碼資訊。
在步驟S213中,向SDK發送第二查詢回饋消息。
SDK伺服器根據第一碼資訊,查找與第一碼資訊對應的訂單資訊。在查找到與第一碼資訊對應的訂單資訊後,SDK伺服器可生產第二查詢回饋消息,並向SDK發送第二查詢回饋消息。第二 查詢回饋消息包括與第一碼資訊對應的訂單資訊。
SDK接收到第二查詢回饋消息後,可根據使用者的輸入確定支付金額,生成支付請求消息,向SDK伺服器發送支付請求消息。SDK伺服器在接收到支付請求消息後,可判斷支付請求消息指示的支付的付款卡是否可用,在付款卡可用的情況下,向安全控制系統發送安全驗證請求消息。
在一些實施例中,支付可為使用者利用終端設備顯示付款碼,由他人利用支付受理終端掃描付款碼發起的支付。在SDK伺服器接收到支付請求消息前,SDK可向SDK伺服器申請付款碼。圖6為本發明第一方面提供的支付方法的再一實施例的流程圖。圖6與圖2的不同之處在於,圖6所示的支付方法還可包括步驟S214。
在步驟S214中,回應於接收的付款碼申請消息,向SDK發送付款碼回饋消息。
付款碼申請消息由SDK發送。即終端設備中的SDK可向SDK伺服器發送付款碼申請消息,付款碼申請消息用於向SDK伺服器申請付款碼。SDK伺服器為付款碼申請消息分配付款碼,並通過付款碼回饋消息將付款碼回饋給SDK。付款碼回饋消息包括付款碼。
在一些示例中,SDK後臺系統包括SDK後檯子系統和支付碼子系統。SDK可向SDK後檯子系統中的SDK伺服器發送付款碼申請消息,SDK後檯子系統中的SDK伺服器向支付碼子系統中的SDK伺服器轉發付款碼申請消息,支付碼子系統中的SDK伺服器為付款碼申請消息分配付款碼,並向SDK後檯子系統中的SDK伺服器發送付款碼回饋消息,SDK後檯子系統中的SDK伺服器向SDK轉發付款碼回饋消息。
支付請求消息由支付受理設備基於掃描的付款碼生成。SDK收到付款碼回饋消息後,可在支付時顯示付款碼。支付受理設備掃描付款碼,得到第二碼資訊,第二碼資訊為從付款碼中讀取得到的 碼資訊。支付受理設備可基於第二碼資訊生成支付請求消息,並向SDK伺服器發送支付請求消息。
本發明第二方面提供一種支付方法,該支付方法應用於終端設備,即該支付方法可由終端設備執行。終端設備具有SDK和宿主程序。圖7為本發明第二方面提供的支付方法的一實施例的流程圖。如圖7所示,該支付方法可包括步驟S301至步驟S304。
在步驟S301中,通過SDK獲取SDK伺服器發送的第一通知消息。
第一通知消息是SDK伺服器基於表徵安全驗證通過的安全驗證結果資訊發送的。安全驗證結果資訊是安全控制系統基於安全驗證請求消息中的安全驗證資訊對支付請求消息對應的支付進行安全驗證得到的。安全驗證請求消息由SDK伺服器回應於接收的支付請求消息發送。
在步驟S302中,回應於第一通知消息,通過SDK通知宿主程序展示使用者驗證頁面,以提示使用者輸入第一使用者驗證輸入資訊。
在步驟S303中,通過宿主程序向宿主程序伺服器回饋第一使用者驗證輸入資訊。
第一使用者驗證輸入資訊用於宿主程序伺服器進行使用者驗證以得到使用者驗證結果資訊。
在步驟S304中,通過SDK向SDK伺服器發送通過宿主程序從宿主程序伺服器獲取的使用者驗證結果資訊,使SDK伺服器在使用者驗證結果資訊表徵使用者驗證通過的情況下,發起付款請求,以完成支付。
在一些實施例中,使用者驗證結果資訊還用於使SDK伺服器在使用者驗證結果資訊滿足一致性驗證條件的情況下,發起付款請求。
在一些示例中,一致性驗證條件包括:第一使用者驗證結果資訊和第二使用者驗證結果資訊一致,第一使用者驗證結果資訊為由宿主程序伺服器通過宿主程序傳輸給SDK的使用者驗證結果資訊,第二使用者驗證結果資訊為從宿主程序伺服器獲取的使用者驗證結果資訊。
上述步驟S301至步驟S304的具體內容可參見上述實施例中的相關說明,在此不再贅述。
在本發明實施例中,SDK伺服器回應於支付請求消息,向安全控制系統發送安全驗證請求消息,以請求安全控制系統對本次支付進行安全驗證,以完成SDK所屬方所需的安全性方面的驗證。在安全驗證通過的情況下,終端設備中的SDK接收到SDK伺服器發送的用於指示SDK通知宿主程序展示使用者驗證頁面的消息,SDK回應於該消息,觸發宿主程序主動發起使用者驗證,以完成宿主程序所屬方所需的使用者身份安全性方面的驗證。在支付過程中實現了SDK所屬方和宿主程序所屬方兩個主體的雙向驗證,提高了支付的安全性,也滿足了SDK所屬方和宿主程序所屬方兩個主體對安全性管控的需求。
在一些實施例中,SDK伺服器可向宿主程序伺服器請求使用者驗證方式,SDK可通過SDK伺服器獲取宿主程序伺服器的回饋,並做出對應的操作。圖8為本發明第二方面提供的支付方法的另一實施例的流程圖。圖8與圖7的不同之處在於,圖8所示的支付方法還可包括步驟S305和步驟S306。
在步驟S305中,回應於SDK接收的第二通知消息,通過SDK發出拒絕提示資訊。
第二通知消息由SDK伺服器在驗證操作資訊包括拒絕支付標識的情況下發送。
在步驟S306中,回應於SDK接收的第三通知消息, 通過SDK發出免密支付提示資訊。
第三通知消息由SDK伺服器在驗證操作資訊包括免密支付標識的情況下發送。
使用者驗證方式回饋消息包括驗證操作資訊。使用者驗證方式回饋消息由宿主要伺服器回應於使用者驗證方式請求消息發送。使用者驗證方式請求消息由SDK伺服器在安全驗證結果資訊表徵安全驗證通過的情況下向宿主程序伺服器發送。使用者驗證方式請求消息包括支付請求消息指示的支付對應的訂單資訊、終端設備資訊、支付資訊中的一項或兩項以上。
在一些實施例中,第一通知消息由SDK伺服器在驗證操作資訊包括使用者驗證方式標識的情況下發送。第一通知消息包括使用者驗證方式標識,用於指示SDK通知宿主程序展示與使用者驗證方式標識匹配的使用者驗證頁面,以提示使用者輸入與使用者驗證方式標識匹配的第一使用者驗證輸入資訊。
上述步驟S305和步驟S306的具體內容可參見上述實施例中的相關說明,在此不再贅述。
在一些實施例中,安全驗證結果資訊包括目標宿主程序標識。目標宿主程序標識包括支付請求消息對應的支付的宿主程序標識。第一通知消息由SDK伺服器在目標使用者驗證調起方為宿主程序的情況下發送。目標使用者驗證調起方為第一對應關係中與目標宿主程序標識匹配的使用者驗證調起方,目標宿主程序標識包括支付請求消息對應的支付的宿主程序標識。第一對應關係包括宿主程序標識與使用者驗證調起方的關係。
在一些實施例中,在目標使用者驗證調起方為SDK的情況下,終端設備通過SDK獲取SDK伺服器發送的第四通知消息。第四通知消息由SDK伺服器在目標使用者驗證調起方為SDK的情況下發送。終端設備回應於第四通知消息,調用SDK展示使用者驗 證頁面,以提示使用者輸入第二使用者驗證輸入資訊。終端設備通過SDK向SDK伺服器回饋第二使用者驗證輸入資訊。第二使用者驗證輸入資訊用於SDK伺服器進行使用者驗證以得到使用者驗證結果資訊。
在一些實施例中,支付由商戶系統或通過終端設備中安裝的商戶程式發起,在SDK伺服器接收到支付請求消息前,商戶系統與SDK之間、SDK與SDK伺服器之間還需就訂單的相關資訊進行交互。圖9為本發明第二方面提供的支付方法的又一實施例的流程圖。圖9與圖7的不同之處在於,圖9所示的支付方法還可包括步驟S307至步驟S309。
在步驟S307中,通過SDK接收SDK調用請求消息,SDK調用請求消息由商戶系統回應於訂單回饋消息生成。
訂單回饋消息和SDK調用請求消息包括訂單標識。訂單標識由SDK伺服器回應於商戶系統發送的訂單請求消息生成。
在步驟S308中,回應於SDK調用請求消息,通過SDK向SDK伺服器發送第一訂單查詢消息。
在步驟S309中,通過SDK接收SDK伺服器回應於第一訂單查詢消息發送的第一查詢回饋消息。
第一查詢回饋消息包括與訂單標識對應的訂單資訊。
在一些實施例中,訂單請求消息包括指定付款方身份資訊。回應於通過SDK接收的支付中止通知消息,終端設備可通過SDK發出支付提示資訊。支付中止通知消息由SDK伺服器在指定付款方身份資訊與支付請求消息指示的支付的付款方身份資訊不一致的情況下發送。
上述步驟S307至步驟S309的具體內容可參見上述實施例中的相關說明,在此不再贅述。
在一些實施例中,支付可為使用者利用終端設備掃描 他人的收款碼發起的支付。在SDK伺服器接收到支付請求消息前,SDK與SDK伺服器之間還需就訂單的相關資訊進行交互。圖10為本發明第二方面提供的支付方法的又另一實施例的流程圖。圖10與圖7的不同之處在於,圖10所示的支付方法還可包括步驟S310至步驟S312。
在步驟S310中,掃描付款碼,得到第一碼資訊。
在步驟S311中,通過SDK向SDK伺服器發送第二訂單查詢消息。
第二訂單查詢消息包括第一碼資訊。
在步驟S312中,通過SDK接收SDK伺服器發送的第二查詢回饋消息。
第二查詢回饋消息包括與第一碼資訊對應的訂單資訊。
上述步驟S310至步驟S312的具體內容可參見上述實施例中的相關說明,在此不再贅述。
在一些實施例中,支付可為使用者利用終端設備顯示付款碼,由他人利用支付受理終端掃描付款碼發起的支付。在SDK伺服器接收到支付請求消息前,SDK可向SDK伺服器申請付款碼。圖11為本發明第二方面提供的支付方法的再一實施例的流程圖。圖11與圖7的不同之處在於,圖11所示的支付方法還可包括步驟S313至步驟S315。
在步驟S313中,通過SDK向SDK伺服器發送付款碼申請消息。
在步驟S314中,通過SDK接收SDK伺服器發送的付款碼回饋消息。
付款碼回饋消息包括付款碼。
在步驟S315中,顯示付款碼。
付款碼用於被支付受理設備掃描以生成支付請求消息。
上述步驟S313至步驟S315的具體內容可參見上述實施例中的相關說明,在此不再贅述。
本發明第三方面提供一種支付方法,應用於宿主程序伺服器,即該支付方法可由宿主程序伺服器執行。圖12為本發明第三方面提供的支付方法的一實施例的流程圖。如圖12所示,該支付方法可包括步驟S401至步驟S403。
在步驟S401中,接收終端設備通過宿主程序回饋的第一使用者驗證輸入資訊。
第一使用者驗證輸入資訊在SDK回應於第一通知消息通知宿主程序展示使用者驗證頁面後得到。第一通知消息是SDK伺服器基於表徵安全驗證通過的安全驗證結果資訊發送的。安全驗證結果資訊是安全控制系統基於安全驗證請求消息中的安全驗證資訊對支付請求消息對應支付進行安全驗證得到的。安全驗證請求消息由SDK伺服器回應於接收的支付請求消息發送。
在步驟S402中,根據第一使用者驗證輸入資訊進行使用者驗證,得到使用者驗證結果資訊。
在步驟S403中,向終端設備中的宿主程序發送使用者驗證結果資訊,通過宿主程序將使用者驗證結果資訊傳輸給SDK,以使SDK向SDK伺服器發送使用者驗證結果資訊,在使用者驗證結果資訊表徵使用者驗證通過的情況下,使SDK伺服器發起付款請求,以完成支付。
在一些實施例中,在執行步驟S403之後,宿主程序伺服器還可向SDK伺服器發送使用者驗證結果資訊,以使SDK伺服器在使用者驗證結果資訊表徵使用者驗證通過且使用者驗證結果資訊滿足一致性驗證條件的情況下,發起付款請求,以完成支付。
在一些示例中,一致性驗證條件包括第一使用者驗證結果資訊和第二使用者驗證結果資訊一致。第一使用者驗證結果資訊 為由宿主程序伺服器通過宿主程序傳輸給SDK的使用者驗證結果資訊,第二使用者驗證結果資訊為從宿主程序伺服器獲取的使用者驗證結果資訊。
上述步驟S401至步驟S403的具體內容可參見上述實施例中的相關說明,在此不再贅述。
在本發明實施例中,SDK伺服器回應於支付請求消息,向安全控制系統發送安全驗證請求消息,以請求安全控制系統對本次支付進行安全驗證,以完成SDK所屬方所需的安全性方面的驗證。在安全驗證通過的情況下,SDK伺服器向終端設備的SDK發送用於指示SDK通知宿主程序展示使用者驗證頁面的消息,以使SDK能夠觸發宿主程序主動發起使用者驗證。終端設備可接收使用者輸入的第一使用者驗證輸入資訊,並將第一使用者驗證輸入資訊向宿主程序伺服器發送,宿主程序伺服器可完成宿主程序所屬方所需的使用者身份安全性方面的驗證。在支付過程中實現了SDK所屬方和宿主程序所屬方兩個主體的雙向驗證,提高了支付的安全性,也滿足了SDK所屬方和宿主程序所屬方兩個主體對安全性管控的需求。
在上述實施例中,宿主程序伺服器存儲有用於對宿主程序與SDK之間交互的資訊進行加、解密的密鑰,具體內容可參見上述實施例中的現關說明,在此不再贅述。
在一些實施例中,宿主程序伺服器可接受SDK伺服器的請求,向SDK伺服器提供使用者驗證方式,SDK可通過SDK伺服器獲取宿主程序伺服器的回饋,並做出對應的操作。圖13為本發明第三方面提供的支付方法的另一實施例的流程圖。圖13與圖12的不同之處在於,圖13所示的支付方法還可包括步驟S404和步驟S405。
在步驟S404中,接收SDK伺服器在安全驗證結果資訊表徵安全驗證通過的情況下發送的使用者驗證方式請求消息。
使用者驗證方式請求消息包括支付請求消息指示的支 付對應的訂單資訊、終端設備資訊、支付資訊中的一項或兩項以上。
在步驟S405中,根據使用者驗證方式請求消息,向SDK伺服器發送使用者驗證方式回饋消息。
使用者驗證方式回饋消息包括驗證操作資訊。
在驗證操作資訊包括拒絕支付標識的情況下,SDK伺服器向SDK發送第二通知消息,第二通知消息用於指示SDK發出拒絕支付提示資訊。在驗證操作資訊包括免密支付標識的情況下,SDK伺服器向SDK發送第三通知消息,第三通知消息用於指示SDK發出免密支付提示資訊。
在一些實施例中,第一通知消息由SDK伺服器在驗證操作資訊包括使用者驗證方式標識的情況下發送。第一通知消息包括使用者驗證方式標識,用於指示SDK通知宿主程序展示與使用者驗證方式標識匹配的使用者驗證頁面,以提示使用者輸入與使用者驗證方式標識匹配的第一使用者驗證輸入資訊。
上述步驟S404和步驟S405的具體內容可參見上述實施例中的相關說明,在此不再贅述。
在一些示例中,安全驗證結果資訊包括目標宿主程序標識。目標宿主程序標識包括支付請求消息對應的支付的宿主程序標識。第一通知消息由SDK伺服器在目標使用者驗證調起方為宿主程序的情況下發送。目標使用者驗證調起方為第一對應關係中與目標宿主程序標識匹配的使用者驗證調起方。目標宿主程序標識包括支付請求消息對應的支付的宿主程序標識。第一對應關係包括宿主程序標識與使用者驗證調起方的關係。
為了便於說明,下面分別以支付由商戶系統或通過終端設備中安裝的商戶程式發起、支付由終端設備掃描他人的收款碼發起、支付由支付受理終端掃描付款碼發起三種場景為例,對終端設備、系統、伺服器之間的支付流程的交互進行說明。
在該示例中,支付由商戶系統或通過終端設備中安裝的商戶程式發起。圖14為本發明實施例提供的支付流程的一示例的流程圖。終端設備包括SDK和宿主程序。如圖14所示,該支付流程包括步驟S501至步驟S522。
在步驟S501中,使用者下單後,商戶系統向SDK伺服器發送訂單請求消息。
在步驟S502中,SDK伺服器回應於訂單請求消息,向商戶系統發送訂單回饋消息。訂單回饋消息可包括SDK伺服器生成的訂單標識。
在步驟S503中,商戶系統向終端設備中SDK發送SDK調用請求消息。
在步驟S504中,採集終端設備資訊。
在步驟S505中,SDK向SDK伺服器發送第一訂單查詢消息。
在步驟S506中,SDK伺服器向SDK回饋第一查詢回饋消息。
在步驟S507中,SDK向SDK伺服器發送支付請求消息。
在步驟S508中,SDK伺服器向安全控制系統發送安全驗證請求消息。
在步驟S509中,安全控制系統對支付請求消息指示的支付進行安全驗證。
在步驟S510中,安全控制系統向SDK伺服器回饋安全驗證結果資訊。
在步驟S511中,在安全驗證結果資訊表徵安全驗證通過的情況下,SDK伺服器向宿主程序伺服器發送使用者驗證方式請求消息。
在步驟S512中,宿主程序伺服器回應於使用者驗證方式請求消息,向SDK伺服器發送使用者驗證方式回饋消息。使用者驗證方式回饋消息包括使用者驗證方式標識。
在步驟S513中,SDK伺服器向SDK發送第一通知消息。第一通知消息包括使用者驗證方式標識。
在步驟S514中,SDK向宿主程序傳輸使用者驗證方式標識。
在步驟S515中,宿主程序被觸發,展示與使用者驗證方式標識匹配的使用者驗證頁面。
在步驟S516中,宿主程序接收使用者輸入的第一使用者驗證輸入資訊,向宿主程序伺服器發送第一使用者驗證輸入資訊。
在步驟S517中,宿主程序伺服器根據第一使用者驗證輸入資訊進行使用者驗證,得到使用者驗證結果資訊。
在步驟S518中,SDK伺服器從宿主程序伺服器獲取使用者驗證結果資訊。為了便於說明,將SDK伺服器直接從宿主要伺服器獲取到的使用者驗證結果資訊稱為第二使用者驗證結果資訊。
在步驟S519中,宿主程序伺服器向宿主程序發送使用者驗證結果資訊。
在步驟S520中,宿主程序將使用者驗證結果資訊回饋給SDK。
在步驟S521中,SDK將使用者驗證結果資訊回饋給SDK伺服器。為了便於說明,將SDK伺服器從SDK獲取到的使用者驗證結果資訊稱為第一使用者驗證結果資訊。
在步驟S522中,在第一使用者驗證結果資訊和第二使用者驗證結果資訊一致的情況下,SDK伺服器發起付款請求,以完成支付。
上述步驟S501至步驟S522的具體內容可參見上述實 施例中的相關說明,在此不再贅述。
在該示例中,支付由終端設備掃描他人的收款碼發起。圖15為本發明實施例提供的支付流程的另一示例的流程圖。終端設備包括SDK和宿主程序。如圖15所示,該支付流程可包括步驟S601至步驟S621。
在步驟S601中,終端設備掃描收款碼,得到第一碼資訊,SDK向SDK伺服器發送第二訂單查詢消息。第二訂單查詢消息包括第一碼資訊。
在步驟S602中,SDK伺服器向SDK發送第二查詢回饋消息。
在步驟S603中,SDK接收使用者輸入,確定支付金額。
在步驟S604中,SDK向SDK伺服器發送支付請求消息。
在步驟S605中,SDK伺服器判斷是否有可用的付款卡。
在步驟S606中,在存在可用的付款卡的情況下,SDK伺服器向安全控制系統發送安全驗證請求消息。
在步驟S607中,安全控制系統對支付請求消息指示的支付進行安全驗證。
在步驟S608中,安全控制系統向SDK伺服器回饋安全驗證結果資訊。
在步驟S609中,在安全驗證結果資訊表徵安全驗證通過的情況下,SDK伺服器向宿主程序伺服器發送使用者驗證方式請求消息。
在步驟S610中,宿主程序伺服器回應於使用者驗證方式請求消息,向SDK伺服器發送使用者驗證方式回饋消息。使用者 驗證方式回饋消息包括使用者驗證方式標識。
在步驟S611中,SDK伺服器向SDK發送第一通知消息。第一通知消息包括使用者驗證方式標識。
在步驟S612中,SDK向宿主程序傳輸使用者驗證方式標識。
在步驟S613中,宿主程序被觸發,展示與使用者驗證方式標識匹配的使用者驗證頁面。
在步驟S614中,宿主程序接收使用者輸入的第一使用者驗證輸入資訊,向宿主程序伺服器發送第一使用者驗證輸入資訊。
在步驟S615中,宿主程序伺服器根據第一使用者驗證輸入資訊進行使用者驗證,得到使用者驗證結果資訊。
在步驟S616中,SDK伺服器從宿主程序伺服器獲取使用者驗證結果資訊。為了便於說明,將SDK伺服器直接從宿主要伺服器獲取到的使用者驗證結果資訊稱為第二使用者驗證結果資訊。
在步驟S617中,宿主程序伺服器向宿主程序發送使用者驗證結果資訊。
在步驟S618中,宿主程序將使用者驗證結果資訊回饋給SDK。
在步驟S619中,SDK將使用者驗證結果資訊回饋給SDK伺服器。為了便於說明,將SDK伺服器從SDK獲取到的使用者驗證結果資訊稱為第一使用者驗證結果資訊。
在步驟S620中,在第一使用者驗證結果資訊和第二使用者驗證結果資訊一致的情況下,SDK伺服器向宿主程序伺服器發起付款請求。
在步驟S621中,宿主程序伺服器向付款方帳戶管理系統發起付款請求,以完成支付。
上述步驟S601至步驟S621的具體內容可參見上述實 施例中的相關說明,在此不再贅述。
在該示例中,支付由支付受理終端掃描終端設備顯示的付款碼發起。終端設備包括SDK和宿主程序。這裡以SDK後臺系統包括SDK後檯子系統和支付碼子系統為例進行說明,為了便於說明,將SDK後檯子系統中的SDK伺服器稱為第一SDK伺服器,將支付碼子系統中的SDK伺服器稱為第二SDK伺服器。圖16為本發明實施例提供的支付流程的又一示例的流程圖。如圖16所示,該支付流程可包括步驟S701至步驟S723。
在步驟S701中,終端設備中SDK通過第一SDK伺服器向第二SDK伺服器發送付款碼申請消息。
在步驟S702中,第二SDK伺服器分配付款碼,並通過第一SDK伺服器向SDK發送付款碼回饋消息。付款碼回饋消息包括付款碼。
在步驟S703中,支付受理終端掃描終端設備顯示的付款碼,得到第二碼資訊,向第二SDK伺服器發送支付請求消息。
在步驟S704中,第二SDK伺服器可通過支付策略系統向宿主程序伺服器發送支付策略查詢消息。
在步驟S705中,宿主程序伺服器通過支付策略系統向第二SDK伺服器回饋支付策略資訊。
在步驟S706中,第二SDK伺服器向第一SDK伺服器發送附加處理請求消息。附加處理請求消息包括支付策略資訊。
在步驟S707中,第一SDK伺服器向安全控制系統發送安全驗證請求消息。
在步驟S708中,安全控制系統對支付請求消息指示的支付進行安全驗證。
在步驟S709中,安全控制系統向第一SDK伺服器回饋安全驗證結果資訊。
在步驟S710中,第一SDK伺服器通過第二SDK伺服器將支付資訊、訂單資訊等資訊同步至宿主程序伺服器。
在步驟S711中,第一SDK伺服器通過第二SDK伺服器向宿主程序伺服器發送使用者驗證方式請求消息。
在步驟S712中,宿主程序伺服器通過第二SDK伺服器向第一SDK伺服器發送使用者驗證方式回饋消息。使用者驗證方式回饋消息包括使用者驗證方式標識。
在步驟S713中,第一SDK伺服器向SDK發送第一通知消息。第一通知消息包括使用者驗證方式標識。
在步驟S714中,SDK向宿主程序傳輸使用者驗證方式標識。
在步驟S715中,宿主程序被觸發,展示與使用者驗證方式標識匹配的使用者驗證頁面。
在步驟S716中,宿主程序接收使用者輸入的第一使用者驗證輸入資訊,向宿主程序伺服器發送第一使用者驗證輸入資訊。
在步驟S717中,宿主程序伺服器根據第一使用者驗證輸入資訊進行使用者驗證,得到使用者驗證結果資訊。
在步驟S718中,第一SDK伺服器通過第二SDK伺服器從宿主程序伺服器獲取使用者驗證結果資訊。為了便於說明,將SDK伺服器通過第二SDK伺服器從宿主要伺服器獲取到的使用者驗證結果資訊稱為第二使用者驗證結果資訊。
在步驟S719中,宿主程序伺服器向宿主程序發送使用者驗證結果資訊。
在步驟S720中,宿主程序將使用者驗證結果資訊回饋給SDK。
在步驟S721中,SDK將使用者驗證結果回饋給第一SDK伺服器。為了便於說明,將第一SDK伺服器從SDK獲取到的 使用者驗證結果資訊稱為第一使用者驗證結果資訊。若宿主程序的所屬方與付款卡所屬方相同,跳轉步驟S722;若宿主程序的所屬方與付款卡所屬方不同,跳轉步驟S723
在步驟S722中,在第一使用者驗證結果資訊和第二使用者驗證結果資訊一致的情況下,第一SDK伺服器通過第二SDK伺服器和宿主程序伺服器向付款方帳戶管理系統發起付款請求,以完成支付。
在步驟S723中,在第一使用者驗證結果資訊和第二使用者驗證結果資訊一致的情況下,第一SDK伺服器通過第二SDK伺服器向付款方帳戶管理系統發起付款請求,以完成支付。
在上述步驟S722和步驟S723之前,若支付使用了支付策略資訊,第二SDK伺服器還可與支付策略系統交互以承兌支付策略資訊。
上述步驟S701至步驟S723的具體內容可參見上述實施例中的相關說明,在此不再贅述。
本發明第四方面提供一種SDK伺服器。圖17為本發明第四方面提供的SDK伺服器的一實施例的結構示意圖。如圖17所示,該SDK伺服器800可包括發送模組801和接收模組802。
發送模組801可用於回應於接收的支付請求消息,向安全控制系統發送安全驗證請求消息。
安全驗證請求消息包括安全驗證資訊,用於指示安全控制系統根據安全驗證資訊對支付請求消息對應的支付進行安全驗證。
接收模組802可用於接收安全控制系統發送的安全驗證結果資訊。
發送模組801還可用於在安全驗證結果資訊表徵安全驗證通過的情況下,向終端設備中的SDK發送第一通知消息。
終端設備具有SDK和宿主程序。第一通知消息用於指示SDK通知宿主程序展示使用者驗證頁面,以提示使用者輸入第一使用者驗證輸入資訊。第一使用者驗證輸入資訊用於宿主程序伺服器進行使用者驗證以得到使用者驗證結果資訊。
發送模組801還可用於在使用者驗證結果資訊表徵使用者驗證通過的情況下,發起付款請求,以完成支付。
在一些實施例中,發送模組801可用於在使用者驗證結果資訊滿足一致性驗證條件的情況下,發起所述付款請求。
在一些示例中,一致性驗證條件包括:第一使用者驗證結果資訊和第二使用者驗證結果資訊一致。
第一使用者驗證結果資訊為由宿主程序伺服器通過宿主程序傳輸給SDK的使用者驗證結果資訊。第二使用者驗證結果資訊為從宿主程序伺服器獲取的使用者驗證結果資訊。
在本發明實施例中,SDK伺服器回應於支付請求消息,向安全控制系統發送安全驗證請求消息,以請求安全控制系統對本次支付進行安全驗證,以完成SDK所屬方所需的安全性方面的驗證。在安全驗證通過的情況下,SDK伺服器向終端設備的SDK發送用於指示SDK通知宿主程序展示使用者驗證頁面的消息,以使SDK能夠觸發宿主程序主動發起使用者驗證,以完成宿主程序所屬方所需的使用者身份安全性方面的驗證。在支付過程中實現了SDK所屬方和宿主程序所屬方兩個主體的雙向驗證,提高了支付的安全性,也滿足了SDK所屬方和宿主程序所屬方兩個主體對安全性管控的需求。
在一些示例中,SDK伺服器存儲有用於對SDK與宿主程序之間交互的資訊進行加、解密的密鑰。
在一些實施例中,發送模組801還可用於在安全驗證結果資訊表徵安全驗證通過的情況下,向宿主程序伺服器發送使用者驗證方式請求消息。
使用者驗證方式請求消息包括支付請求消息指示的支付對應的訂單資訊、終端設備資訊、支付資訊中的一項或兩項以上。
接收模組802還可用於接收宿主程序伺服器發送的使用者驗證方式回饋消息。
使用者驗證方式回饋消息包括驗證操作資訊。
發送模組801還可用於在驗證操作資訊包括拒絕支付標識的情況下,向SDK發送第二通知消息。
第二通知消息用於指示SDK發出拒絕支付提示資訊。
接收模組802還可用於在驗證操作資訊包括免密支付標識的情況下,向SDK發送第三通知消息。
第三通知消息用於指示SDK發出免密支付提示資訊。
在一些實施例中,發送模組801可用於:在驗證操作資訊包括使用者驗證方式標識的情況下,向SDK發送第一通知消息。
第一通知消息包括使用者驗證方式標識,用於指示SDK通知宿主程序展示與使用者驗證方式標識匹配的使用者驗證頁面,以提示使用者輸入與使用者驗證方式標識匹配的第一使用者驗證輸入資訊。
在一些實施例中,SDK伺服器還可包括查詢模組。
查詢模組可用於根據目標宿主程序標識和預設的第一對應關係,確定與目標宿主程序標識對應的目標使用者驗證調起方。
第一對應關係包括宿主程序標識與使用者驗證調起方的關係。
發送模組801可用於在目標使用者驗證調起方為宿主程序的情況下,向SDK發送第一通知消息。
在一些實施例中,發送模組801還可用於在目標使用者驗證調起方為SDK的情況下,向SDK發送第四通知消息。
第四通知消息用於指示SDK展示使用者驗證頁面,以 提示使用者輸入第二使用者驗證輸入資訊。第二使用者驗證輸入資訊用於SDK伺服器進行使用者驗證以得到使用者驗證結果資訊。
在一些實施例中,SDK伺服器800還可包括訂單標識生成模組。
訂單標識生成模組可用於回應於商戶系統發送的訂單請求消息,生成訂單標識。
發送模組801還可用於向商戶系統發送訂單回饋消息,以使商戶系統向SDK發送SDK調用請求消息。
訂單回饋消息和SDK調用請求消息包括訂單標識。
發送模組801還可用於回應於SDK發送的第一訂單查詢消息,向SDK發送第一查詢回饋消息。
第一查詢回饋消息包括與訂單標識對應的訂單資訊。
在一些實施例中,訂單請求消息包括指定付款方身份資訊。
發送模組801還可用於在指定付款方身份資訊與支付請求消息指示的支付的付款方身份資訊不一致的情況下,向SDK發送支付中止通知消息,以使SDK發出支付提示資訊。
在一些實施例中,接收模組802還可用於接收終端設備的SDK發送的第二訂單查詢消息。
第二訂單查詢消息包括終端設備掃描收款碼得到的第一碼資訊。
發送模組801還可用於向SDK發送第二查詢回饋消息。
第二查詢回饋消息包括與第一碼資訊對應的訂單資訊。
在一些實施例中,發送模組801還可用於回應於接收的付款碼申請消息,向SDK發送付款碼回饋消息。
付款碼申請消息由SDK發送。付款碼回饋消息包括付 款碼。對應地,支付請求消息由支付受理設備基於掃描的付款碼生成。
本發明第五方面提供一種終端設備。終端設備具有SDK和宿主程序。圖18為第五方面提供的終端設備的一實施例的結構示意圖。如圖18所示,該終端設備900可包括接收模組901、顯示模組902和發送模組903。
接收模組901可用於通過SDK獲取SDK伺服器發送的第一通知消息。
第一通知消息是SDK伺服器基於表徵安全驗證通過的安全驗證結果資訊發送的。安全驗證結果資訊是安全控制系統基於安全驗證請求消息中的安全驗證資訊對支付請求消息對應的支付進行安全驗證得到的。安全驗證請求消息由SDK伺服器回應於接收的支付請求消息發送。
顯示模組902可用於回應於第一通知消息,通過SDK通知宿主程序展示使用者驗證頁面,以提示使用者輸入第一使用者驗證輸入資訊。
發送模組903可用於通過宿主程序向宿主程序伺服器回饋第一使用者驗證輸入資訊。
第一使用者驗證輸入資訊用於宿主程序伺服器進行使用者驗證以得到使用者驗證結果資訊。
發送模組903還可用於通過SDK向SDK伺服器發送通過宿主程序從宿主程序伺服器獲取的使用者驗證結果資訊,使SDK伺服器在使用者驗證結果資訊表徵使用者驗證通過的情況下,發起付款請求,以完成支付。
在一些實施例中,所述使用者驗證結果資訊還用於使所述SDK伺服器在所述使用者驗證結果資訊滿足一致性驗證條件的情況下,發起所述付款請求。
在一些示例中,一致性驗證條件包括:第一使用者驗證 結果資訊和第二使用者驗證結果資訊一致。第一使用者驗證結果資訊為由宿主程序伺服器通過宿主程序傳輸給SDK的使用者驗證結果資訊,第二使用者驗證結果資訊為從宿主程序伺服器獲取的使用者驗證結果資訊。
在本發明實施例中,SDK伺服器回應於支付請求消息,向安全控制系統發送安全驗證請求消息,以請求安全控制系統對本次支付進行安全驗證,以完成SDK所屬方所需的安全性方面的驗證。在安全驗證通過的情況下,終端設備中的SDK接收到SDK伺服器發送的用於指示SDK通知宿主程序展示使用者驗證頁面的消息,SDK回應於該消息,觸發宿主程序主動發起使用者驗證,以完成宿主程序所屬方所需的使用者身份安全性方面的驗證。在支付過程中實現了SDK所屬方和宿主程序所屬方兩個主體的雙向驗證,提高了支付的安全性,也滿足了SDK所屬方和宿主程序所屬方兩個主體對安全性管控的需求。
在一些示例中,SDK具有安全域,SDK中的資訊存儲於安全域。
SDK與宿主程序之間交互的資訊為加密資訊。SDK中加、解密的密鑰存儲於SDK伺服器。宿主程序中加、解密的密鑰存儲於宿主程序伺服器。
在一些實施例中,顯示模組902還可用於回應於SDK接收的第二通知消息,通過SDK發出拒絕提示資訊。
第二通知消息由SDK伺服器在驗證操作資訊包括拒絕支付標識的情況下發送。
顯示模組902還可用於回應於SDK接收的第三通知消息,通過SDK發出免密支付提示資訊。
第三通知消息由SDK伺服器在驗證操作資訊包括免密支付標識的情況下發送。
其中,使用者驗證方式回饋消息包括驗證操作資訊。使用者驗證方式回饋消息由宿主要伺服器回應於使用者驗證方式請求消息發送。使用者驗證方式請求消息由SDK伺服器在安全驗證結果資訊表徵安全驗證通過的情況下向宿主程序伺服器發送。使用者驗證方式請求消息包括支付請求消息指示的支付對應的訂單資訊、終端設備資訊、支付資訊中的一項或兩項以上。
在一些實施例中,第一通知消息由SDK伺服器在驗證操作資訊包括使用者驗證方式標識的情況下發送。第一通知消息包括使用者驗證方式標識,用於指示SDK通知宿主程序展示與使用者驗證方式標識匹配的使用者驗證頁面,以提示使用者輸入與使用者驗證方式標識匹配的第一使用者驗證輸入資訊。
在一些實施例中,安全驗證結果資訊包括目標宿主程序標識。目標宿主程序標識包括支付請求消息對應的支付的宿主程序標識。第一通知消息由SDK伺服器在目標使用者驗證調起方為宿主程序的情況下發送,目標使用者驗證調起方為第一對應關係中與目標宿主程序標識匹配的使用者驗證調起方,目標宿主程序標識包括支付請求消息對應的支付的宿主程序標識,第一對應關係包括宿主程序標識與使用者驗證調起方的關係。
在一些實施例中,接收模組901還可用於通過SDK獲取SDK伺服器發送的第四通知消息。第四通知消息由SDK伺服器在目標使用者驗證調起方為SDK的情況下發送。
顯示模組902還可用於回應於第四通知消息,調用SDK展示使用者驗證頁面,以提示使用者輸入第二使用者驗證輸入資訊。
發送模組903還可用於通過SDK向SDK伺服器回饋第二使用者驗證輸入資訊。
第二使用者驗證輸入資訊用於SDK伺服器進行使用者驗證以得到使用者驗證結果資訊。
在一些實施例中,接收模組901還可用於通過SDK接收SDK調用請求消息。
SDK調用請求消息由商戶系統回應於訂單回饋消息生成。訂單回饋消息和SDK調用請求消息包括訂單標識。訂單標識由SDK伺服器回應於商戶系統發送的訂單請求消息生成。
發送模組903還可用於回應於SDK調用請求消息,通過SDK向SDK伺服器發送第一訂單查詢消息。
接收模組901還可用於通過SDK接收SDK伺服器回應於第一訂單查詢消息發送的第一查詢回饋消息。
第一查詢回饋消息包括與訂單標識對應的訂單資訊。
在一些實施例中,訂單請求消息包括指定付款方身份資訊。
顯示模組902還可用於回應於通過SDK接收的支付中止通知消息,通過SDK發出支付提示資訊。
支付中止通知消息由SDK伺服器在指定付款方身份資訊與支付請求消息指示的支付的付款方身份資訊不一致的情況下發送。
在一些實施例中,終端設備900還可包括掃描模組。
掃描模組可用於掃描付款碼,得到第一碼資訊;發送模組903還可用於通過SDK向SDK伺服器發送第二訂單查詢消息。
第二訂單查詢消息包括第一碼資訊。
接收模組901還可用於通過SDK接收SDK伺服器發送的第二查詢回饋消息。
第二查詢回饋消息包括與第一碼資訊對應的訂單資訊。
在一些實施例中,發送模組903還可用於通過SDK向SDK伺服器發送付款碼申請消息。
接收模組901還可用於通過SDK接收SDK伺服器發送的付款碼回饋消息,付款碼回饋消息包括付款碼。
顯示模組902還可用於顯示付款碼。
付款碼用於被支付受理設備掃描以生成支付請求消息。
本發明第六方面提供一種宿主程序伺服器。圖19為第六方面提供的宿主程序伺服器的一實施例的結構示意圖。如圖19所示,宿主程序伺服器1000可包括接收模組1001、驗證模組1002和發送模組1003。
接收模組1001可用於接收終端設備通過宿主程序回饋的第一使用者驗證輸入資訊。
終端設備具有軟體開發套件SDK和宿主程序。第一使用者驗證輸入資訊在SDK回應於第一通知消息通知宿主程序展示使用者驗證頁面後得到。第一通知消息是SDK伺服器基於表徵安全驗證通過的安全驗證結果資訊發送的。安全驗證結果資訊是安全控制系統基於安全驗證請求消息中的安全驗證資訊對支付請求消息對應支付進行安全驗證得到的。安全驗證請求消息由SDK伺服器回應於接收的支付請求消息發送。
驗證模組1002可用於根據第一使用者驗證輸入資訊進行使用者驗證,得到使用者驗證結果資訊。
發送模組1003可用於向終端設備中的宿主程序發送使用者驗證結果資訊,通過宿主程序將使用者驗證結果資訊傳輸給SDK,以使SDK向SDK伺服器發送使用者驗證結果資訊,在使用者驗證結果資訊表徵使用者驗證通過的情況下,使SDK伺服器發起付款請求,以完成支付。
在一些實施例中,發送模組1003還可用於向SDK伺服器發送使用者驗證結果資訊,以使SDK伺服器在使用者驗證結果資訊表徵使用者驗證通過且使用者驗證結果資訊滿足一致性驗證條 件的情況下,發起付款請求,以完成支付。
在一些示例中,一致性驗證條件包括第一使用者驗證結果資訊和第二使用者驗證結果資訊一致。
第一使用者驗證結果資訊為由宿主程序伺服器通過宿主程序傳輸給SDK的使用者驗證結果資訊。第二使用者驗證結果資訊為從宿主程序伺服器獲取的使用者驗證結果資訊。
在本發明實施例中,SDK伺服器回應於支付請求消息,向安全控制系統發送安全驗證請求消息,以請求安全控制系統對本次支付進行安全驗證,以完成SDK所屬方所需的安全性方面的驗證。在安全驗證通過的情況下,SDK伺服器向終端設備的SDK發送用於指示SDK通知宿主程序展示使用者驗證頁面的消息,以使SDK能夠觸發宿主程序主動發起使用者驗證。終端設備可接收使用者輸入的第一使用者驗證輸入資訊,並將第一使用者驗證輸入資訊向宿主程序伺服器發送,宿主程序伺服器可完成宿主程序所屬方所需的使用者身份安全性方面的驗證。在支付過程中實現了SDK所屬方和宿主程序所屬方兩個主體的雙向驗證,提高了支付的安全性,也滿足了SDK所屬方和宿主程序所屬方兩個主體對安全性管控的需求。
在一些示例中,宿主程序伺服器存儲有用於對宿主程序與SDK之間交互的資訊進行加、解密的密鑰。
在一些實施例中,接收模組1001還可用於接收SDK伺服器在安全驗證結果資訊表徵安全驗證通過的情況下發送的使用者驗證方式請求消息。
使用者驗證方式請求消息包括支付請求消息指示的支付對應的訂單資訊、終端設備資訊、支付資訊中的一項或兩項以上。
發送模組1003還可用於根據使用者驗證方式請求消息,向SDK伺服器發送使用者驗證方式回饋消息。
使用者驗證方式回饋消息包括驗證操作資訊。
其中,在驗證操作資訊包括拒絕支付標識的情況下,SDK伺服器向SDK發送第二通知消息,第二通知消息用於指示SDK發出拒絕支付提示資訊。在驗證操作資訊包括免密支付標識的情況下,SDK伺服器向SDK發送第三通知消息,第三通知消息用於指示SDK發出免密支付提示資訊。
在一些實施例中,第一通知消息由SDK伺服器在驗證操作資訊包括使用者驗證方式標識的情況下發送。第一通知消息包括使用者驗證方式標識,用於指示SDK通知宿主程序展示與使用者驗證方式標識匹配的使用者驗證頁面,以提示使用者輸入與使用者驗證方式標識匹配的第一使用者驗證輸入資訊。
在一些實施例中,安全驗證結果資訊包括目標宿主程序標識。目標宿主程序標識包括支付請求消息對應的支付的宿主程序標識。
第一通知消息由SDK伺服器在目標使用者驗證調起方為宿主程序的情況下發送。目標使用者驗證調起方為第一對應關係中與目標宿主程序標識匹配的使用者驗證調起方。目標宿主程序標識包括支付請求消息對應的支付的宿主程序標識。第一對應關係包括宿主程序標識與使用者驗證調起方的關係。
本發明第七方面提供了一種SDK伺服器。圖20為本發明第七方面提供的SDK伺服器的一實施例的結構示意圖。如圖20所示,SDK伺服器1100包括記憶體1101、處理器1102及存儲在記憶體1101上並可在處理器1102上運行的電腦程式。
在一個示例中,上述處理器1102可以包括中央處理器(Central Processing Unit,CPU),或者特定積體電路(Application Specific Integrated Circuit,ASIC),或者可以被配置成實施本發明實施例的一個或多個積體電路。
記憶體1101可包括唯讀記憶體(Read-Only Memory, ROM),隨機存取記憶體(Random Access Memory,RAM),磁片存儲介質設備,光存儲介質設備,快閃記憶體設備,電氣、光學或其他物理/有形的記憶體存放裝置。因此,通常,記憶體包括一個或多個編碼有包括電腦可執行指令的軟體的有形(非暫態)電腦可讀存儲介質(例如,記憶體設備),並且當該軟體被執行(例如,由一個或多個處理器)時,其可操作來執行參考根據本發明第一方面實施例中的支付方法所描述的操作。
處理器1102通過讀取記憶體1101中存儲的可執行程式碼來運行與可執行程式碼對應的電腦程式,以用於實現上述第一方面的實施例中的支付方法。
在一些示例中,SDK伺服器1100還可包括通信介面1103和匯流排1104。其中,如圖20所示,記憶體1101、處理器1102、通信介面1103通過匯流排1104連接並完成相互間的通信。
通信介面1103,主要用於實現本發明實施例中各模組、裝置、單元和/或設備之間的通信。也可通過通信介面1103接入輸入裝置和/或輸出設備。
匯流排1104包括硬體、軟體或兩者,將SDK伺服器1100的部件彼此耦接在一起。舉例來說而非限制,匯流排1104可包括高速圖形連接埠(Accelerated Graphics Port,AGP)或其他圖形匯流排、增強工業標準架構(Enhanced Industry Standard Architecture,EISA)匯流排、前端匯流排(Front Side Bus,FSB)、超傳輸(HyperTransport,HT)互連、工業標準架構(Industry Standard Architecture,ISA)匯流排、無限頻寬互連、低引腳數(Low pin count,LPC)匯流排、記憶體匯流排、微通道架構(MicroChannel Architecture,MCA)匯流排、周邊元件連接(Peripheral Component Interconnect,PCI)匯流排、PCI-Express(PCI-E)匯流排、串列高級技術附件(Serial Advanced Technology Attachment,SATA)匯流排、視頻電子標準協 會局部(Video Electronics Standards Association Local Bus,VLB)匯流排或其他合適的匯流排或者兩個或更多個以上這些的組合。在合適的情況下,匯流排1104可包括一個或多個匯流排。儘管本發明實施例描述和示出了特定的匯流排,但本發明考慮任何合適的匯流排或互連。
本發明第八方面提供了一種終端設備,終端設備可包括記憶體、處理器及存儲在記憶體上並可在處理器上運行的電腦程式。記憶體和處理器的種類及關係可參見上述SDK伺服器中記憶體和處理器的相關說明。與上述SDK伺服器的不同之處包括,當記憶體中的軟體被執行時,其可操作來執行參考根據本發明第二方面實施例中的支付方法所描述的操作;以及,處理器通過讀取記憶體中存儲的可執行程式碼來運行與可執行程式碼對應的電腦程式,以用於實現上述第二方面的實施例中的支付方法。在一些示例中,終端設備還可包括通信介面和匯流排。記憶體、處理器、通信介面可通過匯流排連接並完成相互間的通信,記憶體、處理器、通信介面和匯流排之間的通信連接可參見圖20所示的SDK伺服器中的記憶體、處理器、通信介面和匯流排之間的通信連接,在此不再贅述。
本發明第九方面提供了一種宿主程序伺服器,宿主程序伺服器可包括記憶體、處理器及存儲在記憶體上並可在處理器上運行的電腦程式。記憶體和處理器的種類及關係可參見上述SDK伺服器中記憶體和處理器的相關說明。與上述SDK伺服器的不同之處包括,當記憶體中的軟體被執行時,其可操作來執行參考根據本發明第三方面實施例中的支付方法所描述的操作;以及,處理器通過讀取記憶體中存儲的可執行程式碼來運行與可執行程式碼對應的電腦程式,以用於實現上述第三方面的實施例中的支付方法。在一些示例中,宿主程序伺服器還可包括通信介面和匯流排。記憶體、處理器、通信介面可通過匯流排連接並完成相互間的通信,記憶體、處理器、通信介 面和匯流排之間的通信連接可參見圖20所示的SDK伺服器中的記憶體、處理器、通信介面和匯流排之間的通信連接,在此不再贅述。
本發明第十方面提供一種支付系統,該支付系統可包括上述實施例中的SDK伺服器、終端設備和宿主程序伺服器,SDK伺服器、終端設備和宿主程序伺服器的具體內容可參見上述實施例中的相關說明,在此不再贅述。
本發明第十一方面還提供一種電腦可讀存儲介質,該電腦可讀存儲介質上存儲有電腦程式指令,該電腦程式指令被處理器執行時可實現上述實施例中第一方面的支付方法、第二方面的支付方法和/或第三方面的支付方法,且能達到相同的技術效果,為避免重複,這裡不再贅述。其中,上述電腦可讀存儲介質可包括非暫態電腦可讀存儲介質,如唯讀記憶體(Read-Only Memory,ROM)、隨機存取記憶體(Random Access Memory,RAM)、磁碟或者光碟等,在此並不限定。
本發明實施例還可提供一種電腦程式產品,該電腦程式產品中的指令可由SDK伺服器、終端設備、宿主程序伺服器的處理器執行時,使得SDK伺服器、終端設備、宿主程序伺服器執行上述第一方面的實施例中的支付方法、第二方面的實施例中的支付方法、第三方面的實施例中的支付方法。
需要明確的是,本說明書中的各個實施例均採用遞進的方式描述,各個實施例之間相同或相似的部分互相參見即可,每個實施例重點說明的都是與其他實施例的不同之處。對於SDK伺服器實施例、終端設備實施例、宿主程序伺服器實施例、系統實施例、電腦可讀存儲介質實施例和電腦程式產品實施例而言,相關之處可以參見方法實施例的說明部分。本發明並不局限於上文所描述並在圖中示出的特定步驟和結構。本領域的技術人員可以在領會本發明的精神之後,作出各種改變、修改和添加,或者改變步驟之間的順序。並且, 為了簡明起見,這裡省略對已知方法技術的詳細描述。
上面參考根據本發明的實施例的方法、裝置(系統)和電腦程式產品的流程圖和/或框圖描述了本發明的各方面。應當理解,流程圖和/或框圖中的每個方框以及流程圖和/或框圖中各方框的組合可以由電腦程式指令實現。這些電腦程式指令可被提供給通用電腦、專用電腦、或其它可程式設計資料處理裝置的處理器,以產生一種機器,使得經由電腦或其它可程式設計資料處理裝置的處理器執行的這些指令使能對流程圖和/或框圖的一個或多個方框中指定的功能/動作的實現。這種處理器可以是但不限於是通用處理器、專用處理器、特殊應用處理器或者現場可程式設計邏輯電路。還可理解,框圖和/或流程圖中的每個方框以及框圖和/或流程圖中的方框的組合,也可以由執行指定的功能或動作的專用硬體來實現,或可由專用硬體和電腦指令的組合來實現。
本領域技術人員應能理解,上述實施例均是示例性而非限制性的。在不同實施例中出現的不同技術特徵可以進行組合,以取得有益效果。本領域技術人員在研究圖式、說明書及請求項書的基礎上,應能理解並實現所揭示的實施例的其他變化的實施例。在請求項書中,術語“包括”並不排除其他裝置或步驟;數量詞“一個”不排除多個;術語“第一”、“第二”用於標示名稱而非用於表示任何特定的順序。請求項中的任何圖式標記均不應被理解為對保護範圍的限制。請求項中出現的多個部分的功能可以由一個單獨的硬體或軟體模組來實現。某些技術特徵出現在不同的從屬請求項中並不意味著不能將這些技術特徵進行組合以取得有益效果。
S201,S202,S203,S204:步驟

Claims (39)

  1. 一種支付方法,其特徵在於,應用於軟體開發套件SDK伺服器,所述方法包括:
    回應於接收的支付請求消息,向安全控制系統發送安全驗證請求消息,所述安全驗證請求消息包括安全驗證資訊,用於指示所述安全控制系統根據所述安全驗證資訊對所述支付請求消息對應的支付進行安全驗證;
    接收所述安全控制系統發送的安全驗證結果資訊;
    在所述安全驗證結果資訊表徵安全驗證通過的情況下,向終端設備中的SDK發送第一通知消息,所述終端設備具有SDK和宿主程序,所述第一通知消息用於指示所述SDK通知所述宿主程序展示使用者驗證頁面,以提示使用者輸入第一使用者驗證輸入資訊,所述第一使用者驗證輸入資訊用於宿主程序伺服器進行使用者驗證以得到使用者驗證結果資訊;
    在所述使用者驗證結果資訊表徵使用者驗證通過的情況下,發起付款請求,以完成支付。
  2. 如請求項1所述的方法,其中,在所述接收所述安全控制系統發送的安全驗證結果資訊之後,還包括:
    在所述安全驗證結果資訊表徵安全驗證通過的情況下,向所述宿主程序伺服器發送使用者驗證方式請求消息,所述使用者驗證方式請求消息包括所述支付請求消息指示的支付對應的訂單資訊、終端設備資訊、支付資訊中的一項或兩項以上;
    接收所述宿主程序伺服器發送的使用者驗證方式回饋消息,所述使用者驗證方式回饋消息包括驗證操作資訊;
    在所述驗證操作資訊包括拒絕支付標識的情況下,向所述SDK發送第二通知消息,所述第二通知消息用於指示所述SDK發出拒絕支付提示資訊;
    在所述驗證操作資訊包括免密支付標識的情況下,向所述SDK發送第三通知消息,所述第三通知消息用於指示所述SDK發出免密支付提示資訊。
  3. 如請求項2所述的方法,其中,所述向終端設備中的SDK發送第一通知消息,包括:
    在所述驗證操作資訊包括所述使用者驗證方式標識的情況下,向所述SDK發送所述第一通知消息,所述第一通知消息包括所述使用者驗證方式標識,用於指示所述SDK通知所述宿主程序展示與所述使用者驗證方式標識匹配的使用者驗證頁面,以提示使用者輸入與所述使用者驗證方式標識匹配的所述第一使用者驗證輸入資訊。
  4. 如請求項1至3中任意一項所述的方法,其中,所述安全驗證結果資訊包括目標宿主程序標識,所述目標宿主程序標識包括所述支付請求消息對應的支付的宿主程序標識,
    在所述向終端設備中的SDK發送第一通知消息之前,還包括:
    根據所述目標宿主程序標識和預設的第一對應關係,確定與所述目標宿主程序標識對應的目標使用者驗證調起方,所述第一對應關係包括宿主程序標識與使用者驗證調起方的關係;
    所述向終端設備中的SDK發送第一通知消息,包括:
    在所述目標使用者驗證調起方為所述宿主程序的情況下,向所述SDK發送所述第一通知消息。
  5. 如請求項4所述的方法,其中,在所述根據所述目標宿主程序標識和預設的第一對應關係,確定與所述目標宿主程序標識對應的目標使用者驗證調起方之後,還包括:
    在所述目標使用者驗證調起方為所述SDK的情況下,向所述SDK發送第四通知消息,所述第四通知消息用於指示所述SDK展示使用者驗證頁面,以提示使用者輸入第二使用者驗證輸入資訊,所述第二使用者驗證輸入資訊用於所述SDK伺服器進行使用者驗證以得 到使用者驗證結果資訊。
  6. 如請求項1所述的方法,其中,所述發起付款請求,包括:
    在所述使用者驗證結果資訊滿足一致性驗證條件的情況下,發起所述付款請求。
  7. 如請求項1所述的方法,其中,所述一致性驗證條件包括:
    第一使用者驗證結果資訊和第二使用者驗證結果資訊一致,所述第一使用者驗證結果資訊為由所述宿主程序伺服器通過所述宿主程序傳輸給所述SDK的所述使用者驗證結果資訊,所述第二使用者驗證結果資訊為從宿主程序伺服器獲取的所述使用者驗證結果資訊。
  8. 如請求項1所述的方法,其中,所述SDK伺服器存儲有用於對所述SDK與所述宿主程序之間交互的資訊進行加、解密的密鑰。
  9. 如請求項1所述的方法,其中,在所述回應於接收的支付請求消息,向安全控制系統發送安全驗證請求消息之前,還包括:
    回應於商戶系統發送的訂單請求消息,生成訂單標識;
    向所述商戶系統發送訂單回饋消息,以使所述商戶系統向所述SDK發送SDK調用請求消息,所述訂單回饋消息和所述SDK調用請求消息包括所述訂單標識;
    回應於所述SDK發送的第一訂單查詢消息,向所述SDK發送第一查詢回饋消息,所述第一查詢回饋消息包括與所述訂單標識對應的訂單資訊。
  10. 如請求項9所述的方法,其中,所述訂單請求消息包括指定付款方身份資訊,
    所述方法還包括:
    在所述指定付款方身份資訊與所述支付請求消息指示的支付的 付款方身份資訊不一致的情況下,向所述SDK發送支付中止通知消息,以使所述SDK發出支付提示資訊。
  11. 如請求項1所述的方法,其中,在所述回應於接收的支付請求消息,向安全控制系統發送安全驗證請求消息之前,還包括:
    接收所述終端設備的所述SDK發送的第二訂單查詢消息,所述第二訂單查詢消息包括所述終端設備掃描收款碼得到的第一碼資訊;
    向所述SDK發送第二查詢回饋消息,所述第二查詢回饋消息包括與所述第一碼資訊對應的訂單資訊。
  12. 如請求項1所述的方法,其中,在所述回應於接收的支付請求消息,向安全控制系統發送安全驗證請求消息之前,還包括:
    回應於接收的付款碼申請消息,向所述SDK發送付款碼回饋消息,所述付款碼申請消息由所述SDK發送,所述付款碼回饋消息包括付款碼;
    所述支付請求消息由支付受理設備基於掃描的所述付款碼生成。
  13. 一種支付方法,其中,應用於終端設備,所述終端設備具有軟體開發套件SDK和宿主程序,所述方法包括:
    通過所述SDK獲取SDK伺服器發送的第一通知消息,所述第一通知消息是所述SDK伺服器基於表徵安全驗證通過的安全驗證結果資訊發送的,所述安全驗證結果資訊是安全控制系統基於安全驗證請求消息中的安全驗證資訊對支付請求消息對應的支付進行安全驗證得到的,所述安全驗證請求消息由所述SDK伺服器回應於接收的所述支付請求消息發送;
    回應於所述第一通知消息,通過所述SDK通知所述宿主程序展示使用者驗證頁面,以提示使用者輸入第一使用者驗證輸入資訊;
    通過所述宿主程序向宿主程序伺服器回饋第一使用者驗證輸入資訊,所述第一使用者驗證輸入資訊用於宿主程序伺服器進行使用者驗證以得到使用者驗證結果資訊;
    通過所述SDK向所述SDK伺服器發送通過宿主程序從所述宿主程序伺服器獲取的所述使用者驗證結果資訊,使所述SDK伺服器在所述使用者驗證結果資訊表徵使用者驗證通過的情況下,發起付款請求,以完成支付。
  14. 如請求項13所述的方法,其中,還包括:
    回應於所述SDK接收的第二通知消息,通過所述SDK發出拒絕提示資訊,所述第二通知消息由所述SDK伺服器在所述驗證操作資訊包括拒絕支付標識的情況下發送;
    或者,
    回應於所述SDK接收的第三通知消息,通過所述SDK發出免密支付提示資訊,所述第三通知消息由所述SDK伺服器在所述驗證操作資訊包括免密支付標識的情況下發送;
    其中,使用者驗證方式回饋消息包括所述驗證操作資訊,所述使用者驗證方式回饋消息由所述宿主要伺服器回應於使用者驗證方式請求消息發送,所述使用者驗證方式請求消息由SDK伺服器在所述安全驗證結果資訊表徵安全驗證通過的情況下向所述宿主程序伺服器發送,所述使用者驗證方式請求消息包括所述支付請求消息指示的支付對應的訂單資訊、終端設備資訊、支付資訊中的一項或兩項以上。
  15. 如請求項14所述的方法,其中,所述第一通知消息由所述SDK伺服器在所述驗證操作資訊包括所述使用者驗證方式標識的情況下發送,所述第一通知消息包括所述使用者驗證方式標識,用於指示所述SDK通知所述宿主程序展示與所述使用者驗證方式標識匹配的使用者驗證頁面,以提示使用者輸入與所述使用者驗證方式標識匹配的所述第一使用者驗證輸入資訊。
  16. 如請求項13至15中任意一項所述的方法,其中,
    所述安全驗證結果資訊包括目標宿主程序標識,所述目標宿主程序標識包括所述支付請求消息對應的支付的宿主程序標識,
    所述第一通知消息由所述SDK伺服器在目標使用者驗證調起方為所述宿主程序的情況下發送,所述目標使用者驗證調起方為第一對應關係中與目標宿主程序標識匹配的使用者驗證調起方,所述目標宿主程序標識包括所述支付請求消息對應的支付的宿主程序標識,所述第一對應關係包括宿主程序標識與使用者驗證調起方的關係。
  17. 如請求項16所述的方法,其中,還包括:
    通過所述SDK獲取SDK伺服器發送的第四通知消息,所述第四通知消息由所述SDK伺服器在所述目標使用者驗證調起方為所述SDK的情況下發送;
    回應於所述第四通知消息,調用所述SDK展示使用者驗證頁面,以提示使用者輸入第二使用者驗證輸入資訊;
    通過所述SDK向所述SDK伺服器回饋所述第二使用者驗證輸入資訊,所述第二使用者驗證輸入資訊用於所述SDK伺服器進行使用者驗證以得到使用者驗證結果資訊。
  18. 如請求項13所述的方法,其中,所述使用者驗證結果資訊還用於使所述SDK伺服器在所述使用者驗證結果資訊滿足一致性驗證條件的情況下,發起所述付款請求。
  19. 如請求項18所述的方法,其中,所述一致性驗證條件包括:
    所述第一使用者驗證結果資訊和第二使用者驗證結果資訊一致,所述第一使用者驗證結果資訊為由所述宿主程序伺服器通過所述宿主程序傳輸給所述SDK的所述使用者驗證結果資訊,所述第二使用者驗證結果資訊為從宿主程序伺服器獲取的所述使用者驗證結果資訊。
  20. 如請求項13所述的方法,其中,所述SDK具有安全域,所述SDK中的資訊存儲於所述安全域;
    所述SDK與所述宿主程序之間交互的資訊為加密資訊,所述 SDK中加、解密的密鑰存儲於所述SDK伺服器,所述宿主程序中加、解密的密鑰存儲於所述宿主程序伺服器。
  21. 如請求項13所述的方法,其中,在所述通過所述SDK獲取SDK伺服器發送的第一通知消息之前,還包括:
    通過所述SDK接收SDK調用請求消息,所述SDK調用請求消息由商戶系統回應於訂單回饋消息生成,所述訂單回饋消息和所述SDK調用請求消息包括訂單標識,所述訂單標識由所述SDK伺服器回應於所述商戶系統發送的訂單請求消息生成;
    回應於所述SDK調用請求消息,通過所述SDK向所述SDK伺服器發送第一訂單查詢消息;
    通過所述SDK接收所述SDK伺服器回應於所述第一訂單查詢消息發送的第一查詢回饋消息,所述第一查詢回饋消息包括與所述訂單標識對應的訂單資訊。
  22. 如請求項21所述的方法,其中,所述訂單請求消息包括指定付款方身份資訊,
    所述方法還包括:
    回應於通過所述SDK接收的支付中止通知消息,通過所述SDK發出支付提示資訊,所述支付中止通知消息由所述SDK伺服器在所述指定付款方身份資訊與所述支付請求消息指示的支付的付款方身份資訊不一致的情況下發送。
  23. 如請求項13所述的方法,其中,在所述通過所述SDK獲取SDK伺服器發送的第一通知消息之前,還包括:
    掃描付款碼,得到第一碼資訊;
    通過所述SDK向所述SDK伺服器發送第二訂單查詢消息,所述第二訂單查詢消息包括所述第一碼資訊。
    通過所述SDK接收所述SDK伺服器發送的第二查詢回饋消息,所述第二查詢回饋消息包括與所述第一碼資訊對應的訂單資訊。
  24. 如請求項13所述的方法,其中,在所述通過所述SDK獲取SDK伺服器發送的第一通知消息之前,還包括:
    通過所述SDK向所述SDK伺服器發送付款碼申請消息;
    通過所述SDK接收所述SDK伺服器發送的付款碼回饋消息,所述付款碼回饋消息包括付款碼;
    顯示所述付款碼,所述付款碼用於被支付受理設備掃描以生成所述支付請求消息。
  25. 一種支付方法,其特徵在於,應用於宿主程序伺服器,所述方法包括:
    接收終端設備通過宿主程序回饋的第一使用者驗證輸入資訊,所述終端設備具有軟體開發套件SDK和所述宿主程序,所述第一使用者驗證輸入資訊在所述SDK回應於第一通知消息通知所述宿主程序展示使用者驗證頁面後得到,所述第一通知消息是所述SDK伺服器基於表徵安全驗證通過的安全驗證結果資訊發送的,所述安全驗證結果資訊是安全控制系統基於安全驗證請求消息中的安全驗證資訊對支付請求消息對應支付進行安全驗證得到的,所述安全驗證請求消息由所述SDK伺服器回應於接收的所述支付請求消息發送;
    根據所述第一使用者驗證輸入資訊進行使用者驗證,得到使用者驗證結果資訊;
    向所述終端設備中的所述宿主程序發送所述使用者驗證結果資訊,通過所述宿主程序將所述使用者驗證結果資訊傳輸給所述SDK,以使所述SDK向所述SDK伺服器發送所述使用者驗證結果資訊,在所述使用者驗證結果資訊表徵使用者驗證通過的情況下,使SDK伺服器發起付款請求,以完成支付。
  26. 如請求項25所述的方法,其中,在所述接收終端設備通過宿主程序回饋的第一使用者驗證輸入資訊之前,還包括:
    接收所述SDK伺服器在所述安全驗證結果資訊表徵安全驗證通 過的情況下發送的使用者驗證方式請求消息,所述使用者驗證方式請求消息包括所述支付請求消息指示的支付對應的訂單資訊、終端設備資訊、支付資訊中的一項或兩項以上;
    根據所述使用者驗證方式請求消息,向所述SDK伺服器發送使用者驗證方式回饋消息,所述使用者驗證方式回饋消息包括驗證操作資訊;
    其中,在所述驗證操作資訊包括拒絕支付標識的情況下,所述SDK伺服器向所述SDK發送第二通知消息,所述第二通知消息用於指示所述SDK發出拒絕支付提示資訊;在所述驗證操作資訊包括免密支付標識的情況下,所述SDK伺服器向所述SDK發送第三通知消息,所述第三通知消息用於指示所述SDK發出免密支付提示資訊。
  27. 如請求項26所述的方法,其中,所述第一通知消息由所述SDK伺服器在所述驗證操作資訊包括所述使用者驗證方式標識的情況下發送,所述第一通知消息包括所述使用者驗證方式標識,用於指示所述SDK通知所述宿主程序展示與所述使用者驗證方式標識匹配的使用者驗證頁面,以提示使用者輸入與所述使用者驗證方式標識匹配的所述第一使用者驗證輸入資訊。
  28. 如請求項25至27中任意一項所述的方法,其中,
    所述安全驗證結果資訊包括目標宿主程序標識,所述目標宿主程序標識包括所述支付請求消息對應的支付的宿主程序標識,
    所述第一通知消息由所述SDK伺服器在目標使用者驗證調起方為所述宿主程序的情況下發送,所述目標使用者驗證調起方為第一對應關係中與目標宿主程序標識匹配的使用者驗證調起方,所述目標宿主程序標識包括所述支付請求消息對應的支付的宿主程序標識,所述第一對應關係包括宿主程序標識與使用者驗證調起方的關係。
  29. 如請求項25所述的方法,其中,還包括:
    向所述SDK伺服器發送所述使用者驗證結果資訊,以使所述 SDK伺服器在所述使用者驗證結果資訊表徵使用者驗證通過且所述使用者驗證結果資訊滿足一致性驗證條件的情況下,發起付款請求,以完成支付。
  30. 如請求項29所述的方法,其中,所述一致性驗證條件包括:
    第一使用者驗證結果資訊和第二使用者驗證結果資訊一致,所述第一使用者驗證結果資訊為由所述宿主程序伺服器通過所述宿主程序傳輸給所述SDK的所述使用者驗證結果資訊,所述第二使用者驗證結果資訊為從宿主程序伺服器獲取的所述使用者驗證結果資訊。
  31. 如請求項25所述的方法,其中,所述宿主程序伺服器存儲有用於對所述宿主程序與所述SDK之間交互的資訊進行加、解密的密鑰。
  32. 一種軟體開發套件SDK伺服器,其特徵在於,包括:
    發送模組,用於回應於接收的支付請求消息,向安全控制系統發送安全驗證請求消息,所述安全驗證請求消息包括安全驗證資訊,用於指示所述安全控制系統根據所述安全驗證資訊對所述支付請求消息對應的支付進行安全驗證;
    接收模組,用於接收所述安全控制系統發送的安全驗證結果資訊;
    所述發送模組還用於在所述安全驗證結果資訊表徵安全驗證通過的情況下,向終端設備中的SDK發送第一通知消息,所述終端設備具有SDK和宿主程序,所述第一通知消息用於指示所述SDK通知所述宿主程序展示使用者驗證頁面,以提示使用者輸入第一使用者驗證輸入資訊,所述第一使用者驗證輸入資訊用於宿主程序伺服器進行使用者驗證以得到使用者驗證結果資訊;
    所述發送模組還用於在所述使用者驗證結果資訊表徵使用者驗證通過的情況下,發起付款請求,以完成支付。
  33. 一種終端設備,其特徵在於,所述終端設備具有軟體 開發套件SDK和宿主程序,所述終端設備包括:
    接收模組,用於通過所述SDK獲取SDK伺服器發送的第一通知消息,所述第一通知消息是所述SDK伺服器基於表徵安全驗證通過的安全驗證結果資訊發送的,所述安全驗證結果資訊是安全控制系統基於安全驗證請求消息中的安全驗證資訊對支付請求消息對應的支付進行安全驗證得到的,所述安全驗證請求消息由所述SDK伺服器回應於接收的所述支付請求消息發送;
    顯示模組,用於回應於所述第一通知消息,通過所述SDK通知所述宿主程序展示使用者驗證頁面,以提示使用者輸入第一使用者驗證輸入資訊;
    發送模組,用於通過所述宿主程序向宿主程序伺服器回饋第一使用者驗證輸入資訊,所述第一使用者驗證輸入資訊用於宿主程序伺服器進行使用者驗證以得到使用者驗證結果資訊;
    所述發送模組還用於通過所述SDK向所述SDK伺服器發送通過宿主程序從所述宿主程序伺服器獲取的所述使用者驗證結果資訊,使所述SDK伺服器在所述使用者驗證結果資訊表徵使用者驗證通過的情況下,發起付款請求,以完成支付。
  34. 一種宿主程序伺服器,其特徵在於,包括:
    接收模組,用於接收終端設備通過宿主程序回饋的第一使用者驗證輸入資訊,所述終端設備具有軟體開發套件SDK和所述宿主程序,所述第一使用者驗證輸入資訊在所述SDK回應於第一通知消息通知所述宿主程序展示使用者驗證頁面後得到,所述第一通知消息是所述SDK伺服器基於表徵安全驗證通過的安全驗證結果資訊發送的,所述安全驗證結果資訊是安全控制系統基於安全驗證請求消息中的安全驗證資訊對支付請求消息對應支付進行安全驗證得到的,所述安全驗證請求消息由所述SDK伺服器回應於接收的所述支付請求消息發送;
    驗證模組,用於根據所述第一使用者驗證輸入資訊進行使用者驗證,得到使用者驗證結果資訊;
    發送模組,用於向所述終端設備中的所述宿主程序發送所述使用者驗證結果資訊,通過所述宿主程序將所述使用者驗證結果資訊傳輸給所述SDK,以使所述SDK向所述SDK伺服器發送所述使用者驗證結果資訊,在所述使用者驗證結果資訊表徵使用者驗證通過的情況下,使SDK伺服器發起付款請求,以完成支付。
  35. 一種軟體開發套件SDK伺服器,其特徵在於,包括:處理器以及存儲有電腦程式指令的記憶體;
    所述處理器執行所述電腦程式指令時實現如請求項1至12中任意一項所述的支付方法。
  36. 一種終端設備,其特徵在於,包括:處理器以及存儲有電腦程式指令的記憶體;
    所述處理器執行所述電腦程式指令時實現如請求項13至24中任意一項所述的支付方法。
  37. 一種宿主程序伺服器,其特徵在於,包括:處理器以及存儲有電腦程式指令的記憶體;
    所述處理器執行所述電腦程式指令時實現如請求項25至31中任意一項所述的支付方法。
  38. 一種支付系統,其特徵在於,包括如請求項35所述的軟體開發套件SDK伺服器、如請求項36所述的終端設備和如請求項37所述的宿主程序伺服器。
  39. 一種電腦可讀存儲介質,其特徵在於,所述電腦可讀存儲介質上存儲有電腦程式指令,所述電腦程式指令被處理器執行時實現如請求項1至31中任意一項所述的支付方法。
TW111137387A 2022-03-10 2022-09-30 支付方法、終端設備、伺服器、系統及介質 TW202336668A (zh)

Applications Claiming Priority (2)

Application Number Priority Date Filing Date Title
CN202210238575.1A CN114638608A (zh) 2022-03-10 2022-03-10 支付方法、终端设备、服务器、系统及介质
CN202210238575.1 2022-03-10

Publications (1)

Publication Number Publication Date
TW202336668A true TW202336668A (zh) 2023-09-16

Family

ID=81947619

Family Applications (1)

Application Number Title Priority Date Filing Date
TW111137387A TW202336668A (zh) 2022-03-10 2022-09-30 支付方法、終端設備、伺服器、系統及介質

Country Status (3)

Country Link
CN (1) CN114638608A (zh)
TW (1) TW202336668A (zh)
WO (1) WO2023168938A1 (zh)

Families Citing this family (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN114638608A (zh) * 2022-03-10 2022-06-17 中国银联股份有限公司 支付方法、终端设备、服务器、系统及介质

Family Cites Families (7)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN106304074B (zh) * 2016-08-31 2019-08-16 尹子栋 面向移动用户的身份验证方法和系统
CN106600266A (zh) * 2016-12-05 2017-04-26 深圳前海微众银行股份有限公司 基于sdk的移动支付方法及装置
CN206993151U (zh) * 2017-07-06 2018-02-09 北京承启通科技有限公司 网络信令安全验证系统
WO2021007026A1 (en) * 2019-07-08 2021-01-14 Mastercard International Incorporated Systems and methods for use in facilitating network interactions
CN111538965B (zh) * 2020-04-15 2021-10-12 支付宝(杭州)信息技术有限公司 一种应用程序的授权登录方法、装置及系统
CN113298523A (zh) * 2021-05-31 2021-08-24 中国建设银行股份有限公司 运营平台支付方法及金融服务平台
CN114638608A (zh) * 2022-03-10 2022-06-17 中国银联股份有限公司 支付方法、终端设备、服务器、系统及介质

Also Published As

Publication number Publication date
CN114638608A (zh) 2022-06-17
WO2023168938A1 (zh) 2023-09-14

Similar Documents

Publication Publication Date Title
RU2649786C2 (ru) Мобильное платежное устройство на базе технологии биораспознавания, способ и устройство
KR101759193B1 (ko) 안전한 전자 거래를 위한 네트워크 인증 방법
WO2015101310A1 (zh) 一种业务处理方法、装置及系统
CN105634737B (zh) 一种数据传输方法、终端及其系统
CN105512576A (zh) 一种数据安全存储的方法及电子设备
US11088822B2 (en) Methods, systems, and media for using dynamic public key infrastructure to send and receive encrypted messages
TWI632798B (zh) 伺服器、行動終端機、網路實名認證系統及方法
WO2020062784A1 (zh) 安全支付方法、装置、服务器及存储介质
CN109063450B (zh) 一种安全存储介质的控制方法、安全存储介质及系统
CN110311895B (zh) 基于身份验证的会话权限校验方法、系统及电子设备
TW201525748A (zh) 密碼重置方法、裝置和系統
CN109818747B (zh) 数字签名方法及装置
CN113836506A (zh) 身份认证方法、装置、系统、电子设备、存储介质
JP7457838B2 (ja) カード管理方法、ユーザ端末、サーバ、システム、及び記憶媒体
CN112966287B (zh) 获取用户数据的方法、系统、设备和计算机可读介质
CN112866228A (zh) 一种控制web系统越权访问的方法和装置
KR20210046357A (ko) 블록체인 기반 시스템을 위한 키의 저장 및 복구 방법과 그 장치
CN114143108B (zh) 一种会话加密方法、装置、设备及存储介质
WO2023168938A1 (zh) 支付方法、终端设备、服务器、系统及介质
CN106411520B (zh) 一种虚拟资源数据的处理方法、装置及系统
US20150310441A1 (en) Transaction system method, electronic signature tool, and network bank server authentication
JP2016071538A (ja) 認証システム
CN114417309A (zh) 一种双向身份验证方法、装置、设备及存储介质
CN104899730B (zh) 一种移动终端数据处理方法、终端及系统
CN114595465A (zh) 数据加密处理方法、装置及电子设备