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

基于条码支付的实现方法和装置

文献发布时间:2023-06-19 13:46:35


基于条码支付的实现方法和装置

技术领域

本说明书涉及网络通信技术领域,尤其涉及一种基于条码支付的实现方法和装置。

背景技术

条码是将反射率不同的“条”、“空”按照一定的编码规则组合起来,用以表达一组信息的图形标识符。条码包括一维条码(也称为条形码)、二维条码(也称为二维码)等。条码在网络支付领域得到了广泛的应用,例如,商户可以通过扫描用户出示的付款码,来从用户的账户收取款项。

在网络支付中,不同的支付服务提供方通常采用不同的编码格式来生成自己的付款码值,各个支付服务提供方只能正确解读自己发行的付款码值。用户在使用付款码付款时,需要先了解商户可以接受哪几个支付服务提供方账户的付款(即商户支持哪几个付款码值),再打开商户支持的某个付款码,才能完成支付。用户先决策后操作,过程繁琐付款效率低,并且可能因用户在选择支付服务提供方时操作失误而导致支付失败。

发明内容

有鉴于此,本说明书提供一种基于条码支付的实现方法,应用在付款方终端上,所述方法包括:

获取用于支付的聚合码值;所述聚合码值包括至少两个付款码值;

将所述聚合码值渲染为聚合码显示给收款方设备扫描,供收款方设备获取所述聚合码值后,以聚合码值内所有付款码值中收款方支持的一个作为本次支付使用的付款码值。

本说明书提供的一种基于条码支付的实现方法,应用在收款方设备上,所述方法包括:

扫描付款方终端显示的聚合码,获取用于支付的聚合码值;所述聚合码值包括至少两个付款码值;

提取所述聚合码值的每个付款码值,在提取的所有付款码值中筛选出本收款方支持的付款码值;

将本收款方支持的一个付款码值作为本次支付使用的付款码值;

向本次支付使用的付款码值的发码方服务器发起支付请求。

本说明书提供的一种基于条码支付的实现方法,应用在聚合码服务器上,所述聚合码服务器上维护有用户账户对应的聚合码值中所有付款码值所属的发码方信息以及付款码值在所属发码方对应的发码方账户信息,所述方法包括:

接收付款方终端的聚合码值请求;

采用使用所述付款方终端的用户账户对应的聚合码值中所有付款码值所属的发码方信息以及付款码值在所属发码方对应的发码方账户信息,向付款码值所属的发码方服务器请求对应发码方账户的付款码值,采用所述发码方服务器返回的付款码值生成聚合码值;

将聚合码值发送给所述付款方终端,供所述付款方终端渲染后显示给收款方设备扫描,由收款方设备在获取所述聚合码值后,以聚合码值内所有付款码值中收款方支持的一个作为本次支付使用的付款码值。

本说明书还提供了一种基于条码支付的实现装置,应用在付款方终端上,所述装置包括:

聚合码值获取单元,用于获取用于支付的聚合码值;所述聚合码值包括至少两个付款码值;

聚合码渲染单元,用于将所述聚合码值渲染为聚合码显示给收款方设备扫描,供收款方设备获取所述聚合码值后,以聚合码值内所有付款码值中收款方支持的一个作为本次支付使用的付款码值。

本说明书提供的一种基于条码支付的实现装置,应用在收款方设备上,所述装置包括:

聚合码扫描单元,用于扫描付款方终端显示的聚合码,获取用于支付的聚合码值;所述聚合码值包括至少两个付款码值;

付款码值提取单元,用于提取所述聚合码值的每个付款码值,在提取的所有付款码值中筛选出本收款方支持的付款码值;

使用付款码值确定单元,用于将本收款方支持的一个付款码值作为本次支付使用的付款码值;

支付请求发起单元,用于向本次支付使用的付款码值的发码方服务器发起支付请求。

本说明书提供的一种基于条码支付的实现装置,应用在聚合码服务器上,所述聚合码服务器上维护有用户账户对应的聚合码值中所有付款码值所属的发码方信息以及付款码值在所属发码方对应的发码方账户信息,所述装置包括:

聚合码值请求接收单元,用于接收付款方终端的聚合码值请求;

聚合码值生成单元,用于采用使用所述付款方终端的用户账户对应的聚合码值中所有付款码值所属的发码方信息以及付款码值在所属发码方对应的发码方账户信息,向付款码值所属的发码方服务器请求对应发码方账户的付款码值,采用所述发码方服务器返回的付款码值生成聚合码值;

聚合码值请求响应单元,用于将聚合码值发送给所述付款方终端,供所述付款方终端渲染后显示给收款方设备扫描,由收款方设备在获取所述聚合码值后,以聚合码值内所有付款码值中收款方支持的一个作为本次支付使用的付款码值。

本说明书提供的一种终端,包括:存储器和处理器;所述存储器上存储有可由处理器运行的计算机程序;所述处理器运行所述计算机程序时,执行上述应用在付款方终端上的基于条码支付的实现方法所述的步骤。

