所属技术领域的技术人员知道,本发明的各个方面可以实现为系统、方法或计算机程序产品。因此,本发明的各个方面可以具体实现为以下形式,即:完全的硬件实施方式、完全的软件实施方式(包括固件、驻留软件、微代码等),或硬件和软件方面结合的实施方式,这里可以统称为“电路”、“模块”或“系统”。此外,在一些实施例中,本发明的各个方面还可以实现为在一个或多个计算机可读介质中的计算机程序产品的形式,该计算机可读介质中包含计算机可读的程序代码。
可以采用一个或多个计算机可读介质的任意组合。计算机可读介质可以是计算机可读信号介质或者计算机可读存储介质。计算机可读存储介质例如可以是——但不限于——电、磁、光、电磁、红外线、或半导体的系统、装置或器件,或者任意以上的组合。计算机可读存储介质的更具体的例子(非穷举的列表)包括:具有一个或多个导线的电连接、便携式计算机盘、硬盘、随机存取存储器(RAM)、只读存储器(ROM)、可擦式可编程只读存储器(EPROM或闪存)、光纤、便携式紧凑盘只读存储器(CD-ROM)、光存储器件、磁存储器件、或者上述的任意合适的组合。在本文件中,计算机可读存储介质可以是任何包含或存储程序的有形介质,该程序可以被指令执行系统、装置或者器件使用或者与其结合使用。
计算机可读的信号介质可以包括在基带中或者作为载波一部分传播的数据信号,其中承载了计算机可读的程序代码。这种传播的数据信号可以采用多种形式,包括——但不限于——电磁信号、光信号或上述的任意合适的组合。计算机可读的信号介质还可以是计算机可读存储介质以外的任何计算机可读介质,该计算机可读介质可以发送、传播或者传输用于由指令执行系统、装置或者器件使用或者与其结合使用的程序。
计算机可读介质上包含的程序代码可以用任何适当的介质传输,包括—但不限于—无线、有线、光缆、RF等等,或者上述的任意合适的组合。
可以以一种或多种程序设计语言的任意组合来编写用于执行本发明操作的计算机程序代码,所述程序设计语言包括面向对象的程序设计语言—诸如Java(注:术语“Java”可能在全球各个地区受商标权保护,在此仅用于指称在该商标权可能存在的范围内由该商标显示的产品或者服务)、Smalltalk、C++等,还包括常规的过程式程序设计语言—诸如“C”语言或类似的程序设计语言。程序代码可以完全地在用户计算机上执行、部分地在用户计算机上执行、作为一个独立的软件包执行、部分在用户计算机上部分在远程计算机上执行、或者完全在远程计算机或服务器上执行。在涉及远程计算机的情形中,远程计算机可以通过任意种类的网络——包括局域网(LAN)或广域网(WAN)—连接到用户计算机,或者,可以连接到外部计算机(例如利用因特网服务提供商来通过因特网连接)。
下面将参照根据本发明实施例的方法、装置(系统)和计算机程序产品的流程图和/或框图描述本发明。应当理解,流程图和/或框图的每个方框以及流程图和/或框图中各方框的组合,都可以由计算机程序指令实现。这些计算机程序指令可以提供给通用计算机、专用计算机或其它可编程数据处理装置的处理器,从而生产出一种机器,使得这些计算机程序指令在通过计算机或其它可编程数据处理装置的处理器执行时,产生了实现流程图和/或框图中的一个或多个方框中规定的功能/动作的装置。
也可以把这些计算机程序指令存储在计算机可读介质中,这些指令使得计算机、其它可编程数据处理装置、或其他设备以特定方式工作,从而,存储在计算机可读介质中的指令就产生出包括实现流程图和/或框图中的一个或多个方框中规定的功能/动作的指令的制造品(article of manufacture)。
也可以把计算机程序指令加载到计算机、其他可编程数据处理装置或者其他装置上,使得在计算机、其他可编程数据处理装置或者其他装置上进行一系列操作步骤,以产生计算机实现的处理,从而在计算机或者其他可编程装置上执行的指令提供在流程图以及/或者框图中的一个或者多个方框中详细说明的功能/动作的处理。
现在,结合附图来详细描述根据本发明的用于软件以及/或者方法的硬件以及软件环境的一种可能的实施例。图1是表示网络计算机系统100的各种部分的功能框图,该计算机系统100包括:Acme服务器计算机子系统(其为本身包括计算机的更大的计算机系统的一部分)102、Mike的智能电话(客户端子系统)104、Nancy的代理的计算机(客户端子系统)106、BestCo计算机(客户端子系统)108、Rowdy Rooster Escrow计算机(客户端子系统)110、Nancy的信用卡发行商的计算机(客户端子系统)112、通信网络114、Acme服务器计算机200、通信单元202、处理器组204、输入/输出(i/o)接口组206、存储器设备208、持久性存储设备210、显示器设备212、外部设备组214、随机访问存储器(RAM)设备230、高速缓冲存储器设备232、以及程序300。
如图1所示,Acme服务器计算机子系统102在多个方面是本发明中的各种计算机子系统的代表。因此,计算机子系统102的若干个部分现在将在以下段落讨论。
服务器计算机子系统102可以是膝上计算机、平板计算机、上网本计算机、个人计算机(PC)、台式计算机、个人数字助理(PDA)、智能电话或者其他任何能够通过网络114与客户端子系统通信的可编程电子设备。程序300是用于创建、管理以及控制将在下面的本具体实施方式的第一实施例子部分中详细讨论的规定软件功能的机器可读指令以及/或者数据的集合。
服务器计算机子系统102能够通过网络114与其他计算机子系统通信。网络114例如可以是局域网(LAN),例如互联网的广域网(WAN),或者是两者的组合,其可以包括有线、无线、或者光纤光连接。一般地,网路114可以是将会支持服务器和客户端子系统之间的通信的连接以及协议的任何组合。
应当理解,图1仅仅提供一个实施例(也就是系统100)的示例,没有任何对于能够实现不同实施例的环境进行限制的意思。可以对描述的环境进行多个变更,特别是对于现在或者将来在云计算、分布式计算、更小的计算设备、网络通信等方面的进步。同样地,术语“客户端”以及“服务器”不能认为是对这里通过这些术语所指的任何具体设备的功能的限定,这是因为系统100中的一些或者全部的各种计算机可以作为客户端、作为服务器、同时作为两者或者不作为两者中的任何一个,其取决于具体实现以及给定设备操作的环境。
如图1所示,服务器计算机子系统102被表示为具有多个双向箭头的框图。这些双向箭头(未用标号分别示出)表示通信纤维,其提供子系统102的多种部件之间的通信。这些通信纤维可以通过任何为在处理器(诸如,微处理器、通信和网络处理器,等)、系统存储器、外围设备以及其他系统中的硬件元件之间传递数据以及/或者控制信息而设计的任何架构上实现。例如,该通信纤维可以至少一部分实现为在一个或者多个总线。
存储器208以及持久性存储设备210是计算机可读存储介质。一般地,存储器208可以包括任何合适的易失性或者非易失性计算机可读存储介质。进一步地应当理解,现在以及/或者不久的将来:(i)外部设备214可能能够供应一些或者全部用于子系统102的存储器;以及/或者(ii)子系统102外部的设备可能能够提供用于子系统102的存储器。
程序300一般通过存储器208的一个或者多个存储器被存储在持久存储设备210,用于被一个或者多个各自的处理器204访问以及/或者执行。持久性存储设备210:(i)是至少比传输中的信号更加持久;(ii)将程序存储在有形介质(例如磁或者光领域)上;以及(iii)持久性充分低于持久性存储设备。可替换地,数据存储可以比由持久性存储设备210提供的存储类型更加持久以及/或者永久。
程序300可以包括机器可读并且可执行的指令以及/或者实体数据(也就是在数据库中存储的数据的类型)。在本具体实施例中,持久性存储设备210包括磁硬盘驱动器。举出可能的种类,持久性存储设备210可以包括固态硬盘、半导体存储设备、只读存储器(ROM)、可擦写可编程只读存储器(EPROM)、闪速存储器、或者其他任何能够存储程序指令或者数字信息的计算机可读存储介质。
持久性存储设备210使用的介质可以是可移动的。例如,可移动硬盘可以用作持久性存储设备210。其他示例包括光或者磁盘、拇指盘、以及能够插入到驱动器而传输到另一个作为持久性存储设备210的一部分的计算机可读存储介质上的智能卡。
通信单元202在这些示例中提供与其他数据处理系统或者子系统102之外的设备的通信,例如客户端子系统104、106、108、110以及112。在这些示例中,通信单元202包括一个或者多个网络接口卡。通信单元202能够通过物理的以及无线的通信链路的其中一个或者两者来提供通信。在这里讨论的任何软件模块都能够通过通信单元(例如通信单元2020)下载到持久性存储设备(例如持久性存储设备210)。
I/O接口组206允许与其他设备的数据输入以及输出,其可以在数据通信中本地地与服务器计算机200连接。例如,I/O接口组206提供到外部设备组214的连接。外部设备组214可以典型地包括例如键盘、键区、触摸屏,以及/或者其他合适的输入设备等设备。外部设备组214还可以包括便携式计算机可读存储介质,例如拇指盘、便携光或者磁盘、以及存储卡。软件以及数据用于实施本发明的实施例,例如程序300可以被存储在此便携式计算机可读介质中。在这些实施例中,相关的软件可以通过I/O接口组206被全部或者部分加载到持久性存储设备210。I/O接口组206还在数据通信中与显示设备212连接。
显示设备212提供向用户显示数据的机制,并且例如可以是计算机显示器或者智能电话显示屏。
基于应用识别在这里描述的程序,这些程序在本发明的具体实施例中为该应用而实现。然而,应当理解,在这里命名的任何特殊的程序仅仅是为了方便,因此本发明不限于单独使用以该命名识别以及/或者意指的任何具体的应用。
II.第一实施例
预先注意:下面附图中的流程图和框图显示了根据本发明的多个实施例的系统、方法和计算机程序产品的可能实现的体系架构、功能和操作。在这点上,流程图或框图中的每个方框可以代表一个模块、程序段或代码的一部分,所述模块、程序段或代码的一部分包含一个或多个用于实现规定的逻辑功能的可执行指令。也应当注意,在有些作为替换的实现中,方框中所标注的功能也可以以不同于附图中所标注的顺序发生。例如,两个连续的方框实际上可以基本并行地执行,它们有时也可以按相反的顺序执行,这依所涉及的功能而定。也要注意的是,框图和/或流程图中的每个方框、以及框图和/或流程图中的方框的组合,可以用执行规定的功能或动作的专用的基于硬件的系统来实现,或者可以用专用硬件与计算机指令的组合来实现。
图2示出了描述根据本发明的方法的流程图250。图3示出了用于执行流程图250的至少一些方法步骤的程序300。在下面的一连串段落中,将广泛参考图2(用于方法步骤方框)以及图3(用于软件方框)讨论本方法以及相关联软件。
处理从步骤S255开始,其中启动模块355启动包括一方或者多方以及金融机构(参见下面的本具体实施方式的定义子部分“金融机构”的定义)的付款交易。在本实施例中,付款人被命名为Mike(迈克)以及Nancy(南希),收款人为Acme器具(Widget)公司,Bestco以及Rowdy Rooster Escrow公司。在本示例中,没有收款人是金融机构。可替换地,收款人也可以是金融机构。付款被Mike(在智能电话104上工作,参见图1)、Nancy的代理(通过虚拟专用网络(VPN,Virtual Private Network)连接在计算机106上工作,参见图1)以及Acme器具公司服务器计算机子系统102(参见图1)共同地启动。
在本示例中,模块355建立在各方承诺并且执行多种分离付款中的至少一些时实质上在时间上重叠的三(3)个通信会话。更具体地,模块355建立以下会话(也称为三方分离会话):(i)Mike的智能电话104与Acme服务器子系统102之间的第一会话;(ii)Nancy的代理的计算机106和Acme服务器子系统102之间的第二会话;(iii)Nancy的信用卡发行商的计算机112(包括任何中间网关计算机(图1中未独立示出))以及Acme服务器子系统102之间的第三会话。在本示例中,模块355作为用于该三个并存的会话的交易管理器动作。可替换地,也可以存在单一会话,对此Acme服务器子系统、Mike、Nancy的代理以及Nancy的信用卡发行商的计算机为全部参与方。
处理进入到步骤S260,其中用户接口模块260向Mike(在他的设备104上)以及Nancy的代理(在她的设备106上)显示承诺画面。图4的截屏图400示出了该承诺画面的显示。除了以下(i)以及(ii)外,对于Mike以及Nancy的代理的显示实质相同:(i)Mike的显示永远不会示出按钮404以及按钮408作为可点击的按钮;并且(ii)Nancy的代理的显示永远不会示出按钮406以及按钮402作为可点击的按钮。
在步骤S260的期间,模块355维持包括Mike、Nancy的代理、Nancy的信用卡发行商的计算机以及Acme的子系统的三方分离会话。该三方分离会话允许模块360简单并且可靠地向Mike以及Nancy的代理发送承诺画面信息并且保持全部参与方同步。
处理进入到步骤S265,其中服务器子系统102(参见图1)的用户界面模块360接收指示Mike同意的同意信息。更具体地,Mike点击在他的智能电话104(参见图1)上的按钮402(参见图4)。在本示例中,只要在其他收款人(此时为Nancy通过她的代理动作)都同意之前动作,Mike可以通过敲击按钮406来撤回该同意。可替换地,在一些实施例中同意也可以不能被撤回。可替换地,即使他们都已经指示同意之后,也可以给Mike以及Nancy一个短期间(例如5分钟)来撤回。即使提供了这样的短暂的撤回窗口,也应认为对于最后一个需要的同意,付款“实质上被同时地”执行。
在步骤S265的期间,模块355维持包括Mike、Nancy的代理、Nancy的信用卡发行商的计算机以及Acme的子系统的三方分离会话。该三方分离会话允许模块360简单并且可靠地从Mike接收同意信息并且保持全部参与方同步。
处理进入到步骤S270,其中服务器子系统102(参见图1)的用户界面模块360接收指示Nancy同意的同意信息。更具体地,Nancy的代理点击在她的计算机106(参见图1)上的按钮404(参见图4)。在本示例中,Nancy的代理可以通过敲击按钮408(参见图4)来取消付款,只要在点击按钮404之前点击按钮408即可。在本示例中,Mike和Nancy的代理“实时地”动作,也就是说Mike以及Nancy的代理可以足够快地看到彼此的动作,因此合理的收款人会认为实质上同时做出了付款同意以及付款的通知。例如,作为实际的问题,如果Mike需要在Nancy同意之后等待1个小时才能被通知到同意,则不是“实时”。另一方面,如果Mike需要等待10秒就被通知到Nancy的同意,则该延迟仍然与“实时”一致。
在步骤S270的期间,模块355维持包括Mike、Nancy的代理、Nancy的信用卡发行商的计算机以及Acme的子系统的三方分离会话。该三方分离会话允许模块360简单并且可靠地从Nancy的代理接收同意信息并且保持全部参与方同步。
处理进入到步骤S275,其中承诺模块375通过向Mike以及Nancy的代理两者发送Mike以及Nancy承诺了进行付款的通知,以“承诺”(参见上述背景技术部分的定义)全部的付款。取决于适用的合同法,Mike以及Nancy可能或者可能不在同一时刻承担法律义务进行付款。而且,取决于适用的法律以及/或者各方之间的安排,在Nancy的付款失败时Mike可以或者可以不负责进行Nancy的付款,反之依然。通知需要合理地使Mike以及Nancy的代理(并且推定地,Nancy)明白,他们将需要进行它们的支付并且已经没有机会去“收回该交易”。在一些实施例中,可以省略步骤S275。
在步骤S275的期间,模块355维持包括Mike、Nancy的代理、Nancy的信用卡发行商的计算机以及Acme的子系统的三方分离会话。该三方分离会话允许模块375简单并且可靠地向Mike以及Nancy的代理发送承诺画面信息并且保持全部参与方同步。
处理进入到步骤S280,其中执行模块280进行执行处理。更具体地,模块380执行以下子步骤:(i)请求执行付款,该付款在支付交易的条件下可立即支付并且还允许在计算机网络中支付;(ii)接收已经进行的执行请求的解决(resolution);(iii)通知Mike以及Nancy的代理,他们的可立即支付以及可立即执行的付款已经确实被解决(也就是已支付或者被拒绝)。在一些实施例中,子步骤(i)、(ii)以及(iii)可以“实质上即时”发生,也就是在几秒或者一秒中的一个片断之内。在进行子步骤(i)后,执行过程中的付款的执行将成为未决的状态。子步骤(ii)后,将发生实际执行(例如资金已被成功转移)。子步骤(iii)是在执行后,并且可以因在步骤S275的预先通知而被省略。在本实施例中,子步骤(i)、(ii)以及(iii)全部都可以在计算机之间并且通过通信网络发生。在许多实施例中,执行方可以全部都是金融机构。
在步骤S280,如果没有成功解决可立即支付以及可立即执行的付款,则会影响其他付款以及/或者整个付款交易。例如,如果一个可立即支付以及可立即执行的付款没有通过,则其他可立即支付以及可立即执行的付款可能被“中止(roll back)”。
执行模块380至少启动交易组件的执行,交易组件可以自动启动。在一些实施例中,执行模块380执行额外的功能,例如按照信用卡付款金额提存准备金,或者当因为某种理由整个交易无法完成时中止组件交易。而且,如图4所示,付款交易中的一些需要的付款可能不是可立即支付的(也就是说,应该立即支付的)。而且,即使是应立即支付的付款可能也无法通过通信网络执行,例如付款包括实际的物理商品的物理传输(参见图4的截屏图400中确定的“货币”付款)。
在步骤S280的期间,模块355维持包括Mike、Nancy的代理、Nancy的信用卡发行商的计算机以及Acme的子系统的三方分离会话。该三方分离会话允许模块380简单并且可靠地:(i)使用Nancy的信用卡发行商的计算机执行;(ii)通知Mike以及Nancy的代理任何一个执行的支付;以及/或者(iii)保持全部参与方同步。在本示例中,执行的付款为:(i)使用Nancy的信用卡(参见图4)进行的付款;以及(ii)Mike对Mcme进行的以Acme信用的付款。可替代地,在Nancy的同意之后或者Nancy的通知各方的通知之后,但在Nancy的付款之前,Mike以及Nancy的代理可以从三方分离会话断开。
III进一步评价以及/或者实施例
在本发明的一些实施例中,通过使用基于会话协议建立的会话与各方关联的资源被用于完成一个或者多个以下事项:(i)付款;(iii)维持承诺;(iii)中止;(iv)信托;以及/或者(v)其他付款中的主要事件。在一些实施例中,每一个会话与时间以及频率关联。
本公开的一些实施例提供用于同步地进行分离付款的技术。分离付款是指在该付款中单一付款交易被多个不同的“付款媒介”(例如不同信用卡或者借记卡)之间分离。
本公开的一些实施例可以具有一个或者多个以下特征、特性以及/或者优点:(i)提供一种机制、系统以及协议以维持用于分离付款的交易生命周期;(ii)解决单一交易的生命周期期间并行处理多重货币付款的问题;(iii)覆盖在此生命周期期间在承诺或者中止交易中涉及的参数以及信托合作效率因数(信托合作效率因数属于例如以下询问:(a)使用的付款卡是否为真实的;(b)在交易中的成员是否是真实的;以及/或者(c)系统中是否存在问题,例如,承诺中的一个没有发生,或者在系统中或将付款与一个根本交易关联中的付款网关中存在不一致;如果检测出任何问题,系统可以中止该交易);(iv)为以下这种情况做准备,即分离付款交易涉及一组匿名的不受信任的参与人,他们在不同的通信网络之间使用不同的付款媒介,这些交易全部被管理在单一交易生命周期,并且基于用于处理交易的共同样式的状况。
本公开的一些实施例认识到当前流行趋向于群组交易,诸如通过社交网络群组购物或者寻找群组发展得十分火爆,但当在任何一个收款人的控制板中进行交易时,唯一的选择是通过仅仅单个支付媒介进行付款(例如单个信用卡)。本公开中提出的机制通过提出以下方案来解决此特殊的问题:(i)多个用户(参见以下具体实施方式的定义部分的“用户”的定义)可以并行地使用不同付款媒介付款;以及/或者(ii)单个用户可以使用多重付款媒介并行地付款。例如,假设一组人希望订机票。如果一起在线预定,基于群组的规模或者购买的费用可能会得到很好的优惠,而本发明的一些实施例认识到以下事实作为问题:为多个航班座位付款时,电子商务软件仅仅支持单个付款媒介。本公开的一些实施例提供一种选择,使得能够通过以下方式在分布式环境中进行付款:(i)在同一个交易中的多个付款人以及/或者(ii)为同一交易使用多个付款媒介。
本公开的一些实施例认识到,使用单一信用卡或者借记卡为大规模群组订票在各种原因上可能潜在地存在问题,包括:(i)信用卡/借记卡的额度低(例如8个人订机票并且每一张票的费用是$1000,但8个人当中没有一个人具有$5000以上额度的信用卡,其低于订8张机票所需的$8000);(ii)没有空位/同步问题(通过不同卡进行多个独立交易可能会导致一些人拿到票而其他人发现在尝试订票时全部座位已满);(iii)分享问题(群组交易中的次付款人将全部费用中的自己的份额转移到主付款人的手续会很繁琐并且存在问题)。本公开的一些实施例提供一种协议,解决上述问题中的一个或者多个。
在本公开的一些实施例中,可以由不同人实施同步分离付款,其中每一个人使用:(i)她自己的付款方式(移动、互联网、电话或者其他);以及/或者(ii)她自己的付款媒介。本发明的一些实施例可以被容易地实时地使用,以适应群组交易。根据本发明的付款方法的示例从终端用户的视角上遵循:(i)主用户启动交易并且添加一组付款人;(ii)打开共同浏览/共同编辑会话,跟踪这些用户的每一个的登录状态、付款状态、以及其他状态指示符;(iii)每一个用户指定他或者她的分担额(或者可替换地主付款人在步骤(i)已经指定了每一个人的分担额);以及(iv)一旦每一个用户已经锁定了他或者她的分担额,通过一个或者多个触发器自动的方式或者付款人中的一个人手动的方式中的任何一个方式完成最终承诺,由此承诺主付款交易并且成功完成该分离付款。在本示例方法中:(i)共同浏览会话具有能够选择性延长的终止时间;并且(ii)如果会话超时,默认地每一个用户进行的个人付款将被中止。
本公开的一些实施例具有一个或者多个以下特征:(i)交易方可以添加或者投票移除其他方;(ii)可以设置触发器,以使当通过贡献方总体达到交易金额时,自动提交主交易;(iii)建立等待承诺或者中止交易参与者的独立付款的长时间的母交易;以及(iv)设置共同浏览会话并且可以以不同模式完成付款。
概括能适用于群组付款的条件,在本公开的一些实施例中,例如主用户添加其他付款人的能力、交易中的各方投票移除其他方的能力、延长主付款交易会话时间的能力等特征可以配置管理群组付款交易的策略。整个管理可以通过与系统应用密切工作的策略引擎实施。此外,这些策略可以通过收款人(资金接收方)或者付款人(付款方)实施。
例如,给出由Alice(爱丽丝)、Bob(鲍勃)以及Charlie(查理)进行的用于通过航空公司订座位的群组付款,策略航空公司的策略可以配置为:(i)不允许延长会话两次以上;(ii)每一个会话的延长是三分钟并且额外收费$10(可以是更小额度);(iii)允许通过付款人协调而动态地改变付款金额;(iv)接受部分付款并且对完成了付款的人分配座位;(v)只有当主参与人愿意时承诺付款等等。可以有很多其他替代方案。
主参与人(启动付款交易的付款人)还可以建立将要管理交易的策略。例如,主参与人可以建立以下策略组:(i)其他参与人可以要求改变付款模式;(ii)参与人A可以请求参与人B支付一定金额(也就是,付款金额的动态改变);(iii)允许其他参与人添加参与方;以及(iv)允许其他参与人投票移除参与方。也可以有很多其他替代方案。
本公开的一些实施例帮助在未完成交易的情况下由卖售人(也就是付款接收人)进行的退款,未完成交易例如当共同付款人中的一个人没有能够在会话超时之前支付他或者她的部分的交易的情况、或者当交易被一个或者多个共同付款人撤回的情况。此时,这些实施例自动检测并且将在失败的交易中已经支付了他们的部分的付款人的金钱退款。该特征在用户没有锁定他或者她负责的交易金额的选项,而只有提交或者不提交付款的选项的情况下是有用的。
图5A示出了本公开的实施例的共同浏览会话500a的用户视图。该共同浏览会话显示主付款交易会话的截止时间(这与共同浏览会话的剩余时间相同)以及交易参与者和他们的状态详情,包括付款状态。这里,该视图是在终端上,但这个或者其他实施例中的其他用户可以使用其他类型的接口,例如网页,其中视图可以根据每一个用户使用的模式而不同。存在两种选项登录到会话:(i)卖售人/收款人或者主付款人提供每一个付款人以及相应的付款模式的详情,允许每一个用户批准登录;或者(ii)当已经登录到会话中的每一个其他共同付款人批准时,全部共同付款人并行地登录到会话(本实施例中,通过为付款定义的互联网通信协议建立会话)。在任何一种情况中,创建交易树并且建立长期会话来跟踪全部子交易的状态并据此承诺母交易。
共同浏览会话500具有三个参与人:Alice、Bob和Charlie。Alice是启动参与人,他添加Bob以及Charlie到母付款交易并且开始会话(可替换地,Bob和Charlie可以在他们各自登录到会话的时候被添加)。Alice为启动参与人,自动登录,她锁定她的付款金额$600,Bob以及Charlie随后以它们的模式登录。Bob此时锁定他的付款金额$600(在锁定付款之后,用户可选择解锁并且改变其金额)。此时该会话等待Charlie在会话超时之前锁定他的金额。如果Charlie在一段时间内不予回应,Alice和Bob可以投票移除Chalie,或者参与者的一个或者多个可以增加会话超时期间,以给予Charlie更多时间回应。如果Charlie在会话超时之前没有回应,Alice和Bob的动作会默认地被中止。然而,Charlie进行了回应,锁定他的付款金额。这个动作导致该群组总体地达到暂定承诺的目标金额,触发向该用户组的最终提示以接受整个交易。Alice接受,则该分离付款完成。在其他实施例中,会话只允许唯一的首要参与人来承诺该交易,或者一旦各自的承诺的总和达到所需金额,会话自身会自动完成该交易。也可以进行其他变更。
图5B示出本公开的实施例的共同浏览会话500b的用户视图。在本会话中,用户中的一个(Bob)在他的卡上没有锁定选项(他的银行没有提供该选项)。对于会话中具有锁定选项的用户(Alice和Charlie),使用两步支付机制:(i)在会话期间内锁定个人交易金额;以及(ii)承诺个人付款。例如,当Alice具有在交易金额中进行锁定的选项时,Alice从信用卡支付,因此直到母交易被承诺,她的个人交易才会被执行。这能够避免中止付款的开销。然而,通过移动设备支付的Bob不具有锁定金额的选项,因此他立刻付款。提供这两种付款选项不仅对于用户友好而且对于卖售人也友好,这是因为,无论什么理由,如果整个交易未完成,则卖售人可以容易地并且自动地检测到例如Bob的孤立付款,并且提供退款。应当注意,在本示例会话中,一旦达到交易金额,自动承诺母交易。
本公开的一些实施例包括交易管理器。交易管理器协调整个交易,包括:登录参与者、为整个交易的每一个成员创建子交易、承诺每一个子交易由此承诺母交易,并且如果需要,还包括中止一个或者多个交易。交易管理器与不同的付款网关通信,在该付款网关可以基于被主付款人启动的母付款交易同步地进行来自不同模式的付款。与管理子付款交易(包括资金锁定、付款、付款状态以及用于参与人的付款的中止)的生命周期一起,交易管理器还维持母付款交易的长生命周期,根据其子交易的状态而采取合适的动作。
图6示出了根据本公开的实施例的交易管理示例600。交易管理示例600包括:主付款人605、次付款人610以及付款模式615。主付款人605启动群组付款。付款人605随后被次付款人610加入。每一个付款人使用模式615中的一个,在本实施例中包括互联网、电话银行以及移动货币。交易管理器(未示出)创建长生命母付款交易并且还为每一个参与人付款产出子交易。交易管理器被配备为连接到不同付款网关,全部付款网关基于单一母交易来管理。交易管理器定期检查全部子交易的状态,并且如果子交易中的一个或者多个失败或者中断,交易管理器将取消或者中止母付款。可替代地,如果全部子交易被承诺,交易管理器将承诺母付款。也可以进行其他变更。例如,在其他实施例中,可以基于各种触发器来自动承诺,例如一旦由子交易的一些子集满足所需的金额或者会话结束时承诺了全部锁定的子交易,则承诺母付款交易。在一些实施例中,参与人甚至可以基于各种条件(例如投票)添加或者移除其他参与人,从而保持母付款交易是灵活的。交易管理器可以进行全部这些可替代方案。
图7示出交易管理器的实施例如何维持使用不同付款通道的各参与人进行的付款交易的生命周期,并且由此它如何维持整个付款交易。如图7所示的是:交易管理系统700、交易管理器705、网络710、模式终端(付款网关)715、以及用户720。参与用户720提供所需付款详情并且承诺了付款,该付款在被承诺的母付款中处理。交易管理器705在必要时根据每一个用户720的付款模式建立与不同的付款网关715的连接,并且保持跟踪每一个付款状态。在全部子付款成功时,母付款成功完成。然而,如果一些子交易失败,则默认地全部付款被中止。可替代地,主付款人可以通过承诺全部成功的付款而忽略失败的付款或者根据最终支付的金额(例如存在未成功的子付款时)来减少购买的物品的数量来手动地承诺母付款。全部这些能力使得交易管理器示例更加高效并且更适于处理现实世界当中的分离付款情景。
图8示出用于本公开的实施例的动作图800。所示的动作包括:启动会话805;进入会话810;增加会话时间815;承诺付款820;共同浏览825;移除共同付款人830;交易管理器示例835;达到母交易金额840;请求交易中止845;以及完成交易850。第一个动作总是启动会话805,其中主付款人启动交易,并且会话管理器返回所启动的会话的会话id。由此这里创建母交易会话,并且交易会话具有一些默认的与其关联的终止时间。可替代地,如果已经存在与该付款人关联的一个或者多个会话,交易管理器获取该关联的会话列表且返回该信息。在进入会话810,付款人进入创建的或者在启动会话805选择的特定的会话。然后在共同浏览动作825下,添加共同付款人,并且当共同付款的参与人在母付款交易的掩护下登录时产生附属的子交易。这些子交易会话受到母交易会话超时的限制。全部交易(母交易以及子交易)被交易管理示例835维护,其中可能发生以下动作:(i)参与人可以在承诺付款动作820中锁定关联的个人付款金额或者承诺个人付款金额;(ii)其他参与人可以在移除共同付款人动作830中添加或者投票移除母交易的参与人;(iii)主付款人可以在增加会话时间动作815中请求为母会话增加终止时间;(iv)通过达到母交易金额动作840以及完成交易动作850的组合,一旦到达母付款的交易金额即可承诺母交易以成功完成付款;(v)如果任何交易失败或者中止,通过请求交易中止动作845以及完成交易动作850,按照为会话建立的配置可以采取纠正动作,例如中止子交易或者在忽略失败的付款时而提交成功的付款;以及(vi)一旦付款交易完成,可以在成功交易动作850中通过它们各自的付款模式向付款人发送通知。总之,这些动作提供有效并且健全的方式,在真实生活场景中使用不同付款模式进行同步付款。
本公开的一些实施例同步地维护交易会话并且还跨越不同客户端以及模式。为了在多个共同付款人之间实时地进行分离交易,全部共同付款人应当是同步的。每一个共同付款人可以观看其他共同付款人的详情以及状态(例如通过共同浏览或者共同编辑系统,其中只有密码被互相隐藏,但其他交易中包括的细节是可见的),并且由全部共同付款人一起实时地、全体一致地决定交易的承诺(或者可替换为由主付款人的判断)。为了实现该功能性,在卖售人终端的交易管理器维持长期会话并且持续同步呈现给全部共同付款人的信息。本公开的一些实施例认识到,异步地进行这样的交易会有多种安全上以及实际上的问题,例如如果异步并且分开承诺交易,则卖售人可能需要对处理部分付款负责,这可能是不期望的情况。
如图9所示,本公开的一个实施例包括以下组件:卖售人系统900、应用服务器903、交易管理器905、群组交易配置数据910、企业信息系统(数据系统)915、应用920、模式适配器923、互动式语音应答(IVR)网关925、互联网银行网关927、短信服务(SMS)网关930、付款网关935、策略略引擎940、以及付款模式615。在本实施例中,当适合于所使用的付款模式时,每一个付款模式615通过与适配器923关联的网关925、927或者930之一与卖售人侧应用920连接。应用920与数据系统915连接,支持通过各种付款模式615执行并且由交易管理器905协调的分离付款交易,通过群组交易配置数据910维护母交易及其子交易的状态。付款在后台终端通过付款网关935处理。本公开的一些实施例可以具有下面中的一个或者多个:(i)作为单个协议组的一部分含盖的付款参与方法以及连接交换和数据更改;(ii)使得付款能在多于一个的参与人同步的机制/协议,包括分开锁定以及之后的承诺;(iii)参与人一直处于同步,并且他们中的每一个可以查看其他人各自的状态;(iv)参与人可以为付款添加新的贡献参与人;(v)参与人可以锁定付款金额并且一致承诺;(vi)服务器维护长期会话并且持续地同步全部共同付款人;(vii)服务器提供维护延长的实况会话的基础构造;以及/或者(viii)在卖售人的终端的单独交易管理组件。
本公开的一些实施例可以具有一个或者多个以下特征、特性以及/或者能力:(i)为每个个人付款同步地开启交易并且在进行了全部付款时完成交易;(ii)没有一个或者多个会话比其他会话具有更长的时间间隔来结束;(iii)由一个或者多个主付款人控制交易完成的权力;(iv)用户在同步模式下共同承诺交易;(v)交易系统模块设置在电子商务卖售人层;以及/或者(vi)通过组合形式维护交易会话,独立于每一个参与人使用的模式或者机制。
本公开的一些实施例集中于分离付款的技术方面,并且一些实施例中的处理参与机制允许同步付款、异步付款或者同步/异步混合付款(如上述图4所示及其相关讨论)。
本公开的一些实施例可以包括一个或者多个以下特征、特性以及/或者优点,其中他们:(i)集中于用于实际为现实世界场景(特别是商品的价格动态改变的情况)中的分离付款工作的交易管理系统以及机制;(ii)建立并且维护会话;(iii)主要包括同步交易处理;(iv)主要实现同步分离付款的处理;(v)包括异步付款以及/或者混合型付款的机制;(vi)用于同步付款(也就是说,全部参与人的付款实质上被一并立即承诺);(vii)用于异步付款(也就是说,参与者可以在长期时间内承诺它们的付款,在此期间商品的价格不动态改变);以及/或者(iii)用于混合型交易,其中同步承诺特定百分比的总金额并且剩余金额可以异步承诺。
本发明的一些实施例可以包括一个或者多个以下特征、特性以及/或者优点:(i)一种方法,用于在多个相关方之间分离付款交易并且与金融实体同步地执行;(ii)在会话期间内锁定交易金额;(iii)承诺付款,并且每一个个人付款的承诺触发管理同步承诺付款的母会话;(iv)为用户提供接受锁定以及增加共同付款人的同步的会话时间一种机制;(v)实时地进行分离交易的机制,以及定义服务器架构的机制,该服务器架构提供维护延长的实况会话并且保持交易中的其他参与者同步的基础架构;(vi)实时地进行分离交易的机制,以及定义服务器架构的机制,该服务器架构提供基础架构,从而付款人中的一个可以发出最终承诺;(vii)实时地进行分离交易的机制,以及定义服务器架构的机制,该服务器架构提供基础架构,从而基于卖售人的偏爱将最终承诺自动化;(viii)实时地进行分离交易的机制,以及定义服务器架构的机制,该服务器架构提供基础架构,从而最终承诺可以是自动付款或者任何一个具体策略;(ix)共同浏览或者共同编辑系统,其中在交易期间可以实施多个活动,如动态变改变在进行的交易的金额的机制;(x)维护完成多个付款交易的单个“长生命”交易;(xi)策略驱动的分离付款,其中策略可以由卖售人以及主参与人定义;(xii)在卖售人和主付款人之间不存在组件;(xiii)不存在处理来自参与人的承诺的付款的中间实体;(xiv)机器逻辑可以设置在安全以及实际的付款卖售人模块之中。
IV.定义
本发明:不能理解为由提交时的权利要求或者可能在专利审查后最终发行的权利要求中的任何一个覆盖了术语“本发明”描述的主题内容的绝对指示(absolute indication),而术语“本发明”是用于帮助读者得到总体感觉,以理解这里的公开中哪些可能是新的,如术语“本发明”指示的这种理解是假设性并且是临时性的,在专利审查过程中,在提出了相关信息时或者权利要求潜在地被修改时,该理解会发生变化。