掌桥专利:专业的专利平台
掌桥专利
首页

用于在与用户账户链接的浏览器处的配置信息自动填充的系统和方法

文献发布时间:2023-06-19 19:28:50


用于在与用户账户链接的浏览器处的配置信息自动填充的系统和方法

相关申请的交叉引用

本申请是于2020年8月18日提交的美国专利申请第16/996,562号的延续申请并要求该美国专利申请的优先权,其全部均通过引用整体并入。

技术领域

本申请总体上涉及虚拟卡管理,并且更具体地涉及一种支付信息自动填充机制,该机制将浏览器应用与用户账户链接,使得浏览器应用处的支付页面可以基于该链接而自动地填充。

背景

电子商务允许在互联网上以电子方式进行商业交易。例如,商户可以提供列出购物项目列表的商户网站,并且用户可以访问和浏览该网站上的购物项目并选择一个或更多个项目进行购买。在交易过程中,用户往往需要提供支付信息才能进行购买。支付信息可以是信用卡信息、银行卡信息、互联网支付账户信息,诸如美国加利福尼亚州圣何塞市的

为了减少用户在电子交易期间需要提供卡信息的手动工作量,一些商户网站提供将具有用户档案的支付信息与商户一起保存。这样,当用户登录入商户网站进行购买时,商户网站可以检索之前存储的用户支付信息,以完成交易。然而,在商户网站处存储支付信息的安全风险可能很大。一旦商户网站遭到恶意攻击,并且用户档案数据库被盗用,用户支付信息就可能被盗。

附图说明

图1是示出根据本文描述的一个实施方式的用于将浏览器应用与用户的用户帐户链接以用于支付信息自动填充的多个实体之间的示例数据流的框图;

图2是根据实施方式的适于实现图1中描述的过程和本文描述的其他实施方式的联网系统的框图;

图3A至图3B是根据实施方式的用于用户设备发起自动填充设置以将在用户设备上运行的浏览器应用与用户账户链接的示例性过程的流程图;

图4A至图4B是根据实施方式的用于用户设备在将在用户设备上运行的浏览器应用与用户账户链接之后请求自动填充的示例性过程的流程图;

图5是根据实施方式的用于用户设备从由服务器促成的网络服务内撤销在用户帐户与浏览器应用之间建立的链接的示例性过程的流程图;

图6是根据实施方式的用于在用户登录入浏览器应用时撤销在用户帐户与浏览器应用之间建立的链接的示例性过程的流程图;以及

图7是根据实施方式的用于为用户账户与浏览器应用之间的链接刷新令牌的示例性过程的流程图;

图8A至图8H提供了根据一个实施方式的示例浏览器应用页面的工作流程,其示出了在浏览器应用与用户账户之间设置链接的过程;

图9A至图9B提供了根据一个实施方式的示例浏览器应用页面的工作流程,其示出了当用户通过浏览器供应商登录入浏览器应用时撤销在浏览器应用与用户帐户之间的链接的过程;以及

图10是根据实施方式的计算机系统的框图,其适于实施图1至图2所示的一个或更多个部件且执行图3A至图7中所示的一个或更多个过程,并且显示图8A至图9B中所示的画面。

通过参考下面的详细描述,最好地理解本公开的实施方式及其优点。应当理解,相似的附图标记用于标识附图中的一幅或更多幅图中所示的相似元件,其中图中的示出是为了说明本公开的实施方式的目的而不是为了限制本公开的目的。

具体实施方式

提供了用于支付信息自动填充机制的方法,该机制将浏览器应用与用户账户链接,使得浏览器应用处的支付交易页面可以基于该链接而被自动地填充。还提供了适合于实践本公开的方法的系统。

为了完成电子购买交易,商户网站通常需要用户提供支付信息。为了简化用户在线购物体验,一些商户网站选择将支付信息与用户档案一起存储,这样用户就无需每次在处于交易结账页面时都手动输入支付信息。一些其他浏览器应用,诸如

鉴于对安全自动填充机制的需要,实施方式描述了一种支付信息自动填充机制,该机制将浏览器应用与用户账户链接,使得浏览器应用处的支付页面可以通过应用编程接口(API),基于该链接从用户帐户调用虚拟卡信息来自动地填充。具体来说,自动填充机制在服务器与浏览器供应商之间创建链接,特别是在用户设备上运行的浏览器应用与存储在服务器处的与用户相关联的用户帐户之间。当用户使用浏览器应用在商户网站上进行交易时,可以对浏览器供应商处的浏览器服务API进行API调用,该浏览器服务API继而向服务器发送用于检索用户的支付信息的请求。然后将检索到的用户支付信息发送到在用户设备上运行的浏览器应用,以自动地填入交易页面上的相关支付信息字段。因此,不是将敏感的用户支付信息本地存储在用户设备上的浏览器上,或远程存储在商户服务器处,而是将支付信息存储在安全服务器处,并在交易期间由浏览器服务API即时检索。通过这种方式,可以显著降低敏感支付信息在受到恶意攻击或信息泄露时暴露给第三方的风险。

在一些实现方式中,服务器可以基于与用户相关联的用户账户生成虚拟卡,并且可以将虚拟卡信息提供至浏览器应用以用于自动填充交易页面。例如,虚拟卡包括生成的卡号,其表示与用户相关联的用户账户,诸如信息