本说明书提供的一种计算机设备,包括:存储器和处理器;所述存储器上存储有可由处理器运行的计算机程序;所述处理器运行所述计算机程序时,执行上述应用在收款方设备上的基于条码支付的实现方法所述的步骤。

本说明书提供的一种计算机设备,包括:存储器和处理器;所述存储器上存储有可由处理器运行的计算机程序;所述处理器运行所述计算机程序时,执行上述应用在聚合码服务器上的基于条码支付的实现方法所述的步骤。

本说明书提供的一种计算机可读存储介质,其上存储有计算机程序,所述计算机程序被处理器运行时,执行上述应用在付款方终端上的基于条码支付的实现方法所述的步骤。

本说明书还提供了一种计算机可读存储介质,其上存储有计算机程序,所述计算机程序被处理器运行时,执行上述应用在收款方设备上的基于条码支付的实现所述的步骤。

本说明书还提供了一种计算机可读存储介质,其上存储有计算机程序,所述计算机程序被处理器运行时,执行上述应用在聚合码服务器上的基于条码支付的实现方法所述的步骤。

由以上技术方案可见,本说明书的实施例中,付款方终端向收款方设备提供包含至少两个付款码值的聚合码值,收款方设备将其中一个本收款方支持的付款码值用作本次支付,使得用户在付款时无需先了解收款方支持的付款码值再自行选择出示的付款码,减少了用户的操作,提高了付款的效率,并且降低了因用户选择失误造成支付失败的可能性。

附图说明

图1是本说明书实施例应用场景的一种网络结构示例图;

图2是本说明书实施例中一种聚合码值的编码方式示意图;

图3是本说明书实施例中一种应用在付款方终端上的基于条码支付的实现方法的流程图;

图4是本说明书实施例中一种应用在收款方设备上的基于条码支付的实现方法的流程图;

图5是本说明书实施例中一种应用在聚合码服务器上的基于条码支付的实现方法的流程图;

图6是本说明书应用示例中一种用户终端、收款方设备、聚合码服务器、发码方服务器之间的交互流程图;

图7是运行本说明书实施例的终端或设备的一种硬件结构图;

图8是本说明书实施例中一种应用在付款方终端上的基于条码支付的实现装置的逻辑结构图;

图9是本说明书实施例中一种应用在收款方设备上的基于条码支付的实现装置的逻辑结构图。

图10是本说明书实施例中一种应用在聚合码服务器上的基于条码支付的实现装置的逻辑结构图。

具体实施方式

本说明书的实施例提出一种新的基于条码支付的实现方法,由付款方终端在显示给收款方设备扫描的一个聚合码中携带两个或两个以上的付款码值,在付款方终端提供的这些付款码值中,收款方设备使用其中一个被收款方支持的付款码值来进行本次支付,避免了用户在付款前对收款方支持的付款码值的了解和选择过程,节约了用户的时间和精力,减少了用户操作,降低了因用户选择失误造成支付失败的可能性。

本说明书的实施例中,作为付款方,用户可以使用在一个到多个支付服务提供方注册的账户作为付款账户。付款账户可以是用户本人的账户,也可以是其他人的账户。任意一个支付服务提供方按照自己的付款码值编码规则提供对应于每个账户的付款码值,该支付服务提供方即是其提供的每个付款码值的发码方,付款码值在该发码方对应的账户为发码方账户。用户可以通过将付款码值传递给收款方,将对应于该付款码值的发码方账户作为付款账户来进行支付。为了接收用户以某个发码方的付款码值进行的支付,收款方需要向同一个发码方的服务器以该付款码值发起支付请求,这样发码方服务器才能正确解读出付款账户,从而实现款项的划转。在收到付款码值后,收款方能够知道向哪个发码方服务器发起支付请求,并且该发码方服务器能够接收和处理该收款方的支付请求,该发码方即是该收款方支持的发码方,该发码方的付款码值即是该收款方支持的付款码值。

本说明书的实施例中,支付过程是由付款方向收款方出示聚合码,收款方通过扫描聚合码来收取款项。聚合码由聚合码值渲染而成,可以是一维条码,可以是二维条码,可以是一维和二维条码的组合,还可以是两个或两个以上采用不同码制来渲染聚合码值的一维和/或二维条码的组合,本说明书的实施例对聚合码中条码的个数、码制均不做限定。

其中,聚合码值中包括使用付款方终端的用户用于本次支付的至少两个付款码值。同一个聚合码值中的付款码值可以包括同一个用户在不同发码方的发码方账户对应的付款码值、同一个发码方的不同发码方账户(由一个用户注册或由不同用户注册)对应的付款码值、不同用户在不同发码方的发码方账户对应的付款码值中的一种到多种,不做限定。

