CN112819469B - 支付方法及系统、终端、服务器、计算机系统和介质 - Google Patents
支付方法及系统、终端、服务器、计算机系统和介质 Download PDFInfo
- Publication number
- CN112819469B CN112819469B CN202110278230.4A CN202110278230A CN112819469B CN 112819469 B CN112819469 B CN 112819469B CN 202110278230 A CN202110278230 A CN 202110278230A CN 112819469 B CN112819469 B CN 112819469B
- Authority
- CN
- China
- Prior art keywords
- payment
- data
- trusted
- component
- target
- Prior art date
- Legal status (The legal status 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 status listed.)
- Active
Links
- 238000000034 method Methods 0.000 title claims abstract description 77
- 238000012795 verification Methods 0.000 claims description 21
- 238000004590 computer program Methods 0.000 claims description 15
- 238000013507 mapping Methods 0.000 claims description 10
- 230000015654 memory Effects 0.000 claims description 8
- 230000002618 waking effect Effects 0.000 abstract description 2
- 238000010586 diagram Methods 0.000 description 10
- 230000006870 function Effects 0.000 description 8
- 238000004891 communication Methods 0.000 description 7
- 238000013524 data verification Methods 0.000 description 4
- 238000012545 processing Methods 0.000 description 4
- 230000000694 effects Effects 0.000 description 2
- 238000009472 formulation Methods 0.000 description 2
- 230000014509 gene expression Effects 0.000 description 2
- 238000007726 management method Methods 0.000 description 2
- 239000000203 mixture Substances 0.000 description 2
- 239000000758 substrate Substances 0.000 description 2
- 108010001267 Protein Subunits Proteins 0.000 description 1
- 238000005516 engineering process Methods 0.000 description 1
- 239000000835 fiber Substances 0.000 description 1
- 239000004973 liquid crystal related substance Substances 0.000 description 1
- 230000003287 optical effect Effects 0.000 description 1
- 238000004806 packaging method and process Methods 0.000 description 1
- 239000004065 semiconductor Substances 0.000 description 1
Classifications
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06Q—INFORMATION 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/00—Payment architectures, schemes or protocols
- G06Q20/38—Payment protocols; Details thereof
- G06Q20/382—Payment protocols; Details thereof insuring higher security of transaction
- G06Q20/3825—Use of electronic signatures
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06Q—INFORMATION 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/00—Payment architectures, schemes or protocols
- G06Q20/38—Payment protocols; Details thereof
- G06Q20/382—Payment protocols; Details thereof insuring higher security of transaction
- G06Q20/3829—Payment protocols; Details thereof insuring higher security of transaction involving key management
Landscapes
- Business, Economics & Management (AREA)
- Engineering & Computer Science (AREA)
- Accounting & Taxation (AREA)
- Computer Security & Cryptography (AREA)
- Finance (AREA)
- Strategic Management (AREA)
- Physics & Mathematics (AREA)
- General Business, Economics & Management (AREA)
- General Physics & Mathematics (AREA)
- Theoretical Computer Science (AREA)
- Financial Or Insurance-Related Operations Such As Payment And Settlement (AREA)
Abstract
本公开提供了一种支付方法,该方法包括:在第一应用程序运行过程中,当终端接收到携带订单数据的支付请求时,终端调用支付SDK,向可信支付组件获取支付数据,支付数据包括目标支付数据,终端调用支付SDK,将携带目标支付数据的支付请求发送给支付服务器,支付服务器接收支付SDK发送的目标支付数据,支付服务器验证目标支付数据是否与指定支付数据一致,支付服务器将支付结果返回给支付SDK。用户通过第一应用程序内的支付SDK,将可信支付组件返回的目标支付数据发送给服务器即可在第一应用程序内完成支付,无需唤醒支付服务器对应的应用程序。本公开还提供了一种支付方法及系统、终端、服务器、计算机系统和介质。
Description
技术领域
本公开涉及计算机技术领域,更具体地,涉及一种支付方法及系统、终端、服务器、计算机系统和介质。
背景技术
当前银行的支付服务通过支付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,将可信支付组件返回的目标支付数据发送给服务器即可在第一应用程序内完成支付,无需唤醒支付服务器对应的应用程序。
附图说明
为了更完整地理解本公开及其优势,现在将参考结合附图的以下描述,其中:
图1示意性示出了根据本公开实施例的可以应用支付方法的示例性系统架构;
图2示意性示出了根据本公开实施例的支付方法的流程图;
图3示意性示出了根据本公开实施例的支付数据生成方法的流程图;
图4示意性示出了根据本公开实施例的支付方法的流程图;
图5示意性示出了根据本公开实施例的支付方法的流程图;
图6示意性示出了根据本公开实施例的目标支付数据验证方法的流程图;
图7示意性示出了根据本公开实施例的支付方法的流程图;
图8示意性示出了根据本公开实施例的终端的框图;
图9示意性示出了根据本公开实施例的支付服务器的框图;
图10示意性示出了根据本公开实施例的适于实现上文描述的方法的计算机系统的方框图。
具体实施方式
以下,将参照附图来描述本公开的实施例。但是应该理解,这些描述只是示例性的,而并非要限制本公开的范围。在下面的详细描述中,为便于解释,阐述了许多具体的细节以提供对本公开实施例的全面理解。然而,明显地,一个或多个实施例在没有这些具体细节的情况下也可以被实施。此外,在以下说明中,省略了对公知结构和技术的描述,以避免不必要地混淆本公开的概念。
在此使用的术语仅仅是为了描述具体实施例,而并非意在限制本公开。在此使用的术语“包括”、“包含”等表明了特征、步骤、操作和/或部件的存在,但是并不排除存在或添加一个或多个其他特征、步骤、操作或部件。
在此使用的所有术语(包括技术和科学术语)具有本领域技术人员通常所理解的含义,除非另外定义。应注意,这里使用的术语应解释为具有与本说明书的上下文相一致的含义,而不应以理想化或过于刻板的方式来解释。
在使用类似于“A、B和C等中至少一个”这样的表述的情况下,一般来说应该按照本领域技术人员通常理解该表述的含义来予以解释(例如,“具有A、B和C中至少一个的系统”应包括但不限于单独具有A、单独具有B、单独具有C、具有A和B、具有A和C、具有B和C、和/或具有A、B、C的系统等)。在使用类似于“A、B或C等中至少一个”这样的表述的情况下,一般来说应该按照本领域技术人员通常理解该表述的含义来予以解释(例如,“具有A、B或C中至少一个的系统”应包括但不限于单独具有A、单独具有B、单独具有C、具有A和B、具有A和C、具有B和C、和/或具有A、B、C的系统等)。
图1示意性示出了根据本公开实施例的可以应用支付方法的示例性系统架构100。需要注意的是,图1所示仅为可以应用本公开实施例的系统架构的示例,以帮助本领域技术人员理解本公开的技术内容,但并不意味着本公开实施例不可以用于其他设备、系统、环境或场景。
如图1所示,根据该实施例的系统架构100可以包括终端设备101,网络102和服务器/服务器集群103。网络102用以在终端设备101和服务器/服务器集群103之间提供通信链路的介质。网络102可以包括各种连接类型,例如有线、无线通信链路或者光纤电缆等等。
终端设备101上可以安装有各种客户端应用和相应组件,例如,当客户端应用为购物APP、外卖APP等时,可安装可信支付组件(仅为示例),客户端应用内安装相应支付SDK。终端设备101内客户端应用安装的支付SDK与可信支付组件和服务器/服务器集群103进行交互,以向服务器/服务器集群103发送各种请求或接收服务器/服务器集群103返回的结果。
终端设备101可以是各种电子设备,包括但不限于智能手机、平板电脑、膝上型便携计算机和台式计算机等等。
服务器服务器/服务器集群103是可以提供各种服务支持的后台管理服务器或服务器集群(仅为示例)。后台管理服务器可以对接收到的用户请求等数据进行分析等处理,并将处理结果(例如根据用户支付请求得到的支付结果数据等)反馈给终端设备。
应该理解,图1中的终端设备、网络和服务器/服务器集群的数目仅仅是示意性的。根据实际需要,可以具有任意数目的终端设备、网络和服务器/服务器集群。
图2示意性示出了根据本公开实施例的支付方法的流程图,可以应用于终端,终端内安装有第一应用程序和可信支付组件。
如图2所示,该支付方法可以包括操作S210~S240。
在操作S210,接收支付服务器下发给第一应用程序的支付SDK。
在操作S220,在第一应用程序运行过程中,当接收到携带订单数据的支付请求时,调用支付SDK,向可信支付组件获取支付数据,支付数据包括目标支付数据。
在操作S230,调用支付SDK,将携带支付数据的支付请求发送给支付服务器。
在操作S240,调用支付SDK,接收支付服务器返回的支付结果,并将支付结果发送给第一应用程序。
在本公开中,支付服务通过支付SDK对外输出。只有和支付服务器达成合作协议的第三方应用程序才能使用该支付SDK。在本公开中,该第三方应用程序表示为第一应用程序。
在本公开中,可信支付组件具有唯一序列号,可信支付组件运行在可信执行环境中,提供该可信执行环境的硬件设备具有唯一标识。可信执行环境(TEE,TrustedExecution Environment)是在终端上给RichOS提供安全服务的环境。
在本公开中,不同品牌和型号的终端,其安装的可信支付组件是不同的,不同终端需要下载对应的可信支付组件才可以正常使用。
在本公开其中一个实施例中,操作S202中,调用支付SDK,向可信支付组件获取支付数据包括:调用支付SDK,接收携带订单数据的支付请求,调用支付SDK,将携带订单数据的支付请求发送给可信支付组件,在可信支付组件接收到携带订单数据的支付请求后,调用可信支付组件,在第一应用程序中对当前用户进行身份验证。若用户的身份验证通过,则调用可信支付组件,获取用户的用户信息,并调用可信支付组件,基于用户的用户信息、订单数据和可信支付组件,生成支付数据,调用可信支付组件,将支付数据发送给支付SDK。
在本公开中,支付数据包括订单签名数据、密钥生成因子、所有支付银行卡唯一标识的加密数据、所有支付银行卡唯一标识的加密签名数据、可信支付组件的序列号和硬件设备的唯一标识。
其中,用户可以通过语音、密码、人脸、指纹等任意一种或多种验证方式进行身份验证。可信支付组件中存储有用户设置好的验证数据,在进行身份验证时,获取用户输入的待验证数据,将用户输入的待验证数据与该用户提前设置好的验证数据进行比对,若一致,则身份验证通过,若不一致,则身份验证不通过,可信支付组件向支付SDK返回身份验证失败的提示信息,进而由支付SDK向第一应用程序返回该身份验证失败的提示信息。
在本公开中,当用户通过可信支付组件设置在好验证数据后,可信支付组件可以生成用户专属的公钥和私钥,该公钥和私钥存储在可信支付组件中。可信支付组件内还存储用户开通支付服务时设置的所有支付银行卡的唯一标识。
图3示意性示出了根据本公开实施例的支付数据生成方法的流程图,应用于可信支付组件。
如图3所示,该支付数据生成方法可以包括操作S310~S340。
在操作S310中,调用可信支付组件,生成密钥生成因子,并利用密钥生成因子,生成加密密钥。
在操作S320中,调用可信支付组件,利用加密密钥对每个支付银行卡的唯一标识进行加密,得到所有支付银行卡唯一标识的加密数据。
在操作S330中,调用可信支付组件,利用用户的私钥,对订单数据和所有支付银行卡的唯一标识进行签名,得到订单签名数据和所有支付银行卡唯一标识的加密签名数据。
在操作S340中,调用可信支付组件,获取可信支付组件的序列号和硬件设备的唯一标识。
在本公开中,支付数据包括订单签名数据、密钥生成因子、所有支付银行卡唯一标识的加密数据、所有支付银行卡唯一标识的加密签名数据、可信支付组件的序列号和硬件设备的唯一标识。
在本公开中,密钥生成因子具有一次性特性,只允许使用一次。第一应用程序接收到支付结果后,销毁密钥生成因子。
图4示意性示出了根据本公开实施例的支付方法的流程图,应用于终端,终端内安装有第一应用程序和可信支付组件。
该支付方法可以包括操作S210~S240,S310~S340以及,操作S410~S430,其中,操作S210~S240与图2所描述的操作相同或类似,操作S310~S340与图3所描述的操作相同或类似,此处不再赘述。
在操作S410,调用支付SDK,接收可信支付组件返回的订单签名数据、密钥生成因子、所有支付银行卡唯一标识的加密数据、所有支付银行卡唯一标识的加密签名数据、可信支付组件的序列号和硬件设备的唯一标识。
在操作S420,调用支付SDK,在第一应用程序中向用户展示支付银行卡选择页面。
在操作S430,调用支付SDK,获取用户选择的目标支付银行卡,并从所有支付银行卡唯一标识的加密数据中查找与目标支付银行卡对应的目标加密数据,从支付银行卡唯一标识的加密签名数据中查找与目标支付银行卡对应的目标加密签名数据。
在本公开中,目标支付数据包括用户信息、订单签名数据、密钥生成因子、目标加密数据、目标加密签名数据、可信支付组件的序列号和硬件设备的唯一标识。更多的,还目标数据中还可包括订单数据,以在服务器执行支付服务之前,验证订单是否合法。
在本公开其中一个实施例中,支付SDK通过支付中间件与可信支付组件进行通信。该支付中间件与支付SDK和可信支付组件之间的通信数据通过特定算法进行加密,以保证数据安全性。支付SDK通过支付中间件与可信支付组件进行通信,例如,支付SDK向支付中间件发送携带订单数据的支付请求,支付中间件将携带订单数据的支付请求发送给可信支付组件。又例如,可信支付组件将支付数据发送给支付中间件,支付中间件将支付数据发送给支付SDK。
图5示意性示出了根据本公开实施例的支付方法的流程图,可以应用于支付服务器。
如图5所示,该支付方法可以包括操作510~S540。
在操作S510,向第一应用程序下发支付SDK。
在操作S520,接收支付SDK发送的目标支付数据。
在操作S530,验证目标支付数据是否与指定支付数据一致,若一致,则进行支付,支付结果为支付成功,若不一致,则不进行支付,支付结果为支付失败。
在操作S540,将支付结果返回给支付SDK。
在本公开中,支付SDK发送的目标支付数据包括用户信息、订单签名数据、密钥生成因子、目标加密数据、目标加密签名数据、可信支付组件的序列号和硬件设备的唯一标识。
在本公开中,支付服务器中存储有用户信息、支付银行卡的唯一标识、公钥、可信支付组件的序列号、硬件设备的唯一标识之间的映射关系。
图6示意性示出了根据本公开实施例的目标支付数据验证方法的流程图,可以应用于支付服务器。
如图6所示,该目标支付数据验证方法可以包括操作610~S640。
在操作S610中,在映射关系中,查找与目标支付数据中的用户信息、可信支付组件的序列号、硬件设备的唯一标识对应的公钥和所有支付银行卡的唯一标识;
在操作S620中,利用公钥,验证目标支付数据中的订单签名数据、目标加密签名数据;
在操作S630中,若验证通过,则利用密钥生成因子生成解密密钥,并利用解密密钥解密目标支付数据中的目标加密数据,得到目标支付银行卡的唯一标识;
在操作S640中,判断目标支付银行卡的唯一标识是否在所有支付银行卡的唯一标识中;
若在,则目标支付数据与指定支付数据一致;若不在,则目标支付数据与指定支付数据不一致。
图7示意性示出了根据本公开实施例的支付方法的流程图,可以应用于支付服务器,目标支付数据还包括订单数据。
如图7所示,该目标支付数据验证方法包括操作S510~S540,S610~S640,以及,操作S710~S730,其中,操作S510~S540与图5所描述的操作相同或类似,操作S610~S640与图6所描述的操作相同或类似,此处不再赘述。
在操作S710中,判断硬件设备的唯一标识、支付银行卡的唯一标识、订单数据是否均合法。
在操作S720中,若硬件设备的唯一标识、支付银行卡的唯一标识和订单数据任一不合法,则向支付SDK返回相应的提示信息。
在操作S730中,若硬件设备的唯一标识、支付银行卡的唯一标识和订单数据均合法,则执行操作S530。
本公开提供的支付方法,用户在第三方应用程序中通过四个步骤即可以完成支付。第一步:发送支付请求;第二步,验证用户身份;第三步,选择支付银行卡,第四步,查看支付结果。
图8示意性示出了根据本公开实施例的终端的框图,终端内安装有第一应用程序和可信支付组件。
如图8所示,该终端800可以包括:接收模块810、支付SDK820、可信支付组件830。
接收模块810,用于接收支付服务器下发给第一应用程序的支付SDK820:
支付SDK820,用于在第一应用程序运行过程中,当接收到携带订单数据的支付请求时,向可信支付组件830获取支付数据,支付数据包括目标支付数据;
支付SDK820,用于将携带目标支付数据的支付请求发送给支付服务器;
支付SDK820,用于接收支付服务器返回的支付结果;
支付SDK820,用于将支付结果发送给第一应用程序。
在本公开其中一个实施例中,支付SDK820,用于接收携带订单数据的支付请求;支付SDK820,用于将携带订单数据的支付请求发送给可信支付组件830;可信支付组件830,用于在可信支付组件830接收到携带订单数据的支付请求后,在第一应用程序中对当前用户进行身份验证;可信支付组件830,用于若用户的身份验证通过,获取用户的用户信息,并基于用户的用户信息、订单数据和可信支付组件830,生成支付数据;可信支付组件830,用于将支付数据发送给支付SDK820。
在本公开其中一个实施例中,可信支付组件830具有唯一序列号,可信支付组件830运行在可信执行环境中,提供可信执行环境的硬件设备具有唯一标识。
在本公开其中一个实施例中,可信支付组件830内存储用户开通支付服务时设置的所有支付银行卡的唯一标识,以及,用户的私钥。基于用户的用户信息、订单数据和可信支付组件,生成部分支付数据,包括:生成密钥生成因子,并利用密钥生成因子,生成加密密钥;利用加密密钥对每个支付银行卡的唯一标识进行加密,得到所有支付银行卡唯一标识的加密数据;利用用户的私钥,对订单数据和所有支付银行卡的唯一标识进行签名,得到订单签名数据和所有支付银行卡唯一标识的加密签名数据;获取可信支付组件的序列号和硬件设备的唯一标识。
在本公开其中一个实施例中,将支付数据发送给支付SDK820包括:将订单签名数据、密钥生成因子、所有支付银行卡唯一标识的加密数据、所有支付银行卡唯一标识的加密签名数据、可信支付组件830的序列号和硬件设备的唯一标识发送给支付SDK820。
在本公开其中一个实施例中,支付SDK820,还用于接收可信支付组件830返回的订单签名数据、密钥生成因子、所有支付银行卡唯一标识的加密数据、所有支付银行卡唯一标识的加密签名数据、可信支付组件830的序列号和硬件设备的唯一标识;支付SDK820,还用于在第一应用程序中向用户展示支付银行卡选择页面;支付SDK820,还用于获取用户选择的目标支付银行卡,并从所有支付银行卡唯一标识的加密数据中查找与目标支付银行卡对应的目标加密数据,从支付银行卡唯一标识的加密签名数据中查找与目标支付银行卡对应的目标加密签名数据。
在本公开其中一个实施例中,支付SDK820,还用于向支付服务器发送用户信息、订单签名数据、密钥生成因子、目标加密数据、目标加密签名数据、可信支付组件830的序列号和硬件设备的唯一标识,或者,向支付服务器发送用户信息、订单数据、订单签名数据、密钥生成因子、目标加密数据、目标加密签名数据、可信支付组件830的序列号和硬件设备的唯一标识。
在本公开其中一个实施例中,若身份验证不通过,则可信支付组件830通过支付SDK820向第一应用程序返回身份验证失败的提示信息。
在本公开其中一个实施例中,终端800还包括:
销毁模块,用于当第一应用程序接收到支付结果后,销毁密钥生成因子。
在本公开其中一个实施例中,终端800还包括:
支付中间件,支付SDK820通过支付中间件与可信支付组件830进行通信。
图9示意性示出了根据本公开实施例的支付服务器的框图。
如图9所示,该支付服务器900可以包括:下发模块910、接收模块920、验证模块930和返回模块940。
下发模块910,用于向第一应用程序下发支付SDK;
接收模块920,用于接收支付SDK发送的目标支付数据;
验证模块930,用于验证目标支付数据是否与指定支付数据一致,若一致,则进行支付,支付结果为支付成功,若不一致,则不进行支付,支付结果为支付失败;
返回模块940,用于将支付结果返回给支付SDK。
在本公开其中一个实施例中,目标支付数据包括用户信息、订单签名数据、密钥生成因子、目标加密数据、目标加密签名数据、可信支付组件的序列号和硬件设备的唯一标识;
其中,可信支付组件运行在可信执行环境中,硬件设备为可信支付组件提供可信执行环境。
在本公开其中一个实施例中,支付服务器中存储有用户信息、所有支付银行卡的唯一标识、公钥、可信支付组件的序列号、硬件设备的唯一标识之间的映射关系。
在本公开其中一个实施例中,验证模块930包括:
查找子模块,用于在映射关系中,查找与目标支付数据中的用户信息、可信支付组件的序列号、硬件设备的唯一标识对应的公钥和所有支付银行卡的唯一标识;
验证子模块,用于利用公钥,验证目标支付数据中的订单签名数据、目标加密签名数据;
生成子模块,用于若验证通过,则利用密钥生成因子生成解密密钥;
解密子模块,用于利用解密密钥解密目标支付数据中的目标加密数据,得到目标支付银行卡的唯一标识;
判断子模块,用于判断目标支付银行卡的唯一标识是否在所有支付银行卡的唯一标识中;
若在,则目标支付数据与指定支付数据一致;
若不在,则目标支付数据与指定支付数据不一致;
在本公开其中一个实施例中,支付服务器900还包括:
判断模块,用于判断硬件设备的唯一标识、支付银行卡的唯一标识、订单数据是否均合法;
提示信息返回模块,还用于若硬件设备的唯一标识、支付银行卡的唯一标识和订单数据任一不合法,则向支付SDK返回相应的提示信息;
若硬件设备的唯一标识、支付银行卡的唯一标识和订单数据均合法,则执行验证模块930。
需要说明的是,装置部分实施例中各模块/单元/子单元等的实施方式、解决的技术问题、实现的功能、以及达到的技术效果分别与方法部分实施例中各对应的步骤的实施方式、解决的技术问题、实现的功能、以及达到的技术效果相同或类似,在此不再赘述。
根据本公开的实施例的模块、子模块、单元、子单元中的任意多个、或其中任意多个的至少部分功能可以在一个模块中实现。根据本公开实施例的模块、子模块、单元、子单元中的任意一个或多个可以被拆分成多个模块来实现。根据本公开实施例的模块、子模块、单元、子单元中的任意一个或多个可以至少被部分地实现为硬件电路,例如现场可编程门阵列(FPGA)、可编程逻辑阵列(PLA)、片上系统、基板上的系统、封装上的系统、专用集成电路(ASIC),或可以通过对电路进行集成或封装的任何其他的合理方式的硬件或固件来实现,或以软件、硬件以及固件三种实现方式中任意一种或以其中任意几种的适当组合来实现。或者,根据本公开实施例的模块、子模块、单元、子单元中的一个或多个可以至少被部分地实现为计算机程序模块,当该计算机程序模块被运行时,可以执行相应的功能。
例如,下发模块910、接收模块920、验证模块930和返回模块940中的任意多个可以合并在一个模块中实现,或者其中的任意一个模块可以被拆分成多个模块。或者,这些模块中的一个或多个模块的至少部分功能可以与其他模块的至少部分功能相结合,并在一个模块中实现。根据本公开的实施例,下发模块910、接收模块920、验证模块930和返回模块940中的至少一个可以至少被部分地实现为硬件电路,例如现场可编程门阵列(FPGA)、可编程逻辑阵列(PLA)、片上系统、基板上的系统、封装上的系统、专用集成电路(ASIC),或可以通过对电路进行集成或封装的任何其他的合理方式等硬件或固件来实现,或以软件、硬件以及固件三种实现方式中任意一种或以其中任意几种的适当组合来实现。或者,下发模块910、接收模块920、验证模块930和返回模块940中的至少一个可以至少被部分地实现为计算机程序模块,当该计算机程序模块被运行时,可以执行相应的功能。
图10示意性示出了根据本公开实施例的适于实现上文描述的方法的计算机系统的方框图。图10示出的计算机系统仅仅是一个示例,不应对本公开实施例的功能和使用范围带来任何限制。该计算机系统可以是图8所示的终端或者图9所示的支付服务器。
如图10所示,根据本公开实施例的计算机系统1000包括处理器1001,其可以根据存储在只读存储器(ROM)1002中的程序或者从存储部分1008加载到随机访问存储器(RAM)1003中的程序而执行各种适当的动作和处理。处理器1001例如可以包括通用微处理器(例如CPU)、指令集处理器和/或相关芯片组和/或专用微处理器(例如,专用集成电路(ASIC)),等等。处理器1001还可以包括用于缓存用途的板载存储器。处理器1001可以包括用于执行根据本公开实施例的方法流程的不同动作的单一处理单元或者是多个处理单元。
在RAM 1003中,存储有系统1000操作所需的各种程序和数据。处理器1001、ROM1002以及RAM 1003通过总线1004彼此相连。处理器1001通过执行ROM 1002和/或RAM 1003中的程序来执行根据本公开实施例的方法流程的各种操作。需要注意,程序也可以存储在除ROM 1002和RAM 1003以外的一个或多个存储器中。处理器1001也可以通过执行存储在所述一个或多个存储器中的程序来执行根据本公开实施例的方法流程的各种操作。
根据本公开的实施例,系统1000还可以包括输入/输出(I/O)接口1005,输入/输出(I/O)接口1005也连接至总线1004。系统1000还可以包括连接至I/O接口1005的以下部件中的一项或多项:包括键盘、鼠标等的输入部分1006;包括诸如阴极射线管(CRT)、液晶显示器(LCD)等以及扬声器等的输出部分1007;包括硬盘等的存储部分1008;以及包括诸如LAN卡、调制解调器等的网络接口卡的通信部分1009。通信部分1009经由诸如因特网的网络执行通信处理。驱动器1010也根据需要连接至I/O接口1005。可拆卸介质1011,诸如磁盘、光盘、磁光盘、半导体存储器等等,根据需要安装在驱动器1010上,以便于从其上读出的计算机程序根据需要被安装入存储部分1008。
根据本公开的实施例,根据本公开实施例的方法流程可以被实现为计算机软件程序。例如,本公开的实施例包括一种计算机程序产品,其包括承载在计算机可读存储介质上的计算机程序,该计算机程序包含用于执行流程图所示的方法的程序代码。在这样的实施例中,该计算机程序可以通过通信部分1009从网络上被下载和安装,和/或从可拆卸介质1011被安装。在该计算机程序被处理器1001执行时,执行本公开实施例的系统中限定的上述功能。根据本公开的实施例,上文描述的系统、设备、装置、模块、单元等可以通过计算机程序模块来实现。
本公开还提供了一种计算机可读存储介质,该计算机可读存储介质可以是上述实施例中描述的设备/装置/系统中所包含的;也可以是单独存在,而未装配入该设备/装置/系统中。上述计算机可读存储介质承载有一个或者多个程序,当上述一个或者多个程序被执行时,实现根据本公开实施例的方法。
本公开还提供了一种支付系统,包括上述的终端和支付服务器,终端内安装有第一应用程序和可信支付组件。示例性的,利用该支付系统完成支付的过程为:支付服务器向第一应用程序下发支付SDK,终端接收支付服务器下发给第一应用程序的支付SDK,在第一应用程序运行过程中,当终端接收到携带订单数据的支付请求时,终端调用支付SDK,向可信支付组件获取支付数据,支付数据包括目标支付数据,终端调用支付SDK,将携带目标支付数据的支付请求发送给支付服务器,支付服务器接收支付SDK发送的目标支付数据,支付服务器验证目标支付数据是否与指定支付数据一致,若一致,则进行支付,支付结果为支付成功,若不一致,则不进行支付,支付结果为支付失败,支付服务器将支付结果返回给支付SDK。终端调用支付SDK,接收支付服务器返回的支付结果,并将支付结果发送给第一应用程序。
附图中的流程图和框图,图示了按照本公开各种实施例的系统、方法和计算机程序产品的可能实现的体系架构、功能和操作。在这点上,流程图或框图中的每个方框可以代表一个模块、程序段、或代码的一部分,上述模块、程序段、或代码的一部分包含一个或多个用于实现规定的逻辑功能的可执行指令。也应当注意,在有些作为替换的实现中,方框中所标注的功能也可以以不同于附图中所标注的顺序发生。例如,两个接连地表示的方框实际上可以基本并行地执行,它们有时也可以按相反的顺序执行,这依所涉及的功能而定。也要注意的是,框图或流程图中的每个方框、以及框图或流程图中的方框的组合,可以用执行规定的功能或操作的专用的基于硬件的系统来实现,或者可以用专用硬件与计算机指令的组合来实现。
本领域技术人员可以理解,尽管已经参照本公开的特定示例性实施例示出并描述了本公开,但是本领域技术人员应该理解,在不背离所附权利要求及其等同物限定的本公开的精神和范围的情况下,可以对本公开进行形式和细节上的多种改变。因此,本公开的范围不应该限于上述实施例,而是应该不仅由所附权利要求来进行确定,还由所附权利要求的等同物来进行限定。
Claims (15)
1.一种支付方法,应用于终端,所述终端内安装有第一应用程序和可信支付组件,所述方法包括:
接收支付服务器下发给所述第一应用程序的支付SDK;
在所述第一应用程序运行过程中,当接收到携带订单数据的支付请求时,调用所述支付SDK,向所述可信支付组件获取支付数据,所述支付数据包括目标支付数据;
调用所述支付SDK,将携带所述目标支付数据的所述支付请求发送给所述支付服务器;
调用所述支付SDK,接收所述支付服务器返回的支付结果,并将所述支付结果发送给所述第一应用程序;
所述调用所述支付SDK,向所述可信支付组件获取支付数据包括:
调用所述支付SDK,接收所述携带订单数据的支付请求;
调用所述支付SDK,将所述携带订单数据的支付请求发送给所述可信支付组件;
在所述可信支付组件接收到所述携带订单数据的支付请求后,调用所述可信支付组件,在所述第一应用程序中对当前用户进行身份验证;
若所述用户的身份验证通过,则调用所述可信支付组件,获取所述用户的用户信息,并调用所述可信支付组件,基于所述用户的用户信息、所述订单数据和所述可信支付组件,生成所述支付数据;
调用所述可信支付组件,将所述支付数据发送给所述支付SDK;
其中,所述可信支付组件内存储用户开通支付服务时设置的所有支付银行卡的唯一标识,以及,所述用户的私钥;
所述调用所述可信支付组件,基于所述用户的用户信息、所述订单数据和所述可信支付组件,生成所述支付数据,包括:
调用所述可信支付组件生成密钥生成因子,并利用所述密钥生成因子,生成加密密钥;
调用所述可信支付组件,利用所述加密密钥对每个支付银行卡的唯一标识进行加密,得到所有支付银行卡唯一标识的加密数据;
调用所述可信支付组件,利用所述用户的私钥,对所述订单数据和所述所有支付银行卡的唯一标识进行签名,得到订单签名数据和所有支付银行卡唯一标识的加密签名数据;
调用所述可信支付组件,获取所述可信支付组件的序列号和硬件设备的唯一标识。
2.根据权利要求1所述的方法,其中,所述可信支付组件具有唯一序列号,所述可信支付组件运行在可信执行环境中,提供所述可信执行环境的硬件设备具有唯一标识。
3.根据权利要求2所述的方法,其中,所述调用所述可信支付组件,将所述支付数据发送给所述支付SDK包括:
调用所述可信支付组件,将所述订单签名数据、所述密钥生成因子、所述所有支付银行卡唯一标识的加密数据、所述所有支付银行卡唯一标识的加密签名数据、所述可信支付组件的序列号和所述硬件设备的唯一标识发送给所述支付SDK。
4.根据权利要求2所述的方法,其中,所述调用所述支付SDK,将携带所述目标支付数据的所述支付请求发送给所述支付服务器之前,还包括:
调用所述支付SDK,接收所述可信支付组件返回的订单签名数据、密钥生成因子、所有支付银行卡唯一标识的加密数据、所有支付银行卡唯一标识的加密签名数据、所述可信支付组件的序列号和所述硬件设备的唯一标识;
调用所述支付SDK,在所述第一应用程序中向用户展示支付银行卡选择页面;
调用所述支付SDK,获取用户选择的目标支付银行卡,并从所述所有支付银行卡唯一标识的加密数据中查找与所述目标支付银行卡对应的目标加密数据,从所述支付银行卡唯一标识的加密签名数据中查找与所述目标支付银行卡对应的目标加密签名数据。
5.根据权利要求4所述的方法,其中,所述调用所述支付SDK,将携带所述目标支付数据的所述支付请求发送给所述支付服务器包括:
调用所述支付SDK,向所述支付服务器发送所述用户信息、所述订单签名数据、所述密钥生成因子、所述目标加密数据、所述目标加密签名数据、所述可信支付组件的序列号和所述硬件设备的唯一标识;
或者,
调用所述支付SDK,向所述支付服务器发送所述用户信息、所述订单数据、所述订单签名数据、所述密钥生成因子、所述目标加密数据、所述目标加密签名数据、所述可信支付组件的序列号和所述硬件设备的唯一标识。
6.根据权利要求1所述的方法,其中,若身份验证不通过,则所述可信支付组件通过所述支付SDK向所述第一应用程序返回身份验证失败的提示信息。
7.根据权利要求1所述的方法,还包括:
当所述第一应用程序接收到支付结果后,销毁所述密钥生成因子。
8.根据权利要求1至7任意一项所述的方法,其中,所述支付SDK通过支付中间件与所述可信支付组件进行通信。
9.一种支付方法,应用于支付服务器,所述方法包括:
向第一应用程序下发支付SDK;
接收所述支付SDK发送的目标支付数据;
验证所述目标支付数据是否与指定支付数据一致,若一致,则进行支付,支付结果为支付成功,若不一致,则不进行支付,支付结果为支付失败;
将所述支付结果返回给所述支付SDK;
所述目标支付数据包括用户信息、订单签名数据、密钥生成因子、目标加密数据、目标加密签名数据、可信支付组件的序列号和硬件设备的唯一标识;
其中,所述可信支付组件运行在可信执行环境中,所述硬件设备为所述可信支付组件提供所述可信执行环境;
所述支付服务器中存储有用户信息、所有支付银行卡的唯一标识、公钥、可信支付组件的序列号、硬件设备的唯一标识之间的映射关系;
所述验证所述目标支付数据是否与指定支付数据一致包括:
在所述映射关系中,查找与所述目标支付数据中的所述用户信息、所述可信支付组件的序列号、所述硬件设备的唯一标识对应的公钥和所有支付银行卡的唯一标识;
利用所述公钥,验证所述目标支付数据中的订单签名数据、目标加密签名数据;
若验证通过,则利用所述密钥生成因子生成解密密钥,并利用所述解密密钥解密所述目标支付数据中的目标加密数据,得到目标支付银行卡的唯一标识;
判断所述目标支付银行卡的唯一标识是否在所有支付银行卡的唯一标识中;
若在,则所述目标支付数据与所述指定支付数据一致;
若不在,则所述目标支付数据与所述指定支付数据不一致。
10.根据权利要求9所述的方法,所述目标支付数据还包括订单数据,所述验证所述目标支付数据是否与指定支付数据一致之前,包括:
判断所述硬件设备的唯一标识、所述支付银行卡的唯一标识、所述订单数据是否均合法;
若所述硬件设备的唯一标识、所述支付银行卡的唯一标识和所述订单数据任一不合法,则向所述支付SDK返回相应的提示信息;
若所述硬件设备的唯一标识、所述支付银行卡的唯一标识和所述订单数据均合法,则执行所述验证所述支付数据是否与指定支付数据一致的操作。
11.一种终端,所述终端内安装有第一应用程序和可信支付组件,所述终端包括:
接收模块,用于接收支付服务器下发给所述第一应用程序的支付SDK;
支付SDK,用于在所述第一应用程序运行过程中,当接收到携带订单数据的支付请求时,向所述可信支付组件获取支付数据,所述支付数据包括目标支付数据;
所述支付SDK,用于将携带所述目标支付数据的所述支付请求发送给所述支付服务器;
所述支付SDK,用于接收所述支付服务器返回的支付结果;
所述支付SDK,用于将所述支付结果发送给所述第一应用程序;
调用所述支付SDK,向所述可信支付组件获取支付数据包括:
调用所述支付SDK,接收所述携带订单数据的支付请求;
调用所述支付SDK,将所述携带订单数据的支付请求发送给所述可信支付组件;
在所述可信支付组件接收到所述携带订单数据的支付请求后,调用所述可信支付组件,在所述第一应用程序中对当前用户进行身份验证;
若所述用户的身份验证通过,则调用所述可信支付组件,获取所述用户的用户信息,并调用所述可信支付组件,基于所述用户的用户信息、所述订单数据和所述可信支付组件,生成所述支付数据;
调用所述可信支付组件,将所述支付数据发送给所述支付SDK;
其中,所述可信支付组件内存储用户开通支付服务时设置的所有支付银行卡的唯一标识,以及,所述用户的私钥;
所述调用所述可信支付组件,基于所述用户的用户信息、所述订单数据和所述可信支付组件,生成所述支付数据,包括:
调用所述可信支付组件生成密钥生成因子,并利用所述密钥生成因子,生成加密密钥;
调用所述可信支付组件,利用所述加密密钥对每个支付银行卡的唯一标识进行加密,得到所有支付银行卡唯一标识的加密数据;
调用所述可信支付组件,利用所述用户的私钥,对所述订单数据和所述所有支付银行卡的唯一标识进行签名,得到订单签名数据和所有支付银行卡唯一标识的加密签名数据;
调用所述可信支付组件,获取所述可信支付组件的序列号和硬件设备的唯一标识。
12.一种支付服务器,包括:
下发模块,用于向第一应用程序下发支付SDK;
接收模块,用于接收所述支付SDK发送的目标支付数据;
验证模块,用于验证所述目标支付数据是否与指定支付数据一致,若一致,则进行支付,支付结果为支付成功,若不一致,则不进行支付,支付结果为支付失败;
返回模块,用于将所述支付结果返回给所述支付SDK;
所述目标支付数据包括用户信息、订单签名数据、密钥生成因子、目标加密数据、目标加密签名数据、可信支付组件的序列号和硬件设备的唯一标识;
其中,所述可信支付组件运行在可信执行环境中,所述硬件设备为所述可信支付组件提供所述可信执行环境;
所述支付服务器中存储有用户信息、所有支付银行卡的唯一标识、公钥、可信支付组件的序列号、硬件设备的唯一标识之间的映射关系;
所述验证所述目标支付数据是否与指定支付数据一致包括:
在所述映射关系中,查找与所述目标支付数据中的所述用户信息、所述可信支付组件的序列号、所述硬件设备的唯一标识对应的公钥和所有支付银行卡的唯一标识;
利用所述公钥,验证所述目标支付数据中的订单签名数据、目标加密签名数据;
若验证通过,则利用所述密钥生成因子生成解密密钥,并利用所述解密密钥解密所述目标支付数据中的目标加密数据,得到目标支付银行卡的唯一标识;
判断所述目标支付银行卡的唯一标识是否在所有支付银行卡的唯一标识中;
若在,则所述目标支付数据与所述指定支付数据一致;
若不在,则所述目标支付数据与所述指定支付数据不一致。
13.一种计算机系统,包括:存储器、处理器及存储在存储器上并可在处理器上运行的计算机程序,所述处理器执行所述计算机程序时用于实现如权利要求1~8任一项所述的方法,或,所述处理器执行所述计算机程序时用于实现如权利要求9~10任一项所述的方法。
14.一种计算机可读存储介质,存储有计算机可执行指令,所述指令在被执行时用于实现如权利要求1~8任一项所述的方法,或者,所述指令在被执行时用于实现如权利要求9~10任一项所述的方法。
15.一种支付系统,包括:终端及支付服务器;
所述终端包括:
一个或多个处理器;以及
存储装置,用于存储一个或多个程序,
其中,当所述一个或多个程序被所述一个或多个处理器执行时,使得所述一个或多个处理器执行根据权利要求1~8中任一项所述的方法;
所述支付服务器包括:
一个或多个处理器;以及
存储装置,用于存储一个或多个程序,
其中,当所述一个或多个程序被所述一个或多个处理器执行时,使得所述一个或多个处理器执行根据权利要求9~10中任一项所述的方法。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202110278230.4A CN112819469B (zh) | 2021-03-15 | 2021-03-15 | 支付方法及系统、终端、服务器、计算机系统和介质 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202110278230.4A CN112819469B (zh) | 2021-03-15 | 2021-03-15 | 支付方法及系统、终端、服务器、计算机系统和介质 |
Publications (2)
Publication Number | Publication Date |
---|---|
CN112819469A CN112819469A (zh) | 2021-05-18 |
CN112819469B true CN112819469B (zh) | 2024-04-02 |
Family
ID=75863313
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN202110278230.4A Active CN112819469B (zh) | 2021-03-15 | 2021-03-15 | 支付方法及系统、终端、服务器、计算机系统和介质 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN112819469B (zh) |
Citations (3)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN106228353A (zh) * | 2016-07-21 | 2016-12-14 | 北京三快在线科技有限公司 | 一种支付信息处理方法、装置和系统 |
CN107403312A (zh) * | 2016-05-18 | 2017-11-28 | 北京三星通信技术研究有限公司 | 快捷支付方法和装置 |
CN109461045A (zh) * | 2018-09-26 | 2019-03-12 | 中国平安人寿保险股份有限公司 | 订单支付方法、系统、计算机设备和存储介质 |
-
2021
- 2021-03-15 CN CN202110278230.4A patent/CN112819469B/zh active Active
Patent Citations (3)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN107403312A (zh) * | 2016-05-18 | 2017-11-28 | 北京三星通信技术研究有限公司 | 快捷支付方法和装置 |
CN106228353A (zh) * | 2016-07-21 | 2016-12-14 | 北京三快在线科技有限公司 | 一种支付信息处理方法、装置和系统 |
CN109461045A (zh) * | 2018-09-26 | 2019-03-12 | 中国平安人寿保险股份有限公司 | 订单支付方法、系统、计算机设备和存储介质 |
Also Published As
Publication number | Publication date |
---|---|
CN112819469A (zh) | 2021-05-18 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN109617907B (zh) | 认证方法、电子装置及计算机可读存储介质 | |
AU2017280326B2 (en) | Offline payment method and device | |
CN112019493B (zh) | 身份认证方法、身份认证装置、计算机设备和介质 | |
US11501294B2 (en) | Method and device for providing and obtaining graphic code information, and terminal | |
US20160080157A1 (en) | Network authentication method for secure electronic transactions | |
WO2016155497A1 (zh) | 认证用户的方法及装置、注册可穿戴设备的方法及装置 | |
CN112131021B (zh) | 一种访问请求处理方法及装置 | |
US20210036863A1 (en) | Method and apparatus for sharing and acquiring information | |
CN108243188B (zh) | 一种接口访问、接口调用和接口验证处理方法及装置 | |
CN112559993B (zh) | 身份认证方法、装置、系统及电子设备 | |
US10536271B1 (en) | Silicon key attestation | |
WO2017050147A1 (zh) | 一种信息注册、认证方法及装置 | |
CA3127882C (en) | Short message sending method, device, and computer system | |
CN113055182B (zh) | 认证方法及系统、终端、服务器、计算机系统和介质 | |
CN107920060B (zh) | 基于账号的数据访问方法和装置 | |
CN110602700B (zh) | 种子密钥处理方法、装置及电子设备 | |
CN113094190A (zh) | 微服务调用方法、调用装置、电子设备和存储介质 | |
CN110399706B (zh) | 授权认证方法、装置和计算机系统 | |
CN112819469B (zh) | 支付方法及系统、终端、服务器、计算机系统和介质 | |
CN114584324B (zh) | 一种基于区块链的身份授权方法和系统 | |
CN108574658B (zh) | 一种应用登录方法及其设备 | |
CN114124440A (zh) | 安全传输方法、装置、计算机设备和存储介质 | |
CN115941217A (zh) | 用于安全通信的方法和其相关产品 | |
CN110969437B (zh) | 获得虚拟银行卡支付权限的方法、系统、电子设备和介质 | |
CN114553570B (zh) | 生成令牌的方法、装置、电子设备及存储介质 |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
PB01 | Publication | ||
PB01 | Publication | ||
SE01 | Entry into force of request for substantive examination | ||
SE01 | Entry into force of request for substantive examination | ||
GR01 | Patent grant | ||
GR01 | Patent grant |