在一些实现方式中,虚拟卡信息,诸如16位虚拟卡号、3位卡安全码等,可以根据每次交易(例如,根据从浏览器服务API检索虚拟卡信息的每次API调用)而动态地生成。例如,服务器可以在被调用时使用随机数生成器动态地生成虚拟卡号,以向浏览器服务API提供虚拟卡信息,从而自动填充交易页面,并且虚拟卡号可以随着交易的不同而不同。这样,动态虚拟卡支付信息进一步加强了服务器处存储的用户账户的安全性。

图1是示出根据本文描述的一个实施方式的用于将浏览器应用与用户的用户帐户链接以用于支付信息自动填充的多个实体之间的示例数据流的框图100。图100示出了用户设备110、浏览器服务服务器120、商户服务器150和服务器130、以及它们之间的交互。

用户110可以是操作用户设备诸如计算机、智能手机、平板电脑等的人类用户。用户110可以是可以通过通信网络与另一设备通信的任何自动代理。例如,自动代理可以是实现应用内购买的第三方应用,其可以自动地向在线商户下购买订单。

商户服务器150可以是托管用户设备110可访问的在线购物网站和/或实现用户设备110可访问的在线购物网站的功能的服务器。例如,商户服务器150可以是托管AMAZON.

为了在交易页面上继续支付,用户设备110可以选择经由浏览器应用发送自动填充请求102a。浏览器服务服务器120可以是可以与用户设备110和服务器130通信的服务器。例如,浏览器服务服务器120的浏览器供应商可以是

服务器130可以位于浏览器服务服务器120和/或商户服务器150的远程位置。服务器130可以存储用户账户并且可以使用用户账户信息来处理财务交易。例如,服务器130可以是由美国加利福尼亚州圣何塞的

基于存储在服务器130处的用户账户,服务器130可以在虚拟卡生成器模块105处生成虚拟卡。虚拟卡生成105可以包括生成16位卡号、支付地址、卡安全码等。虚拟卡信息106可以例如经由服务器150处的浏览器服务API被发送到浏览器服务服务器120。浏览器服务服务器120然后可以将虚拟卡信息107传递至在用户设备110上运行的浏览器应用115,使得可以利用卡支付信息来自动地填入交易页面101。

因此,如图100所示,用户设备110可以经由存储在服务器130处的用户账户与浏览器应用115之间的链接,来用支付信息诸如虚拟卡信息107自动填充交易页面101。没有将虚拟卡信息107存储在商户服务器150处,或者通过浏览器应用115的cookie或扩展存储。而是,在存储在服务器130处的用户账户与浏览器应用115之间的链接建立之后,用户设备110可以在交易期间动态地检索虚拟卡信息107以自动填充交易页面101。例如,虚拟支付信息是按需检索的,例如,当与商户网页的在线购买交易到达支付页面的需要支付信息来完成交易的阶段时。以此方式,将虚拟卡信息存储在安全的服务器130处,并且仅在交易期间提供至浏览器应用。当商户服务器150或用户设备110受到攻击时,服务器130处的虚拟卡信息不会被盗用。

图2是根据实施方式的适合于实现图1中描述的过程和本文描述的其他实施方式的联网系统的框图200。

在一个实施方式中,框图200示出了一种系统,该系统包括:由用户240操作的用户设备110(其可以类似于图1中的用户设备110)、浏览器服务服务器120、商户服务器270和280(商户服务器270和280中的每个商户服务器都可以实现图1中的商户服务器150)、服务器130、以及运行以执行根据所描述的实施方式的各种方法的其他形式的设备、服务器和/或软件部件。示例性设备和服务器可以包括设备、独立服务器和企业级服务器,其运行OS诸如

用户设备110、浏览器服务服务器120、商户服务器270和280以及服务器130可以通过网络260相互通信。用户240可以利用用户设备110来访问用户设备110可用的各种特征,这些特征可以包括与浏览器服务服务器120相关联的过程和/或应用以注册服务,例如,以与服务器130设置自动填充请求,以在与商户服务器270或280的购买交易期间调用自动填充等。

用户设备110、浏览器服务服务器120和服务器130可以各自包括一个或更多个处理器、存储器和其他适当的部件,用于执行指令诸如存储在一个或更多个计算机可读介质上的程序代码和/或数据以实现本文描述的各种应用、数据和步骤。例如,此类指令可以存储在一个或更多个计算机可读介质诸如系统200的各种部件内部和/或外部的和/或可通过网络260访问的存储器或数据存储设备中。