一个聚合码值中包括的所有付款码值按照预定格式组合形成该聚合码值。预定格式的具体形式不做限定,只要能够按照预定格式从聚合码值中拆分各个付款码值即可。例如,聚合码值的第1位至第k

在一种实现方式中,可以将聚合码包括的所有付款码值依次排列,两个相邻的付款码值由预定隔离字符分隔开来,从而将付款码值组合为聚合码。采用预定分隔符来隔离付款码值的编码方式的编码效率高,解析难度小,并且不会局限于芯片卡的应用场景。

以下给出这种聚合码值编码方式的一个示例,本例中聚合码值包括n个付款码值P

在上述实现方式中,如果任何一个用户的聚合码值所包括的付款码值中可能使用预定隔离字符时,则需要对付款码值中的预定隔离字符进行转义,即将付款码值中的预定隔离字符替换为预定隔离字符的转义字符。具体的转义方式可根据实际应用场景来确定,不做限定。

仍以图2的编码方式为例,假设S为字符“|”,而用户可能使用的一种付款码值中包含字符“|”,则可以采用URL Encoding(Uniform Resource Locator Encoding,将字符串以统一资源标识符编码)的转义方式来对作为预定隔离字符的“|”来进行转义,以避免解析聚合码值时可能发生的冲突;即除了作为预定隔离字符的“|”外,其他不作为预定隔离字符的“|”(如付款码值内的字符“|”),都替换为转义字符%7C。

本说明书的实施例中,收款方设备可以扫描付款方终端上展示的聚合码,付款方终端与发码方服务器之间可以通过网络进行通信。

在本说明书实施例的一些应用场景中,用户可以在聚合码服务器上注册用户账户,聚合码服务器上的每个用户账户对应一个用来付款的聚合码值,聚合码服务器上维护有每个用户账户对应的聚合码值中所有付款码值所属的发码方信息以及付款码值在所属发码方对应的发码方账户信息。用户可以通过访问聚合码服务器来设置和修改本用户账户的上述信息。

在包含聚合码服务器的应用场景中,付款方终端与聚合码服务器之间、收款方设备与聚合码服务器之间、聚合码服务器与各个发码方服务器之间可以通过网络进行通信。一种示例性的网络结构如图1所示。

其中,付款方终端可以是手机、平板电脑、PC(Personal Computer,个人电脑)、笔记本等设备;收款方设备可以是具有扫描、计算和存储功能的一个设备或两个及以上设备的组合,如手机、平板电脑、扫码枪和PC、笔记本等设备;发码方服务器或聚合码服务器可以是一个物理或逻辑服务器,也可以是由两个或两个以上分担不同职责的物理或逻辑服务器、相互协同来实现本说明书实施例中发码方服务器或聚合码服务器的各项功能。

本说明书的实施例中,基于条码支付的实现方法应用在付款方终端上的流程如图3所示,应用在收款方设备上的流程如图4所示,应用在聚合码服务器上的流程如图5所示。

在付款方终端上,步骤310,获取用于支付的聚合码值,聚合码值包括至少两个付款码值。

当用户在付款方终端上希望采用聚合码进行付款时,可以通过操作指示付款方终端显示聚合码。付款方终端在收到用户指示后,先获取聚合码值。

聚合码值包括两个及两个以上的付款码值,每个付款码值都对应于一个发码方的一个发码方账户。每个付款码值都按照其所属发码方的规则编码,在实际应用场景中,可以由发码方服务器、发码方客户端或者其他由发码方发布的软件模块来生成。相应的,聚合码值可以在付款方终端本地生成,在包含聚合码服务器的应用场景中,也可以由付款方终端向聚合码服务器请求,具体的生成方式可以根据应用场景的实现和需求来确定,不做限定。以下举例说明。

第一个例子:聚合码值由安装在付款方终端上的软件功能模块生成,该软件功能模块可以是一个独立于其他发码方客户端软件的App,也可以是某一个发码方客户端软件中用于实现各种与聚合码相关功能的模块。该软件功能模块中维护聚合码值包括的所有付款码值的所属发码方信息,用户可以通过该软件功能模块进行上述内容的设置和修改。

在收到用户指示显示聚合码的操作后,该软件功能模块根据聚合码值包括的所有付款码值的所属发码方,向安装在付款方终端上的这些付款码值的发码方客户端请求付款码值。各个发码方客户端向该软件功能模块返回的各自所属的付款码值。该软件功能模块采用返回的付款码值,按照预定格式生成聚合码值。

当聚合码值中可能包括其他人(非用户本人)的账户对应的付款码值时,该软件功能模块中可以维护聚合码值包括的所有付款码值的所属发码方、以及每个付款码值在其所属发码方对应的发码方账户信息。在该软件功能模块向各个付款码值的所属发码方客户端请求付款码值时,携带该付款码值在该发码方对应的发码方账户信息(可以是一个到多个),这样发码方客户端即可返回正确的付款码值。

第二个例子:与第一个例子类似,聚合码值由安装在付款方终端上的软件功能模块生成,该软件功能模块可以是一个独立于其他发码方客户端软件的App,也可以是某一个发码方客户端软件中用于实现各种与聚合码相关功能的模块。该软件功能模块维护聚合码值包括的所有付款码值的所属发码方信息,用户可以通过该软件功能模块进行上述信息的设置和修改。

该软件功能模块中安装有聚合码值包括的所有付款码值的所属发码方发布的、用来生成各个发码方所属付款码值的SDK(Software Development Kit,软件开发工具包)。当用户在聚合码值中添加新的付款码值,并且该付款码值属于新的发码方时,该软件功能模块向新的发码方服务器请求并安装其SDK。

在收到用户指示显示聚合码的操作后,该软件功能模块根据聚合码值包括的所有付款码值的所属发码方,调用这些发码方的SDK,来生成各个发码方所属的付款码值。该软件功能模块采用作为调用结果返回的付款码值,按照预定格式生成聚合码值。

当聚合码值中可能包括其他人(非用户本人)的账户对应的付款码值时,该软件功能模块中可以维护聚合码值包括的所有付款码值的所属发码方、以及每个付款码值在其所属发码方对应的发码方账户信息。在调用各个发码方的SDK时,将付款码值在所属发码方对应的发码方账户信息(可以是一个到多个)作为调用参数传递给该发码方的SDK,发码方的SDK返回对应于这些发码方账户的付款码值。

第三个例子:在包含聚合码服务器的应用场景中,付款方终端可以向聚合码服务器请求在聚合码服务器注册的用户账户对应的聚合码值。具体而言,获取聚合码值的步骤包括:

在聚合码服务器上,步骤510:接收付款方终端的聚合码值请求。

在聚合码服务器上,步骤520:采用使用该付款方终端的用户账户对应的聚合码值中所有付款码值所属的发码方信息以及付款码值在所属发码方对应的发码方账户信息,向付款码值所属的发码方服务器请求对应账户的付款码值,采用发码方服务器返回的付款码值生成聚合码值。

付款方终端向聚合码服务器发送聚合码值请求。付款方终端可以在聚合码值请求中携带使用该付款方终端的用户标识,所携带的能够唯一确定一个在聚合码服务器上注册的账户。在一些应用场景中,在付款方终端发送聚合码值请求前,用户会先登录到聚合码服务器,聚合码服务器可以从登录后的会话中得知使用该付款方终端的用户账户是哪个。

聚合码服务器在维护的信息中查找到与使用该付款方终端的用户账户对应的所有付款码值所属的发码方信息以及付款码值在所属发码方对应的发码方账户信息。聚合码服务器向这些付款码值所属的发码方服务器发送付款码值请求,在请求中携带在该发码方的发码方账户信息(可以是一个到多个)。发码方服务器返回与请求中发码方账户对应的付款码值。聚合码服务器采用返回的各个付款码值,按照预定格式生成聚合码值。

在聚合码服务器上,步骤530:将聚合码值发送给该付款方终端,供付款方终端渲染后显示给收款方设备扫描,由收款方设备在获取聚合码值后,以聚合码值内所有付款码值中收款方支持的一个作为本次支付使用的付款码值。

在付款方终端获得聚合码值后,即可使用聚合码值进行付款。

在付款方终端上,步骤320:将聚合码值渲染为聚合码显示给收款方设备扫描,供收款方设备获取该聚合码值后,以聚合码值内所有付款码值中收款方支持的一个作为本次支付使用的付款码值。

在收款方设备上,步骤410:扫描付款方终端显示的聚合码,获取用于支付的聚合码值。

付款方终端将聚合码值渲染为聚合码,显示在终端屏幕上提供给收款方设备。收款方设备扫描聚合码,从聚合码图像中解析出聚合码值。

在收款方设备上,步骤420:提取聚合码值的每个付款码值,在提取的所有付款码值中筛选出本收款方支持的付款码值。

收款方设备按照聚合码值的预定格式,从来自付款方终端的聚合码值进行逆向拆解,提取出其中封装的每个付款码值。具体的拆解方式由预定格式确定,仍以图2的编码方式为例,收款方设备先在聚合码值的各个位上查找预定隔离字符S,将被分隔开的每个部分均作为一个付款码值。假如预定隔离字符为“|”,并且字符“|”也是付款码值可能使用的字符,因而聚合码值的生成过程包括对付款码值中字符“|”以URL Encoding进行转义,则收款方设备在得到每个付款码值后,查找付款码值中的转义字符%7C,将之替换为字符“|”。

如前所述,各个发码方都按照自己的编码规则生成属于本发码方的付款码值,例如,有的发码方的付款码值的前几位为固定的字符,或者付款码值的前若干位数字处于设定的值域区间,或者具有固定的长度和首字符,等等。发码方的编码规则即成为其所属付款码值的特征。根据本收款方支持的发码方的编码规则,收款方设备逐个采用本付款方支持的付款码值的特征对所提取出的付款码值进行识别,得到所有本收款方支持的付款码值。