用户设备110可以实现为通信设备,该通信设备可以利用被配置成用于与浏览器服务服务器120和/或服务器130进行有线和/或无线通信的合适的硬件和软件。例如,在一个实施方式中,用户设备110可以实现为个人计算机(PC)、智能电话、膝上型/平板电脑、具有适当计算机硬件资源的手表、具有适当计算机硬件的眼镜(例如GOOGLE

图2的用户设备110包含用户接口应用212、网络服务应用214和其他应用216,其可以与可执行的过程、程序和/或具有相关联硬件的应用对应。在其他实施方式中,用户设备110可以根据需要包括具有专用硬件和/或软件的附加模块或不同模块。

网络服务应用214可以对应于一个或更多个过程,以执行用户设备110的模块和关联设备,从而与服务提供商或其他在线实体交互。例如,网络服务应用214可以用于访问和显示由商户服务器270或280托管的交易页面。网络服务应用214可以用于执行动作和/或与浏览器服务服务器120的交互,包括浏览数据和在数据之间导航,以及处理电子交易和执行其他数据处理操作。网络服务应用214可以对应于被配置成通过因特网(例如,利用万维网上的资源)或私有网络来检索、呈现和传送信息的通用浏览器应用。例如,网络服务应用214可以提供网络浏览器,其可以通过网络260发送和接收信息,包括检索网站信息、向用户呈现网站信息和/或向网站传送信息。然而,在其他实施方式中,网络服务应用214可以包括专用应用,例如在用户设备110上运行的移动应用,其可以被配置成通过该应用提供服务。网络服务应用214可以生成与浏览器服务服务器120的交互数据,该交互数据指示设置自动填充的请求。此外,网络服务应用214可以在用户设备110处经由由服务器130促成的网络服务显示商户网站、用户帐户档案。

在各种实施方式中,用户设备110包括在特定实施方式中向用户设备110提供各种特征可能需要的其他应用216。例如,其他应用216可以包括用于实现客户端侧安全特征的安全应用、用于通过网络260与适当的应用编程接口(API)接口的程序化客户端应用、或其他类型的应用。其他应用216还可以包括通信应用,诸如电子邮件、短信、语音、社交网络和允许用户通过网络260发送和接收电子邮件、电话、文本和其他通知的IM应用。其他应用216还可以包括其他媒体查看应用以在用户设备110上消费媒体内容。其他应用216还可以包括用于监测用户设备110上的数据使用的跟踪应用。其他应用216可以包括可以接收输入和/或输出信息的设备接口和其他显示模块。例如,其他应用216可以包含可由处理器执行的软件程序,包括被配置成向用户提供接口的图形用户接口(GUI)。

用户设备110还可以包括存储在用户设备110的暂态和/或非暂态存储器中的数据库219,其可以存储各种应用和数据并且在用户设备110的各种模块的执行期间被利用。数据库219可以存储数据跟踪过程和操作,诸如cookie或代码片段,它们可以与被跟踪的用户和/或设备数据一起存储在数据库219中。在一些实施方式中,数据库219对于用户设备110可以是本地的。然而,在其他实施方式中,数据库219可以在用户设备219外部并且可由用户设备110访问,包括可通过网络260访问的云存储系统和/或数据库。

用户设备110包括至少一个网络接口部件218,所述至少一个网络接口部件218适于与浏览器服务服务器120和/或服务器130通信。在各种实施方式中,网络接口部件218可以包括DSL(例如,数字用户线)调制解调器、PSTN(公共交换电话网)调制解调器、以太网设备、宽带设备、卫星设备和/或各种其他类型的有线和/或无线网络通信设备,包括微波、射频、红外线、蓝牙和近场通信设备。

浏览器服务服务器120可以对应于维护以下内容的服务器:更新、用户档案注册、错误报告和/或与浏览器应用诸如用户设备110上的网络服务应用214的其他维护任务。图2的浏览器服务服务器120包括数据库224和网络接口226。数据库224可以用于存储用户信息、浏览器升级信息、浏览器错误报告信息等。例如,数据库224可以存储用户账户和/或档案信息,诸如用户名、地址、浏览历史、网络服务应用214的活动日志等。数据库224可以由一个或更多个关系数据库、分布式数据库、云数据库等来实现。

浏览器服务服务器120包括至少一个网络接口部件226,所述至少一个网络接口部件226适于与用户设备110和/或服务器130通信。在各种实施方式中,网络接口部件226可以包括DSL(例如,数字用户线)调制解调器、PSTN(公共交换电话网)调制解调器、以太网设备、宽带设备、卫星设备和/或各种其他类型的有线和/或无线网络通信设备,包括微波、射频、红外线、蓝牙和近场通信设备。

服务器130可以与交易处理器240一起或分开容纳,交易处理器240可以例如由在线服务提供商维护,该在线服务提供商可以为在用户设备110上进行的支付提供在线交易处理服务,以及管理用于发送和接收支付的支付账户。在这方面,服务器130包括一个或更多个处理应用,所述一个或更多个处理应用可以被配置成与用户设备110和/或浏览器服务服务器120交互,以促进用户设备110上的从由商户服务器270和/或280托管的商户网站购买的交易处理。在一个示例中,服务器130可以由美国加利福尼亚州圣何塞的

图2的服务器130包括:浏览器服务API 231,其被配置成控制与浏览器服务服务器120的通信;的网络服务API 232,其被配置成控制与由服务器130托管的网站(例如,WWW.PAYPAL.COM)的通信;数据库236;交易处理器240;以及网络接口250。浏览器服务API231和/或网络服务API 232可以与可执行过程、程序和/或具有关联硬件的应用对应。在其他实施方式中,浏览器服务API 231和/或网络服务API 232可以各自对应于基于REST的API。

浏览器服务API 231可以是服务器130与浏览器服务服务器120之间的计算接口。浏览器服务API 231可以定义服务器130与浏览器服务服务器120之间的交互,诸如服务器130可以进行的API调用类型(例如,将浏览器应用与用户账户链接的链接请求)、如何进行此类API调用、应使用的数据格式、要遵循的约定等。

网络服务API 232可以是服务器130与服务器托管的网络服务之间的计算接口。网络服务API 232可以定义服务器130与财务服务网站之间的交互,诸如服务器130可以进行的API调用类型(例如,将登录页面定向到用户设备110的API调用等)、如何进行此类API调用、应使用的数据格式、要遵循的约定等。

数据库236可以存储在服务器130的暂态和/或非暂态存储器中。在各种实施方式中,数据库236可以包括账户信息以及在提供和确认数据跟踪支付中使用的标识符。例如,账户数据库236可以被配置成存储与用户设备110相关联的用户的支付账户以发送和接收支付,用户可以向服务器130提供信息,包括用户个人信息和/或财务信息。另外,所述信息可以包括认证信息,诸如登录名、账户名、密码、PIN或其他账户创建信息。用户可以提供姓名、地址、社会安全号码或建立帐户和/或实现支付所需的其他个人信息。

在一些实施方式中,数据库236对于服务器130可以是本地的。然而,在其他实施方式中,数据库236可以在服务器130外部并且可由服务器130访问,包括可通过网络260访问的云存储系统和/或数据库。

交易处理器240可以与服务器130一起或分开容纳,服务器130可以例如由在线服务提供商维护,该在线服务提供商可以为在用户设备110上进行的支付提供在线交易处理服务以及管理用于发送和接收支付的支付账户。在这方面,交易处理器240包括一个或更多个处理应用,所述一个或更多个处理应用可以被配置成与用户设备110和/或商户服务器270和280交互以促进用户设备110上的在线购买的交易处理。

服务器130包括至少一个网络接口部件250,该至少一个网络接口部件250适于通过网络260与用户设备110、浏览器服务服务器120、商户服务器270或280通信。在各种实施方式中,网络接口部件238可以包括DSL(例如,数字用户线)调制解调器、PSTN(公共交换电话网)调制解调器、以太网设备、宽带设备、卫星设备和/或各种其他类型的有线和/或无线网络通信设备,包括微波、射频(RF)和红外(IR)通信设备。

网络260可以实现为单个网络或多个网络的组合。例如,在各种实施方式中,网络260可以包括因特网或者一个或更多个内联网、陆线网络、无线网络和/或其他适当类型的网络。因此,网络260可以与系统200的各种部件可访问的小规模通信网络对应,诸如私有网或局域网,或更大规模的网络,诸如广域网或因特网。

图3A至图3B是根据实施方式的用于用户设备(诸如用户设备110)发起自动填充设置以将在用户设备上运行的浏览器应用与用户账户链接的示例性过程的流程图。过程300的过程中的一个或更多个过程可以至少部分地以存储在非暂态性有形机器可读介质上的可执行代码的形式实现,该可执行代码在由一个或更多个处理器运行时,可以使一个或更多个处理器执行所述过程中的一个或更多个过程。在一些实施方式中,过程300可以由在图1中的用户设备110上或图2中的用户设备110上运行的浏览器应用115、浏览器服务服务器120和服务器130交互地执行。值得注意的是,附加的过程、步骤和/或实现方式可以被省略,以不同的顺序执行,或者根据需要或适当地组合。

过程300开始于步骤302,其中浏览器应用115可以在与商户站点的交易会话期间调用信用卡自动填充API以获取卡信息。例如,用户可以操作用户设备以经由浏览器应用115访问商户网站,并且在商户网站的交易页面处,用户可以选择自动填充选项(如图8B中进一步所示)。调用自动填充的API调用可以包括但不限于以下(请注意,整个说明书中数据表中的样本值仅用于说明目的):

表1.用于自动填充设置请求的API参数

/>

/>

在步骤304,浏览器服务服务器120可以接收浏览器ID、设备ID和/或与浏览器应用115的浏览器会话相关联的其他数据以及向服务器130发送自动填充设置请求。例如,浏览器服务服务器120可以向服务器130发送POST消息,所述POST消息指示与浏览器应用相关联的风险数据。

在步骤306,服务器130可以接收具有风险数据的自动填充设置请求。例如,服务器130可以从风险数据中获得浏览器应用的跟踪ID,然后将其作为客户端元数据ID传递到虚拟卡生成模块。服务器130继而可以响应于POST消息将跟踪ID连同附加数据诸如但不限于客户端元数据ID、重定向URL、响应类型、JSON网络令牌(JWT)断言等一起提供至浏览器服务服务器120。浏览器服务服务器120继而可以经由浏览器服务API发送与服务器设置用户帐户的请求,服务器继而可以授权该请求并创建用于浏览器服务服务器120的客户端上下文。

在步骤307,服务器130可以生成对网络服务API的API调用以向用户账户提供登录页面,例如用于服务器130的网络服务器,以在浏览器应用115处生成登录画面,例如

在步骤308,浏览器应用115可以提交用户账户的登录凭证。例如,浏览器应用115可以接收电子邮件和密码的用户输入以登录入用户的

在步骤314,在接收到准许指示后,服务器130可以例如经由服务器130处的浏览器服务API在浏览器应用与用户的用户帐户之间建立链接。例如,服务器130的网络服务API可以在接收到链接账户的用户准许时重定向回具有授权码和状态参数的浏览器应用。

在步骤316,浏览器应用115继而可以完成与服务器130的网络服务的设置,并发送对虚拟卡的请求。例如,浏览器应用115可以向浏览器服务服务器120发送对虚拟卡的请求,浏览器服务服务器120继而可以例如在步骤318经由浏览器服务AI将具有授权码和/或加密密钥的请求传递到服务器130。例如,浏览器服务服务器120发送的获取虚拟卡的请求可以包括以下参数:

表2.用于获取虚拟卡的API参数

在步骤320,服务器130可以将用户的用户账户与代表浏览器应用115的合作伙伴ID关联并生成返回令牌。例如,服务器130可以生成虚拟卡信息,诸如16位卡号、3位或4位卡安全码、用于账单的用户地址等。在一些实现方式中,服务器130可以根据每次交易而动态地生成虚拟卡信息、16位卡号中的一个或更多个、以及3位或4位卡安全码。例如,可以使用随机数生成器来生成虚拟卡信息以生成卡号、卡安全码等。又例如,可以根据每次交易而生成哈希值,基于该哈希值可以从哈希表中检索卡号和/或卡安全码。在一些实现方式中,当例如在步骤318加密密钥是浏览器供应商提供的时,服务器130可以生成虚拟卡信息并且对生成的虚拟卡信息进行加密。

在步骤322,浏览器服务服务器120可以在服务器130处成功生成虚拟卡后接收返回令牌和经加密的虚拟卡信息。例如,浏览器服务服务器120接收到的包括返回令牌的响应消息可以包括如下参数,诸如:

表3.用于返回令牌的API参数

浏览器服务服务器120继而可以存储返回令牌并将虚拟卡信息传递到浏览器应用115。在步骤324,浏览器应用115可以从浏览器服务服务器120接收虚拟卡信息,然后可以在步骤326用卡信息自动地填入交易页面。例如,虚拟卡参数可以包括但不限于:

表4.虚拟卡参数

图4A至图4B是根据实施方式的用于用户设备(诸如图1中的110或图2中的110)在将在用户设备上运行的浏览器应用与用户账户链接之后请求自动填充的示例性过程的流程图。过程400的过程中的一个或更多个过程可以至少部分地以存储在非暂态有形机器可读介质上的可执行代码的形式实现,该可执行代码在由一个或更多个处理器运行时,可以使一个或更多个处理器执行所述过程中的一个或更多个过程。在一些实施方式中,过程400可以由在图1中的用户设备110上或图2中的用户设备110上运行的浏览器应用115、浏览器服务服务器120和服务器130交互地执行。值得注意的是,附加的过程、步骤和/或实现方式可以被省略,以不同的顺序执行,或者根据需要或适当地组合。

在步骤402,浏览器应用115可以在与商户站点的交易会话期间调用信用卡自动填充API以获得卡信息。例如,在浏览器应用与用户账户之间的链接已经在图3A至图3B所示的过程300中建立之后,用户可以参与另一在线交易,该另一在线交易可以在交易页面处调用自动填充功能。

在步骤404,浏览器服务服务器120可以从浏览器应用115接收浏览器数据和设备数据,以及自动填充请求。例如,浏览器供应商还可以基于浏览器数据和设备数据来生成与浏览器应用相关联的风险数据。在步骤406,服务器130可以接收风险数据并从风险数据中获得浏览器应用的跟踪ID。例如,服务器130可以从浏览器服务服务器120接收包含风险数据的POST消息,然后可以将从风险数据获得的跟踪ID传递到虚拟卡生成模块。浏览器服务服务器120然后可以从服务器130接收跟踪ID,并在步骤408处检索先前存储的服务器130的返回令牌、授权码和/或加密密钥。

在一个实现方式中,浏览器服务服务器120可以使用授权码来发送获取虚拟卡和/或返回令牌的请求。例如,用于该请求的参数可以包括但不限于:

表5.用于使用授权码来获取虚拟卡的API参数

在一个实现方式中,浏览器服务服务器120可以使用先前存储的返回令牌(例如,来自图3B中的步骤322)来发送获取虚拟卡和/或返回令牌的请求。例如,用于该请求的参数可以包括但不限于:

表6.用于使用返回令牌来获取虚拟卡的API参数

在步骤410,在例如经由浏览器服务API从浏览器服务服务器120接收到对虚拟卡的包含返回令牌、授权码或加密密钥的请求时,服务器130可以对返回令牌进行验证,并返回经加密的虚拟卡信息。在一些实现方式中,服务器130可以动态地重新生成虚拟卡信息,例如16位卡号和/或卡安全码,并且在将重新生成的卡信息返回到浏览器服务服务器120之前对其进行加密。

当在步骤410处的验证成功时或者当与所应用的浏览器相关联的风险被评估为在低范围内时,服务器130然后可以将虚拟卡信息返回到浏览器服务服务器120,浏览器服务服务器120继而将虚拟卡信息传递到浏览器应用115。在步骤412,浏览器应用115接收虚拟卡信息并且可以自动地填入交易页面。例如,服务器进行的返回虚拟卡信息的响应可以包括诸如如下但不限于如下的参数:

表7.当使用授权码请求虚拟卡时的响应参数

表8.当使用返回令牌请求虚拟卡时的响应参数

当在步骤410处的验证不成功时和/或当与浏览器应用相关联的风险被评估为高时,服务器130可以以错误码拒绝虚拟卡请求。在步骤416,可以例如基于经由浏览器服务服务器120从服务器130发送的拒绝消息和/或错误码在浏览器应用115处拒绝自动填充请求。

在一些实现方式中,在步骤410处验证返回令牌后,服务器130可以决定加强风险质询。例如,如果返回令牌在超过阈值时间量(例如,7天、14天等)内没有被更新,则服务器130可以在用户帐户与浏览器应用之间的链接上与用户重新确认。又例如,与浏览器应用相关联的风险可能落入需要风险加强的预定义范围(例如,既不低也不高)。在步骤420,服务器130可以例如经由网络服务API向用户发送风险质询。可以经由浏览器应用115在服务器130的网络服务页面内提供风险质询。

在步骤424,浏览器应用115可以提交对风险质询的回答,例如,用户经由浏览器应用115回答风险质询。在步骤426,服务器130可以确定对风险质询的回答是正确的。浏览器服务服务器120然后可以例如在步骤428接收回答并接管对成功的质询加强解决方案的控制。浏览器服务服务器120也可以在加强解决方案成功后向服务器130发送获取虚拟卡信息的请求。

在替代性实现方式中,服务器130可以经由不同的通信协议诸如电子邮件、文本消息、即时消息等向用户发送风险质询,并请求用户以风险质询的回答进行响应。在经由电子邮件、文本消息或即时消息接收到风险质询的回答后,服务器130可以以与图4B中所示的类似方式继续进行步骤426。

在步骤428,服务器130然后可以例如经由浏览器服务API向浏览器服务服务器120发送虚拟卡信息,诸如卡号、有效期限、卡验证值(CVV)号或卡安全码(CSC)等。在步骤430,浏览器服务服务器120可以将虚拟卡信息传递到浏览器应用115。在步骤432,浏览器应用115继而可以接收虚拟卡信息以自动地填充交易页面。

图5是根据实施方式的用于用户设备(诸如用户设备110)从由服务器(诸如服务器130)促成的网络服务内撤销在用户帐户与浏览器应用之间建立的链接的示例性过程的流程图。过程500的过程中的一个或更多个过程可以至少部分地以存储在非暂态有形机器可读介质上的可执行代码的形式实现,该可执行代码在由一个或更多个处理器运行时,可以使一个或更多个处理器执行所述过程中的一个或更多个过程。在一些实施方式中,过程500可以由在图1中的用户设备110上或图2中的用户设备110上运行的浏览器应用115、由服务器130促成的网络服务135和服务器130交互地执行。值得注意的是,附加的过程、步骤和/或实现方式可以被省略,以不同的顺序执行,或者根据需要或适当地组合。

在步骤502,在用户设备上运行的浏览器应用115可以在浏览器应用115在用户账户下登录入服务器130的网络服务时,提交撤销请求以移除在用户账户与浏览器应用之间的链接。例如,用户可以经由PAYPAL.COM登录到他或她的PayPal帐户,并在他或她的PayPal档案的设置中选择“移除与浏览器的链接”选项。

在步骤504,由服务器130促成的网络服务135可以例如经由网络服务API向服务器130发送撤销通知。具体地,撤销通知可以包括用于授权用户账户与浏览器应用之间的链接的先前存储的返回令牌或刷新令牌、客户端ID等。

在步骤506,服务器130可以通过使先前为建立该链接而发出的返回令牌无效来移除与浏览器应用的链接。例如,服务器130可以从网络服务135(例如,PAYPAL.COM)接收返回令牌、检索与返回令牌对应的用户帐户档案(例如,用户PayPal帐户)、以及移除与用户帐户档案相关联的先前创建和存储的返回令牌。

在步骤510,浏览器应用可以接收撤销成功通知。例如,服务器130可以例如经由网络服务API将撤销成功通知发送回网络服务135,网络服务API继而可以将该通知转发到浏览器应用。在一些实现方式中,可以从服务器130向浏览器供应商发送关于链接许可被撤销的通知。

图6是根据实施方式的用于在用户登录入浏览器应用时撤销在用户帐户与浏览器应用之间建立的链接的示例性过程的流程图。过程600的过程中的一个或更多个过程可以至少部分地以存储在非暂态有形机器可读介质上的可执行代码的形式实现,该可执行代码在由一个或更多个处理器运行时,可以使一个或更多个处理器执行所述过程中的一个或更多个过程。在一些实施方式中,过程600可以由在图1中的用户设备110上或图2中的用户设备110上运行的浏览器应用115、由服务器130促成的网络服务135和服务器130交互地执行。值得注意的是,附加的过程、步骤和/或实现方式可以被省略,以不同的顺序执行,或者根据需要或适当地组合。

在步骤602,浏览器应用115可以在用户登录入浏览器应用115时向浏览器服务服务器120提交撤销请求。例如,用户可以使用浏览器应用GOOGLE

在步骤604,浏览器服务服务器120可以在从浏览器应用115接收到撤销请求时例如经由浏览器服务API向服务器130发送撤销请求。具体地,撤销请求可以包括用于授权用户账户与浏览器应用之间的链接的先前存储的返回令牌或刷新令牌、客户端ID等。

在步骤606,服务器130可以通过使先前为建立该链接而发出的返回令牌无效来移除与浏览器应用的链接。例如,服务器130可以从浏览器服务服务器120(例如,GOOGLE

在步骤608,浏览器服务服务器120可以经由浏览器服务API从服务器130接收撤销通知,并且继而可以例如通过删除先前存储的返回令牌来移除与服务器的链接。

在步骤610,浏览器应用可以接收撤销成功通知。例如,服务器130可以例如经由浏览器服务API将撤销成功通知发送回浏览器服务服务器120,浏览器服务服务器120继而可以将通知转发到浏览器应用。

在一些实施方式中,浏览器应用与用户账户之间的链接可以通过多种其他方式撤销,包括但不限于用户在服务器的网络服务处关闭或取消虚拟卡、用户关闭或取消当前虚拟卡并在服务器的网络服务处生成新的虚拟卡、用户在服务器的网络服务处暂时挂起当前虚拟卡等。

图7是根据实施方式的用于为用户账户与浏览器应用之间的链接刷新令牌的示例性过程的流程图。过程700的过程中的一个或更多个过程可以至少部分地以存储在非暂态有形机器可读介质上的可执行代码的形式实现,该可执行代码在由一个或更多个处理器运行时,可以使一个或更多个处理器执行所述过程中的一个或更多个过程。在一些实施方式中,过程700可以经由浏览器服务服务器120与服务器130之间的交互来执行。值得注意的是,附加的过程、步骤和/或实现方式可以被省略,以不同的顺序执行,或者根据需要或适当地组合。

在一个实施方式中,在浏览器应用与用户账户之间的链接被建立时,可以对由服务器发出并存储在浏览器供应商处的指示该链接的返回令牌周期性地、持续地或间歇性地或基于按需地进行刷新。

在步骤702,浏览器服务服务器120可以将客户端ID、授予类型(刷新令牌的请求)、重定向URI等连同在步骤704处的刷新令牌请求一起发送到服务器130。在步骤706,服务器130可以例如基于客户端ID、当前返回令牌等来验证客户端上下文,并对与客户端ID对应的浏览器应用执行风险检查。

在步骤708,当风险检查成功时,服务器130可以生成并返回刷新令牌。在这种情况下,浏览器服务服务器120可以在步骤710接收并存储刷新令牌。

替代性地,服务器130可以拒绝刷新令牌请求,或者选择加强用户以进行风险质询,如图4A至图4B中以类似方式描述的。

图8A至图8H提供了根据一个实施方式的示例浏览器应用页面的工作流程,其示出了在浏览器应用与用户账户之间建立链接的过程。图8A至图8H所示的示例浏览器应用页面可以与关于图3A至图3B描述的过程300的浏览器应用115处的用户侧过程对应。

从图8A开始,浏览器应用窗口900包括地址栏902,地址栏902示出浏览器应用正在访问商户网站。商户网站显示交易页面,包括商户名称812、用户打算购买的项目814、每个项目对应的项目价格822、以及总交易金额824。交易页面还显示结账选项816,其包括信用卡的支付选项804。例如,数据字段828显示对于信用卡结账,用户需要填写持卡人姓名、卡号、有效期和CVV码。

继续图8B,浏览器窗口900在数据字段持卡人姓名处显示下拉列表小部件833。具体来说,下拉列表显示与浏览器应用相关联的支付或管理选项。例如,用户可以从下拉列表833中选择与先前存储在浏览器应用中的“JohnSmith”相关联的信用卡。又例如,用户可以从下拉列表833中选择“将PayPal添加到浏览器”。

继续图8C,浏览器窗口900显示用于开始将浏览器应用与用户的用户帐户链接的弹出窗口小部件838。例如,弹出窗口小部件838显示用于用户继续创建虚拟卡号并将虚拟卡号添加到浏览器的指令。

继续图8D,当用户选择“开始”以从图8C中的弹出窗口小部件838创建虚拟卡时,弹出窗口小部件840可以为用户提供登录框以登录入服务器的网络服务。

继续图8E,一旦用户在服务器处成功登录入用户账户,弹出窗口小部件842可以显示与虚拟卡生成相关的信息页面,例如生成虚拟卡的账户(例如、“农行红利”信用卡等)。弹出窗口小部件842还可以为用户提供“准许并创建虚拟卡”的选项。

继续图8F,在用户选择从图8E中的弹出窗口小部件842创建虚拟卡之后,弹出窗口小部件844显示正在创建虚拟卡并且细节正在被添加到浏览器。例如,图3A至图3B中所示的过程300示出了在用户侧的浏览器应用115、浏览器服务服务器120和服务器130之间的交互以创建虚拟卡并将虚拟卡的细节添加到浏览器应用。

继续图8G,当成功创建虚拟卡并将其添加到浏览器应用时,卡信息字段的下拉列表可以提供显示该虚拟卡的新选项845。

继续图8H,当用户选择图8G中的虚拟卡选项845时,浏览器窗口800可以使用检索到的虚拟卡信息来自动地填入支付数据字段848。在一些实现方式中,浏览器窗口800提供显示检索到的虚拟卡信息诸如屏蔽的卡号(例如,仅显示最后4位数字)、有效期限和CVV或CSC的弹出窗口小部件850。

在一些实现方式中,浏览器应用可能不会将CSC码自动地填入到支付数据字段848中,但可能会要求用户手动输入CSC码。例如,CSC或CVV码可以通过浏览器窗口内的小部件显示,以供用户手动输入CSC或CVV码。在一些实现方式中,为了进一步增强虚拟卡使用的安全性,服务器可以使用不同的通信协议诸如但不限于电子邮件、文本消息、语音邮件等将CSC码发送到用户。

又例如,在848处用支付数据字段来自动地填入持卡人姓名、虚拟卡号和有效期限后,一旦用户通过将光标放在卡号数据字段上来参与该字段,浏览器窗口800可以在该卡号数据字段处提供调出小部件。调出小部件可以显示虚拟卡的CSC或CVV码,使得用户可以手动将CSC或CVV码输入数据字段以继续交易。

又例如,在例如通过点击空白字段参与CSC或CVV数据字段时,用户可以被重定向以登录入可以自动地填充CSC或CVV码的

图9A至图9B提供了根据一个实施方式的示例浏览器应用页面的工作流程,其示出了当用户通过浏览器供应商登录入浏览器应用时撤销浏览器应用与用户帐户之间的链接的过程。图9A至图9B所示的示例浏览器应用页面可以与关于图6描述的过程600的浏览器应用115处的用户侧过程对应。

从图9A开始,浏览器窗口900在用户使用浏览器供应商例如本示例中的

在一个实现方式中,用户可以选择“查看卡详情”选项905以查看虚拟卡的详情,或者选择“取消链接卡”选项906以撤销浏览器窗口900内的虚拟卡链接。

继续图9B,当在图9A中选择“查看卡详情”选项905时,浏览器窗口900显示弹出窗口908。弹出窗口908可以显示屏蔽的虚拟卡号、CSC码和与虚拟卡相关联的银行卡。在一个实现方式中,弹出窗口908可以提供选项912以定制CSC码。例如,用户可以选择选项912以生成随机化的CSC码以替换当前存在的CSC码等。又例如,用户可以配置何时以及多久一次生成随机化的CSC码以替换先前版本,例如,根据每次交易、根据每次与前所未有的商户的交易、每周交易、每周与前所未有的商户的交易等。

图10是根据实施方式的计算机系统的框图,其适用于实施图1至图2所示的一个或更多个部件并执行图3A至图7中所示的一个或更多个过程,并显示图8A至图10B中所示的屏幕。在各种实施方式中,通信设备可以包括能够与网络通信的个人计算设备(例如,智能电话、计算平板电脑、个人计算机、膝上型计算机、可穿戴计算设备诸如眼镜或手表、蓝牙设备、钥匙FOB、徽章等)。服务提供商可以利用能够与网络通信的网络计算设备(例如,网络服务器)。应当理解,用户和服务提供商使用的设备中的每个设备可以以如下方式实现为计算机系统1000。

计算机系统1000包括用于在计算机系统1000的各种部件之间传送信息数据、信号和信息的总线1012或其他通信机制。这些部件包括输入/输出(I/O)部件1004,该输入/输出(I/O)部件1004对用户(即,发送者、接收者、服务提供商)动作进行处理,诸如从小键盘/键盘选择键、选择一个或更多个按钮或链接等,以及向总线1012发送对应的信号。I/O部件1004还可以包括输出部件,诸如显示器1002和光标控件1008(诸如键盘、小键盘、鼠标等)。显示器1002可以被配置成呈现用于登录入用户账户的登录页面或用于从商户购买项目的结账页面。还可以包括可选的音频输入/输出部件1006以通过转换音频信号来允许用户使用语音来输入信息。音频I/O部件1006可以允许用户听到音频。收发器或网络接口1020经由网络1022在计算机系统1000和其他设备诸如另一用户设备、商户服务器或服务提供商服务器之间传输和接收信号。在一个实施方式中,传输是无线的,尽管其他传输介质和方法也可以是合适的。处理器1014可以是微控制器、数字信号处理器(DSP)或其他处理部件,处理器1014对这些各种信号进行处理,诸如用于在计算机系统1000上显示或经由通信链路1024传输到其他设备。处理器1014还可以控制信息诸如cookie或IP地址传输到其他设备。

计算机系统1000的部件还包括系统存储器部件1010(例如RAM)、静态存储部件1016(例如ROM)和/或盘驱动器1018(例如固态驱动器、硬盘驱动器)。计算机系统1000通过处理器1014和其他部件来通过执行包含在系统存储器部件1010中的一个或更多个指令序列来执行特定操作。例如,处理器1014可以根据过程300进行本文描述的网页元素的位置检测。

逻辑可以编码在计算机可读介质中,计算机可读介质可以指参与向处理器1014提供指令以供执行的任何介质。这种介质可以采用多种形式,包括但不限于非易失性介质、易失性介质和传输介质。在各种实现方式中,非易失性介质包括光盘或磁盘,易失性介质包括动态存储器诸如系统存储器部件1010,并且传输介质包括同轴电缆、铜线和光纤,包括包含总线1012的电线。在一个实施方式中,逻辑被编码在非暂态计算机可读介质中。在一个示例中,传输介质可以采用声波或光波的形式,诸如在无线电波、光和红外数据通信期间产生的那些。

一些常见形式的计算机可读介质包括,例如,软盘、柔性盘、硬盘、磁带、任何其他磁性介质、CD-ROM、任何其他光学介质、打孔卡、纸带、任何其他具有孔图案的物理介质、RAM、PROM、EPROM、FLASH-EPROM、任何其他存储芯片或盒式磁带、或计算机适于从中读取的任何其他介质。

在本公开的各种实施方式中,用于实践本公开的指令序列的执行可以由计算机系统1000执行。在本公开的各种其他实施方式中,通过通信链路1024耦合到网络(例如,诸如LAN、WLAN、PTSN和/或各种其他有线或无线网络,包括电信、移动、和蜂窝电话网络)的多个计算机系统1000可以执行指令序列以相互协调地实践本公开。

在适用的情况下,本公开提供的各种实施方式可以使用硬件、软件或硬件和软件的组合来实现。此外,在适用的情况下,在不脱离本公开的精神的情况下,可以将本文阐述的各种硬件部件和/或软件部件组合成包括软件、硬件和/或两者的复合部件。在适用的情况下,在不脱离本公开的范围的情况下,本文中阐述的各种硬件部件和/或软件部件可以被分成包括软件、硬件或两者的子部件。此外,在适用的情况下,预期,可以将软件部件实现为硬件部件,并且反之亦然。

根据本公开的软件诸如程序代码和/或数据可以存储在一个或更多个计算机可读介质上。还预期本文标识的软件可以使用一个或更多个通用或专用计算机和/或计算机系统(联网和/或以其他方式)实现。在适用的情况下,本文描述的各种步骤的顺序可以改变、组合成复合步骤和/或分离成子步骤以提供本文描述的特征。

本文描述的各种特征和步骤可以被实现为系统,该系统包括存储本文描述的各种信息的一个或更多个存储器以及耦接至一个或更多个存储器和网络的一个或更多个处理器,其中,所述一个或更多个处理器可操作以执行如本文所述的步骤,作为包括多个机器可读指令的非暂态机器可读介质,多个机器可读指令在由一个或更多个处理器执行时适于使一个或更多个处理器执行包括本文所述步骤的方法,以及由一个或更多个设备诸如硬件处理器、用户设备、服务器和本文描述的其他设备执行的方法。

技术分类

06120115928101