在收款方设备上,步骤430:将本收款方支持的一个付款码值作为本次支付使用的付款码值。

从付款方终端提供的聚合码值中,收款方设备可能识别出的本收款方支持的付款码值的个数为0到多个。如果本收款方支持的付款码值的个数为0,则本次支付失败。如果本收款方支持的付款码值的个数为1,收款方设备可以直接将该付款码值作为本次支付使用的付款码值。如果本收款方支持的付款码值的个数超过1个,则将其中一个作为本次支付使用的付款码值,例如,可以由收款方设备在本收款方支持的付款码值中任意确定其中的一个,作为本次支付使用的付款码值。

在包含聚合码服务器的实现方式中,当收款方支持的付款码值超过1个时,可以由收款方设备将本收款方支持的所有付款码值封装在可用付款码值转送请求中,发送给聚合码服务器。聚合码服务器确定对应于转送请求中付款码值的付款方终端后,将转送请求中的所有付款码值作为可供选择的付款码值,发送给付款方终端。

如果聚合码是由聚合码服务器根据付款方终端的请求生成的,则聚合码服务器可以在生成聚合码后,保存用于生成聚合码的所有付款码值与付款方用户账户的对应关系。当聚合码服务器收到收款方设备发送的可用付款码值转送请求后,采用其中的任意一个付款码值,在付款码值与付款方用户账户的对应关系中查找到对应的用户账户,然后将可供选择的付款码值发送给使用该用户账户的付款方终端。

如果聚合码是由付款方终端离线生成的,则聚合码服务器可以在收到收款方设备发送的可用付款码值转送请求后,提取其中一个付款码值,向所提取付款码值的发码方服务器发起账户信息查询请求,发码方服务器返回该付款码值对应的发码方账户。聚合码服务器查询维护的用户账户的聚合码值中所有付款码值所属的发码方信息以及付款码值在所属发码方对应的发码方账户信息,可以知道该收款方支持的付款码值来源于哪个用户账户的聚合码值。然后聚合码服务器就可以将可供选择的付款码值发送给使用该用户账户的付款方终端。

聚合码服务器可以采用不同的方式来将可供选择的付款码值发送给该付款方终端,以下给出两个例子。

在一个例子中,付款方终端在向收款方设备显示聚合码后,可以定期向聚合码服务器发起轮询,请求本次支付的可用付款码值。聚合码服务器将使用该付款方终端的用户账户的聚合码值中所有被收款方支持的付款码值,作为对轮询的响应返回给该付款方终端。

在另一个例子中,在确定该收款方支持的付款码值来源于哪个用户账户的聚合码值后,聚合码服务器可以向使用该用户账户的付款方终端推送可用付款码值选择指令。聚合码服务器可以在推送的可用付款码值选择指令中携带所有被收款方支持的付款码值;也可以由付款方终端在收到可用付款码值选择指令中,再向聚合码服务器发起可用付款码值请求,聚合码服务器将所有被收款方支持的付款码值在响应中返回给该付款方终端。

付款方终端从聚合码服务器收到被收款方支持的所有付款码值后,向用户显示可供选择使用的付款账户信息。付款方终端可以向用户显示被收款方支持的付款码值的发码方、被收款方支持的付款码值的发码方及发码方账户、或者其他发码方或发码方账户的标识,用户能够根据所显示的内容确定付款账户即可。

根据用户对可用付款码值的选择操作,付款方终端将用户在所有被收款方支持的付款码值中选定的一个付款码值,返回给聚合码服务器。

聚合码服务器在收到用户在收款方支持的所有付款码值中选定的一个付款码值后,将用户选定的付款码值作为本次支付使用的付款码值,作为对可用付款码值转送请求的响应,发送给收款方设备。

在收款方设备上,步骤440:向本次支付使用的付款码值的发码方服务器发起支付请求。

在确定本次支付使用的付款码值后,收款方设备向该付款码值的发码方服务器发起支付请求,请求发码方服务器将本次支付金额的款项,从该付款码值对应的发码方账户转账到本收款方的账户中。

可见,本说明书的实施例中,由付款方终端在显示给收款方设备扫描的一个聚合码中携带两个或两个以上的付款码值,收款方设备将其中一个本收款方支持的付款码值用作本次支付,避免了用户在付款前对收款方支持的付款码值的了解和选择过程,减少了用户的操作,提高了付款的效率,并且降低了因用户选择失误造成支付失败的可能性。

上述对本说明书特定实施例进行了描述。其它实施例在所附权利要求书的范围内。在一些情况下,在权利要求书中记载的动作或步骤可以按照不同于实施例中的顺序来执行并且仍然可以实现期望的结果。另外,在附图中描绘的过程不一定要求示出的特定顺序或者连续顺序才能实现期望的结果。在某些实施方式中,多任务处理和并行处理也是可以的或者可能是有利的。

在本说明书的一个应用示例中,用户可以通过聚合码服务器将自己在多个发码方的付款码值组合到聚合码值中。用户在聚合码服务器上注册账户后,可以为该用户账户指定对应的聚合码值中包括哪些发码方,以及该用户在这些发码方的发码方账户。聚合码服务器维护用户账户与其聚合码值中所有发码方及发码方账户的对应关系。

用户在自己的终端(付款方终端)上安装聚合码客户端,运行聚合码客户端以用户账户登录到聚合码服务器。用户在使用聚合码向商户付款时,用户终端、收款方设备、聚合码服务器、发码方服务器之间的交互流程如图6所示。

用户在终端上打开聚合码客户端,指示聚合码客户端显示聚合码。聚合码客户端向聚合码服务器发送聚合码值请求。

聚合码服务器根据该聚合码客户端的登录用户账户,查找该用户账户对应的发码方以及发码方账户。聚合码服务器向每个对应于该用户账户的发码方服务器发送付款码值请求,在请求中携带该发码方的发码方账户。

收到付款码值请求的发码方服务器生成与请求中发码方账户对应的付款码值,返回给聚合码服务器。

聚合码服务器采用所有返回的付款码值,按照图2所示的预定格式,组装生成聚合码值。假设聚合码服务器共向3个发码方请求付款码值,3个发码方返回的付款码值分别为281001020123456789012345、002345和R1BMRDA5NVBMV1MwMDIw,设预定分隔字符为“|”,则聚合码服务器生成的聚合码值为:281001020123456789012345|002345|R1BMRDA5NVBMV1MwMDIw。

聚合码服务器将聚合码值在对付款码值请求的响应中发送给用户终端。

用户终端的聚合码客户端将聚合码值渲染为二维码,显示在屏幕上,给收款方设备扫描。聚合码客户端定时向聚合码服务器发送可用付款码值请求,轮询本次支付被收款方支持的付款码值。

收款方设备扫描用户终端上的二维码,从中解析出聚合码值。

收款方设备在聚合码值中查找预定隔离字符“|”,找到的2个预定隔离字符将聚合码值分隔为3段,每段均为一个付款码值。收款方设备提取出3个付款码值。按照本收款方支持的发码方的付款码值的特征,收款方设备确定其中的1个是本收款方支持的付款码值,假设本收款方支持的付款码值为281001020123456789012345。付款方设备将本收款方支持的1个付款码值作为本次支付使用的付款码值。

付款方设备向本次支付使用的付款码值的发码方服务器发起支付请求,以完成本次支付。

可见,上述流程中,用户和商户都不必在一开始就决策使用哪个发码方或发码方账户来收付款,在筛选出双方都支持的发码方后,再决定采用哪一个来支付。决策后置避免了商户与用户口头交互中的信息不准确性,在用户可供选择的发码方越多时,对支付流程的效率提升越显著。

与上述流程实现对应,本说明书的实施例还提供了一种应用在付款方终端上的基于条码支付的实现装置、一种应用在收款方设备上的基于条码支付的实现装置、和一种应用在聚合码服务器上的基于条码支付的实现装置。上述装置均可以通过软件实现,也可以通过硬件或者软硬件结合的方式实现。以软件实现为例,作为逻辑意义上的装置,是通过终端或所在设备的CPU(Central Process Unit,中央处理器)将对应的计算机程序指令读取到内存中运行形成的。从硬件层面而言,除了图7所示的CPU、内存以及存储器之外,基于条码支付的实现装置所在的终端或设备通常还包括用于进行无线信号收发的芯片等其他硬件,和/或用于实现网络通信功能的板卡等其他硬件。

图8所示为本说明书实施例提供的一种基于条码支付的实现装置,应用在付款方终端上,所述装置包括聚合码值获取单元和聚合码渲染单元,其中:聚合码值获取单元用于获取用于支付的聚合码值;所述聚合码值包括至少两个付款码值;聚合码渲染单元将所述聚合码值渲染为聚合码显示给收款方设备扫描,供收款方设备获取所述聚合码值后,以聚合码值内所有付款码值中收款方支持的一个作为本次支付使用的付款码值。

可选的,所述聚合码值获取单元具体用于以下之一:向安装在本终端上聚合码值中各个付款码值所属的发码方客户端请求付款码值,采用所述发码方客户端返回的付款码值生成聚合码值;或,调用至少两个发码方的软件开发工具包SDK得到所述发码方的付款码值,采用所述付款码值生成聚合码值;或,向聚合码服务器发送聚合码值请求,接收从聚合码服务器返回的使用付款方终端的用户账户对应的聚合码值。

一个例子中,所述聚合码值具有预定格式,所述预定格式包括:所有付款码值依次排列,两个相邻的付款码值由预定隔离字符分隔开来。

上述例子中,当任何一个用户的聚合码值所包括的付款码值中可能使用所述预定隔离字符时,采用所述预定隔离字符的转义字符来代替所述付款码值中的所述预定隔离字符。

可选的,所述装置还包括以下之一:付款码值选择指令响应单元,用于根据聚合码服务器推送的可用付款码值选择指令,从聚合码服务器接收所述聚合码值中所述收款方支持的所有付款码值;将使用所述付款方终端的用户在所述收款方支持的所有付款码值中选定的一个付款码值返回给聚合码服务器;或,付款码值轮询单元,用于向聚合码服务器轮询本次支付的可用付款码值,在收到聚合码服务器返回的所述聚合码值中所述收款方支持的所有付款码值后,将使用所述付款方终端的用户在其中选定的一个付款码值返回给聚合码服务器。

图9所示为本说明书实施例提供的一种基于条码支付的实现装置,应用在收款方设备上,所述装置包括聚合码扫描单元、付款码值提取单元、使用付款码值确定单元和支付请求发起单元,其中:聚合码扫描单元用于扫描付款方终端显示的聚合码,获取用于支付的聚合码值;所述聚合码值包括至少两个付款码值;付款码值提取单元用于提取所述聚合码值的每个付款码值,在提取的所有付款码值中筛选出本收款方支持的付款码值;使用付款码值确定单元用于将本收款方支持的一个付款码值作为本次支付使用的付款码值;支付请求发起单元用于向本次支付使用的付款码值的发码方服务器发起支付请求。

可选的,所述付款码值提取单元具体用于:根据聚合码值的预定格式,从聚合码值中提取出每个付款码值;逐个采用本付款方支持的付款码值的特征对所提取出的付款码值进行识别,得到所有本收款方支持的付款码值。

一个例子中,所述聚合码值具有预定格式,所述预定格式包括:所有付款码值依次排列,两个相邻的付款码值由预定隔离字符分隔开来。

上述例子中,当任何一个用户的聚合码值所包括的付款码值中可能使用所述预定隔离字符时,采用所述预定隔离字符的转义字符来代替所述付款码值中的所述预定隔离字符。

可选的,所述使用付款码值确定单元进一步包括可用付款码值转送子单元和使用付款码值接收子单元,其中:可用付款码值转送子单元用于在本收款方支持的付款码值超过一个时,将本收款方支持的所有付款码值携带在可用付款码值转送请求中发送给聚合码服务器;使用付款码值接收子单元用于接收聚合码服务器返回的本次支付使用的付款码值;所述本次支付使用的付款码值在聚合码服务器将本收款方支持的所有付款码值发送给所述付款方终端后,由所述付款方终端将用户选定的其中一个返回给聚合码服务器。

图10所示为本说明书实施例提供的一种基于条码支付的实现装置,应用在聚合码服务器上,所述聚合码服务器上维护有用户账户对应的聚合码值中所有付款码值所属的发码方信息以及付款码值在所属发码方对应的发码方账户信息,所述装置包括聚合码值请求接收单元、聚合码值生成单元和聚合码值请求响应单元,其中:聚合码值请求接收单元用于接收付款方终端的聚合码值请求;聚合码值生成单元用于采用使用所述付款方终端的用户账户对应的聚合码值中所有付款码值所属的发码方信息以及付款码值在所属发码方对应的发码方账户信息,向付款码值所属的发码方服务器请求对应发码方账户的付款码值,采用所述发码方服务器返回的付款码值生成聚合码值;聚合码值请求响应单元用于将聚合码值发送给所述付款方终端,供所述付款方终端渲染后显示给收款方设备扫描,由收款方设备在获取所述聚合码值后,以聚合码值内所有付款码值中收款方支持的一个作为本次支付使用的付款码值。

一种实现方式中,所述装置还包括可用付款码值转送接收单元、可用付款码值发送单元和使用付款码值转送单元,其中:可用付款码值转送接收单元用于接收收款方设备发送的可用付款码值转送请求,所述可用付款码值转送请求中携带有所述聚合码值中所述收款方支持的所有付款码值;可用付款码值发送单元用于将所述收款方支持的所有付款码值发送给所述付款方终端;使用付款码值转送单元用于接收所述付款方终端返回的用户在所述收款方支持的所有付款码值中选定的一个,将所述用户选定的付款码值作为本次支付使用的付款码值发送给所述收款方设备。

上述实现方式中,所述可用付款码值发送单元具体用于以下之一:将所述将收款方支持的所有付款码值,作为对所述付款方终端轮询可用付款码值的响应,发送给所述付款方终端;或,向所述付款方终端推送可用付款码值选择指令,基于所述可用付款码值选择指令向所述付款方终端发送所述聚合码值中所述收款方支持的所有付款码值。

一个例子中,所述聚合码值具有预定格式,所述预定格式包括:所有付款码值依次排列,两个相邻的付款码值由预定隔离字符分隔开来。

上述例子中,当任何一个用户的聚合码值所包括的付款码值中可能使用所述预定隔离字符时,采用所述预定隔离字符的转义字符来代替所述付款码值中的所述预定隔离字符。

本说明书的实施例提供了一种终端,该终端包括存储器和处理器。其中,存储器上存储有能够由处理器运行的计算机程序;处理器在运行存储的计算机程序时,执行本说明书实施例中应用在付款方终端上的基于条码支付的实现方法的各个步骤。对应用在付款方终端上的基于条码支付的实现方法的各个步骤的详细描述请参见之前的内容,不再重复。

本说明书的实施例提供了一种计算机设备,该计算机设备包括存储器和处理器。其中,存储器上存储有能够由处理器运行的计算机程序;处理器在运行存储的计算机程序时,执行本说明书实施例中应用在收款方设备上的基于条码支付的实现方法的各个步骤。对应用在收款方设备上的基于条码支付的实现方法的各个步骤的详细描述请参见之前的内容,不再重复。

本说明书的实施例提供了一种计算机设备,该计算机设备包括存储器和处理器。其中,存储器上存储有能够由处理器运行的计算机程序;处理器在运行存储的计算机程序时,执行本说明书实施例中应用在聚合码服务器上的基于条码支付的实现方法的各个步骤。对应用在聚合码服务器上的基于条码支付的实现方法的各个步骤的详细描述请参见之前的内容,不再重复。

本说明书的实施例提供了一种计算机可读存储介质,该存储介质上存储有计算机程序,这些计算机程序在被处理器运行时,执行本说明书实施例中应用在付款方终端上的基于条码支付的实现方法的各个步骤。对应用在付款方终端上的基于条码支付的实现方法的各个步骤的详细描述请参见之前的内容,不再重复。

本说明书的实施例提供了一种计算机可读存储介质,该存储介质上存储有计算机程序,这些计算机程序在被处理器运行时,执行本说明书实施例中应用在收款方设备上的基于条码支付的实现方法的各个步骤。对应用在收款方设备上的基于条码支付的实现方法的各个步骤的详细描述请参见之前的内容,不再重复。

本说明书的实施例提供了一种计算机可读存储介质,该存储介质上存储有计算机程序,这些计算机程序在被处理器运行时,执行本说明书实施例中应用在聚合码服务器上的基于条码支付的实现方法的各个步骤。对应用在聚合码服务器上的基于条码支付的实现方法的各个步骤的详细描述请参见之前的内容,不再重复。

以上所述仅为本说明书的较佳实施例而已,并不用以限制请求保护的其他实施例,凡在本说明书的精神和原则之内,所做的任何修改、等同替换、改进等,均应包含在请求保护的范围之内。

在一个典型的配置中,计算设备包括一个或多个处理器(CPU)、输入/输出接口、网络接口和内存。

内存可能包括计算机可读介质中的非永久性存储器,随机存取存储器(RAM)和/或非易失性内存等形式,如只读存储器(ROM)或闪存(flash RAM)。内存是计算机可读介质的示例。

计算机可读介质包括永久性和非永久性、可移动和非可移动媒体可以由任何方法或技术来实现信息存储。信息可以是计算机可读指令、数据结构、程序的模块或其他数据。计算机的存储介质的例子包括,但不限于相变内存(PRAM)、静态随机存取存储器(SRAM)、动态随机存取存储器(DRAM)、其他类型的随机存取存储器(RAM)、只读存储器(ROM)、电可擦除可编程只读存储器(EEPROM)、快闪记忆体或其他内存技术、只读光盘只读存储器(CD-ROM)、数字多功能光盘(DVD)或其他光学存储、磁盒式磁带,磁带磁磁盘存储或其他磁性存储设备或任何其他非传输介质,可用于存储可以被计算设备访问的信息。按照本文中的界定,计算机可读介质不包括暂存电脑可读媒体(transitory media),如调制的数据信号和载波。

还需要说明的是,术语“包括”、“包含”或者其任何其他变体意在涵盖非排他性的包含,从而使得包括一系列要素的过程、方法、商品或者设备不仅包括那些要素,而且还包括没有明确列出的其他要素,或者是还包括为这种过程、方法、商品或者设备所固有的要素。在没有更多限制的情况下,由语句“包括一个……”限定的要素,并不排除在包括所述要素的过程、方法、商品或者设备中还存在另外的相同要素。

本领域技术人员应明白,本说明书的实施例可提供为方法、系统或计算机程序产品。因此,本说明书的实施例可采用完全硬件实施例、完全软件实施例或结合软件和硬件方面的实施例的形式。而且,本说明书的实施例可采用在一个或多个其中包含有计算机可用程序代码的计算机可用存储介质(包括但不限于磁盘存储器、CD-ROM、光学存储器等)上实施的计算机程序产品的形式。

技术分类

06120113806776