基于条码支付的实现方法和装置、基于条码支付的系统
技术领域
本说明书涉及网络通信技术领域,尤其涉及一种基于条码支付的实现方法和装置、以及一种基于条码支付的系统。
背景技术
条码是将反射率不同的“条”、“空”按照一定的编码规则组合起来,用以表达一组信息的图形标识符。条码包括一维条码(也称为条形码)、二维条码(也称为二维码)等。条码在网络支付领域得到了广泛的应用,例如,商户可以通过扫描用户出示的付款码,来从用户的账户收取款项。
在网络支付的发展过程中,是由各个支付服务提供方分别构建自己的条码付款系统,即支付服务提供方自行决定付款码码值的格式和内容(付款码中携带的信息),商户扫描付款码后,将码值上传到该支付服务提供方的收单服务器,来进行码值的解读和款项的转移。通常一个支付服务提供方的收单服务器无法处理其他支付服务提供方的付款码。这样,一个商户必须和所有支付服务提供商建立收单业务关系,并且在每个支付服务提供商开设账户,该商户的用户才能以这些支付服务提供方的付款码支付。这使得商户需要花费很多时间精力来管理与各个支付服务提供方的收单服务,用户在付款前需要确认自己的付款码可以被商户接受,十分不便且效率低下。
发明内容
有鉴于此,本说明书提供一种基于条码支付的实现方法,应用在付款方终端上,所述方法包括:
获取付款码码值,所述付款码码值包括发码机构标识和付款账户信息,所述付款账户信息对应于具有所述发码机构标识的发码机构的一个账户;
将所述付款码码值渲染为条码后显示,供收款方设备扫描后将发码机构标识和付款账户信息上传给收单机构的服务器,由收单机构的服务器根据发码机构标识确定发码机构,由所述发码机构的服务器根据付款账户信息确定用于本次支付的付款账户。
本说明书提供的一种基于条码支付的实现方法,应用在收款方设备上,所述方法包括:
通过扫描付款方终端提供的付款码获取付款码码值,所述付款码码值包括发码机构标识和付款账户信息,所述付款账户信息对应于具有所述发码机构标识的发码机构的一个账户;
将包括所述发码机构标识和付款账户信息的第一支付请求发送给收单机构的服务器,供收单机构的服务器根据发码机构标识确定发码机构,由所述发码机构的服务器根据付款账户信息确定用于本次支付的付款账户。
本说明书提供的一种基于条码支付的实现方法,应用在收单机构的服务器上,所述方法包括:
接收付款方设备发送的第一支付请求,所述第一支付请求中包括付款码码值中的发码机构标识和付款账户信息;
当所述发码机构标识不是本机构的发码机构标识时,向具有所述发码机构标识的发码机构的服务器发送第二支付请求,所述第二支付请求中包括所述付款账户信息,供发码机构的服务器根据所述付款账户信息确定本次支付的付款账户,并从所述付款账户中扣款。
本说明书提供的一种基于条码支付的实现方法,应用在发码机构的服务器上,所述方法包括:
接收第二支付请求,所述第二支付请求中包括付款码码值中的发码机构标识和付款账户信息;
在确认所述发码机构标识为本机构的发码机构标识后,根据所述付款账户信息确定本机构的一个账户作为付款账户,从所述付款账户扣款。
本说明书提供的一种基于条码支付的实现方法,应用在机构互连服务器上,所述方法包括:
接收收单机构的服务器发送的第二支付请求,所述第二支付请求中包括付款码码值中的发码机构标识和付款账户信息;
将第二支付请求转发给具有所述发码机构标识的发码机构的服务器,供发码机构的服务器根据所述付款账户信息确定本次支付的付款账户,并从所述付款账户中扣款。
本说明书还提供了一种基于条码支付的实现装置,应用在付款方终端上,所述装置包括:
付款码码值获取单元,用于获取付款码码值,所述付款码码值包括发码机构标识和付款账户信息,所述付款账户信息对应于具有所述发码机构标识的发码机构的一个账户;
付款码展示单元,用于将所述付款码码值渲染为条码后显示,供收款方设备扫描后将发码机构标识和付款账户信息上传给收单机构的服务器,由收单机构的服务器根据发码机构标识确定发码机构,由所述发码机构的服务器根据付款账户信息确定用于本次支付的付款账户。
本说明书提供的一种基于条码支付的实现装置,应用在收款方设备上,所述装置包括:
付款码扫描单元,用于通过扫描付款方终端提供的付款码获取付款码码值,所述付款码码值包括发码机构标识和付款账户信息,所述付款账户信息对应于具有所述发码机构标识的发码机构的一个账户;
第一支付请求发送单元,用于将包括所述发码机构标识和付款账户信息的第一支付请求发送给收单机构的服务器,供收单机构的服务器根据发码机构标识确定发码机构,由所述发码机构的服务器根据付款账户信息确定用于本次支付的付款账户。
本说明书提供的一种基于条码支付的实现装置,应用在收单机构的服务器上,所述装置包括:
第一支付请求接收单元,用于接收付款方设备发送的第一支付请求,所述第一支付请求中包括付款码码值中的发码机构标识和付款账户信息;
第二支付请求发送单元,用于当所述发码机构标识不是本机构的发码机构标识时,向具有所述发码机构标识的发码机构的服务器发送第二支付请求,所述第二支付请求中包括所述付款账户信息,供发码机构的服务器根据所述付款账户信息确定本次支付的付款账户,并从所述付款账户中扣款。
本说明书提供的一种基于条码支付的实现装置,应用在发码机构的服务器上,所述装置包括:
第二支付请求接收单元,用于接收第二支付请求,所述第二支付请求中包括付款码码值中的发码机构标识和付款账户信息;
第二支付请求处理单元,用于在确认所述发码机构标识为本机构的发码机构标识后,根据所述付款账户信息确定本机构的一个账户作为付款账户,从所述付款账户扣款。
本说明书提供的一种基于条码支付的实现装置,应用在机构互连服务器上,所述装置包括:
第二支付请求中转单元,用于接收收单机构的服务器发送的第二支付请求,所述第二支付请求中包括付款码码值中的发码机构标识和付款账户信息;
第二支付请求转发单元,用于将第二支付请求转发给具有所述发码机构标识的发码机构的服务器,供所述发码机构的服务器根据所述付款账户信息确定本次支付的付款账户,并从所述付款账户中扣款。
本说明书提供的一种计算机设备,包括:存储器和处理器;所述存储器上存储有可由处理器运行的计算机程序;所述处理器运行所述计算机程序时,执行上述应用在付款方终端上的基于条码支付的实现方法所述的步骤。
本说明书提供的一种计算机设备,包括:存储器和处理器;所述存储器上存储有可由处理器运行的计算机程序;所述处理器运行所述计算机程序时,执行上述应用在收款方设备上的基于条码支付的实现方法所述的步骤。
本说明书提供的一种计算机设备,包括:存储器和处理器;所述存储器上存储有可由处理器运行的计算机程序;所述处理器运行所述计算机程序时,执行上述应用在收单机构的服务器上的基于条码支付的实现方法所述的步骤。
本说明书提供的一种计算机设备,包括:存储器和处理器;所述存储器上存储有可由处理器运行的计算机程序;所述处理器运行所述计算机程序时,执行上述应用在发码机构的服务器上的基于条码支付的实现方法所述的步骤。
本说明书提供的一种计算机设备,包括:存储器和处理器;所述存储器上存储有可由处理器运行的计算机程序;所述处理器运行所述计算机程序时,执行上述应用在机构互连服务器上的基于条码支付的实现方法所述的步骤。
本说明书提供的一种计算机可读存储介质,其上存储有计算机程序,所述计算机程序被处理器运行时,执行上述应用在付款方终端上的基于条码支付的实现方法所述的步骤。
本说明书还提供了一种计算机可读存储介质,其上存储有计算机程序,所述计算机程序被处理器运行时,执行上述应用在收款方设备上的基于条码支付的实现方法所述的步骤。
本说明书提供的一种计算机可读存储介质,其上存储有计算机程序,所述计算机程序被处理器运行时,执行上述应用在收单机构的服务器上的基于条码支付的实现方法所述的步骤。
本说明书还提供了一种计算机可读存储介质,其上存储有计算机程序,所述计算机程序被处理器运行时,执行上述应用在发码机构的服务器上的基于条码支付的实现方法所述的步骤。
本说明书还提供了一种计算机可读存储介质,其上存储有计算机程序,所述计算机程序被处理器运行时,执行上述应用在机构互连服务器上的基于条码支付的实现方法所述的步骤。
由以上技术方案可见,本说明书的实施例中,在付款码码值中携带发码机构标识和付款账户信息,在收款方设备扫描付款方终端出示的付款码后,向收单机构的服务器上传付款码码值,收单机构的服务器可以根据发码机构标识确定发码机构,向发码机构的服务器发送携带有付款账户信息的第二支付请求,发码机构的服务器按照付款账户信息确定本机构的一个账户作为付款账户进行扣款,使得收单机构的服务器能够采用其他支付服务提供商的付款码来完成支付过程,商户只需和一个支付服务提供商具有收单业务关系,即可从使用不同支付服务提供商的用户收取款项,提高了商户和用户的支付效率,使商户和用户更为便利。
附图说明
图1是本说明书实施例应用场景的第一种网络结构示例图;
图2是本说明书实施例应用场景的第二种网络结构示例图;
图3是本说明书实施例中一种应用在付款方终端上的基于条码支付的实现方法的流程图;
图4是本说明书实施例中一种应用在收款方设备上的基于条码支付的实现方法的流程图;
图5是本说明书实施例中一种应用在收单机构的服务器上的基于条码支付的实现方法的流程图;
图6是本说明书实施例中一种应用在发码机构的服务器上的基于条码支付的实现方法的流程图;
图7是本说明书实施例中第一种付款码码值示例的编码格式示意图;
图8是本说明书实施例中第二种付款码码值示例的编码格式示意图;
图9是本说明书实施例中一种应用在机构互连服务器上的基于条码支付的实现方法的流程图;
图10是本说明书应用示例一中当收单机构与发码机构为同一个支付服务提供方时的支付流程示意图;
图11是本说明书应用示例一中当收单机构的服务器与发码机构的服务器直接通信时的支付流程示意图;
图12是本说明书应用示例一中当收单机构的服务器与发码机构的服务器都与机构互连服务器进行通信时的支付流程示意图;
图13是本说明书应用示例二中一种跨国线下支付的流程示意图;
图14是运行本说明书实施例的设备的一种硬件结构图;
图15是本说明书实施例中一种应用在付款方终端上的基于条码支付的实现装置的逻辑结构图;
图16是本说明书实施例中一种应用在收款方设备上的基于条码支付的实现装置的逻辑结构图;
图17是本说明书实施例中一种应用在收单机构的服务器上的基于条码支付的实现装置的逻辑结构图;
图18是本说明书实施例中一种应用在发码机构的服务器上的基于条码支付的实现装置的逻辑结构图;
图19是本说明书实施例中一种应用在机构互连服务器上的基于条码支付的实现装置的逻辑结构图;
图20是本说明书实施例中一种基于条码支付的系统的结构图。
具体实施方式
本说明书的实施例提出一种新的基于条码支付的实现方法,付款方终端向收款方出示携带有发码机构标识和付款账户信息的付款码,收款方的收单机构在收到收款方设备上传的发码机构标识和付款账户信息后,向具有该发码机构标识的发码机构的服务器发送包括付款账户信息的第二支付请求,发码机构的服务器根据付款账户信息将使用该付款方终端的付款方账户作为付款账户进行支付。这样,商户只需与一个收单机构具有收单业务关系,就可以接收使用其他支付服务提供方的用户的条码支付,用户也无需确认商户是否支持自己使用的发码机构,提高了商户和用户的支付效率,使得用户和商户在支付时更为便捷。
本说明书的实施例中,支付过程是由付款方向收款方出示付款码,收款方通过扫描付款码来收取款项。付款码可以是一维条码,可以是二维条码,可以是一维和二维条码的组合,还可以是两个或两个以上采用不同码制编码的一维和/或二维条码的组合,本说明书的实施例对付款码中条码的个数、码制均不做限定。
本说明书的实施例中,付款方在某个支付服务提供方开设有账户,当付款方希望以该账户进行某次支付时,付款方终端将出示按照该支付服务提供方的规则、基于该付款方账户生成的付款码。该支付服务提供方即成为本次支付中的发码机构,该付款方账户即成为本次支付中的付款账户。
收款方在某个支付服务提供方开设有账户,并且收款方与该支付服务提供方具有付款码支付的收单业务关系,该支付服务提供方即可作为该收款方的收单机构。收款方可以有两个或两个以上收单机构,当某次支付中收款方在扫描付款码后向某个支付服务提供方的服务器发送支付请求时,接收支付请求的支付服务提供方即成为本次支付中的收单机构,该收款方在该收单机构的账户即成为本次支付中的收款账户。
本说明书的实施例中,收款方设备可以扫描付款方终端上展示的付款码,收款方设备可以与收单机构的服务器进行通信,收单机构的服务器可以直接或通过其他网络节点间接与发码机构的服务器进行通信,付款方终端既可以是离线状态也可以与发码机构的服务器进行通信。
在一个例子中,本说明书实施例应用场景的第一种网络结构如图1所示,付款方终端可以与发码机构的服务器通过网络进行通信,收款方设备可以扫描付款方终端上展示的付款码,收款方设备与收单机构的服务器通过网络进行通信,收单机构的服务器与发码机构的服务器通过网络直接进行通信。
在另一个例子中,本说明书实施例应用场景的第一种网络结构如图2所示,付款方终端与发码机构的服务器通过网络进行通信,收款方设备可以扫描付款方终端上展示的付款码,收款方设备与收单机构的服务器通过网络进行通信,收单机构的服务器、发码机构的服务器分别与机构互连服务器通过网络直接进行通信,机构互连服务器可以在收单机构的服务器与发码机构的服务器之间进行信息的转发。
其中,付款方终端可以是手机、平板电脑、PC(Personal Computer,个人电脑)、笔记本等设备;收款方设备可以是具有扫描、计算和存储功能的一个设备或两个及以上设备的组合,如手机、平板电脑、扫码枪和PC、笔记本等设备;发码机构的服务器、收单机构的服务器或机构互连服务器可以是一个物理或逻辑服务器,也可以是由两个或两个以上分担不同职责的物理或逻辑服务器、相互协同来实现本说明书实施例中发码机构的服务器、收单机构的服务器或机构互连服务器的各项功能。
本说明书的实施例中,基于条码支付的实现方法应用在付款方终端上的流程如图3所示,应用在收款方设备上的流程如图4所示,应用在收单机构的服务器上的流程如图5所示,应用在发码机构的服务器上的流程如图6所示。
在付款方终端上,步骤310,获取付款码码值。付款码码值包括发码机构标识和付款账户信息,付款账户信息对应于具有该发码机构标识的发码机构的一个账户。
本说明书的实施例中,付款码码值中包括发码机构标识和付款账户信息。其中,发码机构标识唯一代表一个向付款方提供服务的支付服务提供商,各个支付服务提供商能够根据发码机构标识确定本次支付的发码机构是哪个;付款账户信息能够由发码机构用来确定本机构的一个账户。付款码码值中的发码机构标识通常采用明文的形式,以便任何一个收单机构的服务器都可以识别出发码机构。付款码码值中的付款账户信息可以由发码机构自行确定,只要发码机构能够将付款账户信息唯一对应于本机构的一个账户即可。
通常付款账户信息中包括标记化处理后的付款方的账户标识;还可以包括一些验证信息(如标记化处理后的付款方终端的设备标识)、以及其他信息。其中,账户标识可以是任何在发码机构中能够唯一代表一个账户的信息,如账户名称、账户编号、账户索引等中的一个到多个;设备标识可以是任何能够唯一对应于付款方终端的硬件标识或软件标识,如移动设备的序列号、MAC(Media Access Control Address,媒体存取控制)地址、IMEI(International Mobile Equipment Identity,国际移动设备识别码)等;标记化处理可以是任意一种能够隐藏明文隐私信息的处理方式,如加密等。
在一些应用场景中,可以在付款码码值中包括收单机构标识,收单机构标识可以由收款方设备用来确定本次支付的收单机构,即收款方设备将发码机构标识和付款账户信息上传给哪个收单机构的服务器。这样,发码机构可以向收款方指定收单机构、或向收款方推荐优选的收单机构。
需要说明的是,收单机构标识可以是专属于某个支付服务提供方的标识(即该支付服务提供方自身的标识);也可以是某个支付服务提供方加入的互连网络的标识。在该互连网络中,任何一个支付服务提供方都可以作为所有支付服务提供方的账户在付款时的收单机构,这样该互连网络的标识可以作为加入该互连网络的所有支付服务提供方的收单机构标识。
此外,还可以在付款码码值中携带其他信息,如付款码码值的版本号,用来表明付款码码值所采用的编码格式是哪个;再如业务类型,用来表明采用该付款码码值进行的业务是哪个。
本说明书的实施例对付款码码值的编码格式不做限定。编码格式包括付款码码值所采用的字符(字母、数字、符号等)、所携带的各项信息占用的字符长度、以及排列顺序等。以下给出两个付款码码值的编码格式的例子。
第一个例子中,付款码码值采用全数字格式,长度为24到32位,每位可以是0到9中的一个数字。这种付款码码值由长度固定为8位的发码机构标识和长度从16位到24位可变的付款账户信息组成,其中发码机构标识为前8位数字,付款账户信息为后16至24位数字,发码机构标识中的第1位数字是表示发码机构所服务区域的区域码。
如图7所示,付款码码值的第1位到第8位为发码机构标识,第9位到最后一位为付款账户信息。发码机构标识中的第1位为区域码,区域码根据支付服务提供方开展主要业务的区域决定,一种示例性的分配方式如表1所示:
表1
可以分配一个到多个发码机构标识给一个支付服务提供方,例如,将28100100~28100199分配给支付服务提供方PSP A,将28100600~28100699分配给支付服务提供方PSPB,将28100600~28100699分配给支付服务提供方PSP C,将40100100分配给支付服务提供方PSP D。
这个例子中的付款码码值能够展现为一维条码,从而使得大量使用一维条码扫描仪的商户无需升级硬件设备,即可支持更多的发码机构。
第二个例子的付款码码值中包括收单机构标识,此外,还包括付款码码值的版本号和业务类型。这个例子中的付款码码值采用全数字格式,长度为24位,其中3位为发码机构标识、16位为付款账户信息、2位为收单机构标识、1位为付款码码值的版本号、2位为业务类型,每位可以是0到9中的一个数字。
如图8所示,付款码码值为24位数字,其中,收单机构标识是第1位到第2位数字,付款码码值的版本号是第3位数字,发码机构标识是第4位到第6位数字,业务类型是第7到第8位数字,付款账户信息是第9至第24位数字。
付款方终端可以采用各种形式来获取付款码码值,本说明书的实施例不做限定。例如,可以由安装在付款方终端本地的某个发码机构的客户端软件来生成付款码码值,生成的付款码码值中携带有该发码机构标识、和以在该客户端软件登录的账户作为付款账户的付款账户信息。再如,还可以由付款方终端向某个发码机构的服务器发起付款码请求,该发码机构的服务器在收到付款方终端的付款码请求后,根据使用该付款方终端的账户生成付款账户信息,向该付款方终端返回包括生成的付款账户信息和本机构的发码机构标识的付款码码值。此外,还可以结合上述两种方式,当付款方终端处于在线状态时,以向发码机构的服务器请求的方式来获得付款码码值;当付款方终端处于离线状态时,由本地的发码机构客户端软件来生成付款码码值。
在付款方终端上,步骤320,将付款码码值渲染为条码后显示,供收款方设备扫描后将发码机构标识和付款账户信息上传给收单机构的服务器,由收单机构的服务器根据发码机构标识确定发码机构,由该发码机构的服务器根据付款账户信息确定用于本次支付的付款账户。
在收款方设备上,步骤410,通过扫描付款方终端提供的付款码获取付款码码值。
付款方终端将获取的付款码码值渲染为付款码,付款码可以是一个到多个条码,如一维条码、二维条码、或一维条码和二维条码的组合。付款方终端将付款码显示在屏幕上,供收款方设备扫描。
收款方设备在扫描付款方终端显示的付款码后,得到付款码码值。
在收款方设备上,步骤420,将包括发码机构标识和付款账户信息的第一支付请求发送给收单机构的服务器,供收单机构的服务器根据发码机构标识确定发码机构,由所确定的发码机构的服务器根据付款账户信息确定用于本次支付的付款账户。
在收单机构的服务器上,步骤510,接收付款方设备发送的第一支付请求。第一支付请求中包括付款码码值中的发码机构标识和付款账户信息。
收款方设备将付款码码值中的发码机构标识和付款账户信息封装在第一支付请求中,发送给收单机构的服务器。收款方设备可以将完整的付款码码值封装在第一支付请求中。收款方设备还可以在第一支付请求中封装收款方在收单机构的账户信息、用来确定支付款项数额的款项信息(如额度,或额度和币种)、描述本次交易的交易信息等其他信息。本说明书的实施例不做限定。
对付款码码值中包括收单机构标识的应用场景,收款方设备提取付款码码值中的收单机构标识,根据提取的收单机构标识确定收单机构,将第一支付请求发送给具有该收单机构标识的收单机构的服务器。
收单机构的服务器在收到第一支付请求后,可以从中提取出付款码的发码机构标识、付款账户信息、以及其他信息。
在收单机构的服务器上,步骤520,当该发码机构标识不是本机构的发码机构标识时,向该发码机构的服务器发送第二支付请求,所述第二支付请求中包括付款账户信息,供发码机构的服务器根据付款账户信息确定本次支付的付款账户,并从该付款账户中扣款。
收单机构的服务器判断第一支付请求中的发码机构标识是否是本机构的发码机构标识,如果不是,则需要由其他机构的服务器来解读付款账户信息。收单机构的服务器将第一支付请求中的付款账户信息封装在第二支付请求中,并向具有该发码机构标识的发码机构的服务器发送第二支付请求。如果第一支付请求中携带有完整的付款码码值,收单机构的服务器可以将完整的付款码码值封装在第二支付请求中。收单机构的服务器还可以将第一支付请求中本次支付的款项信息、交易信息等其他信息中的一个到多个封装在第二支付请求中。
在收单机构的服务器与发码机构的服务器分别与机构互连服务器直接进行通信的应用场景中,第二支付请求中需要携带来自第一支付请求的发码机构标识,并且第二支付请求将通过机构互连服务器转发给具有该发码机构标识的发码机构的服务器。在这个应用场景中,应用在机构互连服务器上的基于条码支付的实现方法的流程如图9所示。
在机构互连服务器上,步骤910,接收收单机构的服务器发送的第二支付请求。第二支付请求中包括付款码码值中的发码机构标识和付款账户信息。
在机构互连服务器上,步骤920,将第二支付请求转发给具有该发码机构标识的发码机构的服务器,供该发码机构的服务器根据付款账户信息确定本次支付的付款账户,并从所述付款账户中扣款。
具体的,收单机构服务器将第二支付请求发送给机构互连服务器,机构互连服务器在收到第二支付请求后,根据其中的发码机构标识确定发码机构,并且将第二支付请求转发给所确定的发码机构的服务器。
在收单机构的服务器与发码机构的服务器直接通信的应用场景中,收单机构的服务器可以在第二支付请求中封装发码机构标识,也可以不在第二支付请求中封装发码机构标识。
如果第一支付请求中的发码机构标识就是收单机构自己的发码机构标识,则发码机构的服务器就是收单机构的服务器,付款账户和收款方的账户都是在收单机构注册的账户,收单机构的服务器根据第一支付请求中的付款账户信息确定本次支付的付款账户,并从所确定的付款账户中扣除本次支付的款项。
在发码机构的服务器上,步骤610,接收第二支付请求。第二支付请求中包括付款码码值中的发码机构标识和付款账户信息。
在发码机构的服务器上,步骤620,在确认接收的该发码机构标识为本机构的发码机构标识后,根据所述付款账户信息确定本机构的一个账户作为付款账户,从所述付款账户扣款。
当发码机构的服务器接收到收款机构的服务器发送的、携带有付款账户信息但没有携带发码机构标识的第二支付请求后,根据其中的付款账户信息确定本机构的一个账户作为付款账户,并从该付款账户扣款。
当发码机构的服务器接收到收款机构的服务器发送的或机构互连服务器发送的、携带有发码机构标识的第二支付请求后,发码机构的服务器确认接收的该发码机构标识为本机构的发码机构标识后,根据第二支付请求中的付款账户信息确定本机构的一个账户作为付款账户,从该付款账户扣款。如果第二支付请求中的发码机构标识不是本机构的发码机构标识,则发码机构的服务器不做处理,或者向发送第二支付请求的服务器返回非本机构账户的通知消息。
扣款操作完成后,发码机构的服务器向发送第二支付请求的服务器返回扣款成功或扣款失败的响应。如果第二支付请求是由机构互连服务器转发给发码机构的服务器,则机构互联服务器将扣款成功或扣款失败的响应返回给收单机构的服务器。收单机构的服务器根据收到的响应向收款方设备返回支付成功或支付失败的通知消息。发码机构的服务器还可以向付款方终端发送支付成功或支付失败的通知消息。
可见,本说明书的实施例中,通过在付款码码值中携带发码机构标识,在收款方设备向收单机构的服务器上传付款码码值后,收单机构的服务器可以根据发码机构标识确定发码机构,由发码机构的服务器根据付款码码值中的付款账户信息来确定付款账户,使得收单机构的服务器能够采用其他支付服务提供商的付款码来完成支付过程,商户只需与一个收单机构具有收单业务关系,就可以接收使用其他支付服务提供方的用户的条码支付,用户也无需确认商户是否支持自己使用的发码机构,提高了商户和用户的支付效率,使商户和用户更为便利。
上述对本说明书特定实施例进行了描述。其它实施例在所附权利要求书的范围内。在一些情况下,在权利要求书中记载的动作或步骤可以按照不同于实施例中的顺序来执行并且仍然可以实现期望的结果。另外,在附图中描绘的过程不一定要求示出的特定顺序或者连续顺序才能实现期望的结果。在某些实施方式中,多任务处理和并行处理也是可以的或者可能是有利的。
在本说明书的第一个应用示例中,支付服务提供商PSP A、PSP B都采用图7所示的付款码码值,分配给PSP A的发码机构标识为28100100~28100199,分配给PSP B的发码机构标识为28100600~28100699。
用户A在PSP A开设有账户,在自己的终端上安装了PSP A的客户端App(应用程序),PSP A的App中提供了基于条码支付的功能。
用户A与某个商户交易时,希望用PSP A的App来进行支付。用户A启动基于条码的支付功能后,App向PSP A的服务器发送付款码请求。PSP A成为用户A在本次支付中的发码机构。PSP A的服务器根据在发送付款码请求的App登录的账户(即用户A的账户)生成付款账户信息,将PSP A的发码机构标识和付款账户信息按照图7所示的格式组成付款码码值,将付款码码值封装在对付款码请求的响应中,发送给用户A终端上的App。
假设本次支付的付款码码值为281001020123456789012345,其中28100102为PSPA的一个发码机构标识,PSP A的服务器可以将付款账户信息0123456789012345对应于用户A的账户。
用户A终端上PSP A的App将付款码码值渲染为一维条码和二维条码,并显示在屏幕上,提供给交易商户的收款方设备扫描。
在第一种情形中,与用户A交易的是商户A,商户A的收单机构为PSP A。这种情形下的支付流程如图10所示。
商户A的收款方设备将扫描后得到的付款码码值、本次支付的款项信息、交易详情封装在第一支付请求中,发送给自己收单机构PSP A的服务器。
PSP A的服务器收到第一支付请求,从中提取出付款码码值中的发码机构标识28100102,发现是本机构的发码机构标识,则根据付款码码值中的付款账户信息0123456789012345确定用户A的账户为付款账户,并按照第一支付请求中的款项信息从用户A的账户中扣取相应的款项。
扣款成功后,PSP A的服务器分别向商户A的收款方设备和用户A的App返回支付成功的消息。
在第二种情形中,与用户A交易的是商户B,商户B的收单机构为PSP B。PSP A的服务器与PSP B的服务器直接进行通信。在PSP B的服务器上保存有各个发码机构和分配给各个发码机构标识的对应关系。这种情形下的支付流程如图11所示。
商户B的收款方设备将扫描后得到的付款码码值、本次支付的款项信息、交易详情封装在第一支付请求中,发送给自己收单机构PSP B的服务器。
PSP B的服务器收到第一支付请求,从中提取出付款码码值中的发码机构标识28100102,查询保存的发码机构标识与发码机构的对应关系,发现是PSP A的发码机构标识,则采用付款码码值、本次支付的款项信息、交易详情生成第二支付请求,并将第二支付请求发送给PSP A的服务器。
PSP A的服务器收到PSP B的服务器发送的第二支付请求后,从中提取出付款码码值中的发码机构标识28100102,确认是自己机构的发码机构标识,则根据付款码码值中的付款账户信息0123456789012345确定用户A的账户为付款账户,并按照第二支付请求中的款项信息从用户A的账户中扣取相应的款项。
扣款成功后,PSP A的服务器分别向PSP B的服务器和用户A的App返回支付成功的消息。PSP B的服务器向商户B的收款方设备返回支付成功的消息。
在第三种情形中,与用户A交易的是商户B,商户B的收单机构为PSP B。机构互连服务器分别与PSP A的服务器和PSP B的服务器直接进行通信。在PSP B的服务器上保存有本机构的发码机构标识和由机构互连服务器进行转发的发码机构标识的对应关系,在机构互连服务器上保存有各个发码机构和分配给各个发码机构标识的对应关系。这种情形下的支付流程如图12所示。
商户B的收款方设备将扫描后得到的付款码码值、本次支付的款项信息、交易详情封装在第一支付请求中,发送给自己收单机构PSP B的服务器。
PSP B的服务器收到第一支付请求,从中提取出付款码码值中的发码机构标识28100102,查询后发现是由机构互连服务器进行转发的发码机构标识,则采用付款码码值、本次支付的款项信息、交易详情生成第二支付请求,并将第二支付请求发送给机构互连服务器。
机构互连服务器收到第二支付请求,提取出付款码码值中的发码机构标识28100102,查询保存的发码机构与发码机构标识的对应关系表,发现是PSP A的发码机构标识,则将第二支付请求转发给PSP A的服务器。
PSP A的服务器收到机构互连服务器转发的第二支付请求后,从中提取出付款码码值中的发码机构标识28100102,确认是自己机构的发码机构标识,则根据付款码码值中的付款账户信息0123456789012345确定用户A的账户为付款账户,并按照第二支付请求中的款项信息从用户A的账户中扣取相应的款项。
扣款成功后,PSP A的服务器分别向机构互连服务器和用户A的App返回支付成功的消息。机构互连服务器将支付成功的消息转发给PSP B的服务器。PSP B的服务器向商户B的收款方设备返回支付成功的消息。
应用示例二中,A国的支付服务提供商PSP A、B国的支付服务提供商PSP B都采用图8所示的付款码码值,分配PSP A的发码机构标识为610~612,分配给PSP B的发码机构标识为100~105,分配给PSP B的收单机构标识为25~30。PSP A的服务器与PSP B的服务器通过机构互连服务器进行通信。在PSP B的服务器上保存有本机构的发码机构标识和由机构互连服务器进行转发的发码机构标识的对应关系,在机构互连服务器上保存有各个发码机构和分配给各个发码机构标识的对应关系。
用户A在PSP A开设有账户,在自己的终端上安装了PSP A的客户端App(应用程序),PSP A的App中提供了基于条码支付的功能。当用户A在B国的实体商户B处消费时,用其在PSP A的账户进行支付的流程如图13所示。
用户A启动基于条码的支付功能后,App向PSP A的服务器发送付款码请求。PSP A成为用户A在本次支付中的发码机构。PSP A的服务器根据用户A终端的定位信息,得知用户A在B国,按照在发送付款码请求的App登录的账户(即用户A的账户)生成付款账户信息,将PSP A的发码机构标识、B国的PSP B的收单机构标识、和付款账户信息按照图8所示的格式组成付款码码值,将付款码码值封装在对付款码请求的响应中,发送给用户A终端上的App。
假设本次支付的付款码码值为301610020123456789012345,其中前2位的30为PSPB的一个收单机构标识,第4到第6位的610为PSP A的一个发码机构标识,第7到第8位的02表示业务类型为线下支付,PSP A的服务器可以将第9到第24位的付款账户信息0123456789012345对应于用户A的账户。
用户A终端上PSP A的App将付款码码值渲染为一维条码和二维条码,并显示在屏幕上,提供给商户B的收款方设备扫描。
商户B的收款方设备扫描后得到付款码码值,从中提取出的收单机构标识30是PSPB的收单机构标识。商户B的收款方设备将付款码码值、本次支付的款项信息、交易详情封装在第一支付请求中,发送给PSP B的服务器。
PSP B的服务器收到第一支付请求,从中提取出付款码码值中的发码机构标识610,查询后发现是由机构互连服务器进行转发的发码机构标识,则采用付款码码值、本次支付的款项信息、交易详情生成第二支付请求,并将第二支付请求发送给机构互连服务器。
机构互连服务器收到第二支付请求,提取出付款码码值中的发码机构标识610,查询保存的发码机构与发码机构标识的对应关系表,发现是PSP A的发码机构标识,则将第二支付请求转发给PSP A的服务器。
PSP A的服务器收到机构互连服务器转发的第二支付请求后,从中提取出付款码码值中的发码机构标识610,确认是自己机构的发码机构标识,则根据付款码码值中的付款账户信息0123456789012345确定用户A的账户为付款账户,并按照第二支付请求中的款项信息从用户A的账户中扣取相应的款项。
扣款成功后,PSP A的服务器分别向机构互连服务器和用户A的App返回支付成功的消息。机构互连服务器将支付成功的消息转发给PSP B的服务器。PSP B的服务器向商户B的收款方设备返回支付成功的消息。
可见,采用图7所示或图8所示的付款码码值后,由于编码格式十分简洁,能够支持渲染为一维条码,从而兼容很多使用一维条码扫码枪的商户,商户无需升级设备即可从更多支付服务提供方的账户收款,尤其在跨境支付中极大的降低了商户的接入成本。
与上述流程实现对应,本说明书的实施例还提供了一种应用在收款方设备上的基于条码支付的实现装置、一种应用在收款方设备上的基于条码支付的实现装置、一种应用在收单机构的服务器上的基于条码支付的实现装置、和一种应用在发码机构的服务器上的基于条码支付的实现装置。上述装置均可以通过软件实现,也可以通过硬件或者软硬件结合的方式实现。以软件实现为例,作为逻辑意义上的装置,是通过终端或服务器的CPU(Central Process Unit,中央处理器)将对应的计算机程序指令读取到内存中运行形成的。从硬件层面而言,除了图14所示的CPU、内存以及存储器之外,上述装置所在的设备通常还包括用于进行无线信号收发的芯片等其他硬件,和/或用于实现网络通信功能的板卡等其他硬件。
图15所示为本说明书实施例提供的一种基于条码支付的实现装置,应用在付款方终端上,所述装置包括付款码码值获取单元和付款码展示单元,其中:付款码码值获取单元用于获取付款码码值,所述付款码码值包括发码机构标识和付款账户信息,所述付款账户信息对应于具有所述发码机构标识的发码机构的一个账户;付款码展示单元用于将所述付款码码值渲染为条码后显示,供收款方设备扫描后将发码机构标识和付款账户信息上传给收单机构的服务器,由收单机构的服务器根据发码机构标识确定发码机构,由所述发码机构的服务器根据付款账户信息确定用于本次支付的付款账户。
可选的,所述付款码码值获取单元具体用于以下之一:由安装在本地的所述发码机构的客户端软件生成付款码码值;或,向所述发码机构的服务器发送付款码请求,接收所述发码机构的服务器返回的付款码码值。
可选的,所述付款账户信息包括:标记化处理后的账户标识和所述付款方终端的设备标识。
可选的,所述付款码码值为24至32位数字,其中发码机构标识为前8位数字,付款账户信息为后16至24位数字;发码机构标识中的第1位数字为表示发码机构所服务区域的区域码。
一个例子中,所述付款码码值还包括:收单机构标识,用来由收款方设备确定上传发码机构标识和付款账户信息的收单机构。
上述例子中,所述付款码码值为24位数字,其中收单机构标识为前2位数字,发码机构标识为第4位到第6位数字,付款账户信息为第9至第24位数字,第3位数字为付款码码值的版本号,第7到第8位数字为业务类型。
图16所示为本说明书实施例提供的一种基于条码支付的实现装置,应用在收款方设备上,所述装置包括付款码扫描单元和第一支付请求发送单元,其中:付款码扫描单元用于通过扫描付款方终端提供的付款码获取付款码码值,所述付款码码值包括发码机构标识和付款账户信息,所述付款账户信息对应于具有所述发码机构标识的发码机构的一个账户;第一支付请求发送单元用于将包括所述发码机构标识和付款账户信息的第一支付请求发送给收单机构的服务器,供收单机构的服务器根据发码机构标识确定发码机构,由所述发码机构的服务器根据付款账户信息确定用于本次支付的付款账户。
可选的,所述付款码码值为24至32位数字,其中发码机构标识为前8位数字,付款账户信息为后16至24位数字;发码机构标识中的第1位数字为表示发码机构所服务区域的区域码。
一个例子中,所述付款码码值还包括:收单机构标识;所述第一支付请求发送单元具体用于:根据所述收单机构标识确定收单机构,将包括所述发码机构标识和付款账户信息的第一支付请求发送给所确定的收单机构的服务器。
上述例子中,所述付款码码值为24位数字,其中收单机构标识为前2位数字,发码机构标识为第4位到第6位数字,付款账户信息为第9至第24位数字,第3位数字为付款码码值的版本号,第7到第8位数字为业务类型。
图17所示为本说明书实施例提供的一种基于条码支付的实现装置,应用在收单机构的服务器上,所述装置包括第一支付请求接收单元和第二支付请求发送单元,其中:第一支付请求接收单元用于接收付款方设备发送的第一支付请求,所述第一支付请求中包括付款码码值中的发码机构标识和付款账户信息;第二支付请求发送单元用于当所述发码机构标识不是本机构的发码机构标识时,向具有所述发码机构标识的发码机构的服务器发送第二支付请求,所述第二支付请求中包括所述付款账户信息,供发码机构的服务器根据所述付款账户信息确定本次支付的付款账户,并从所述付款账户中扣款。
可选的,所述第二支付请求中还包括所述发码机构标识;所述第二支付请求发送单元具体用于:当所述发码机构标识不是本机构的发码机构标识时,将第二支付请求发送给机构互连服务器,由机构互连服务器将第二支付请求转发给具有所述发码机构标识的发码机构的服务器。
可选的,所述装置还包括:第一支付请求处理单元,用于当所述发码机构标识为本机构的发码机构标识时,根据所述付款账户信息确定本次支付的付款账户,并从所述付款账户中扣款。
可选的,所述第一支付请求中包括付款码码值;所述付款码码值为24至32位数字,其中发码机构标识为前8位数字,付款账户信息为后16至24位数字;发码机构标识中的第1位数字为表示发码机构所服务区域的区域码。
可选的,所述第一支付请求中包括付款码码值;所述付款码码值为24位数字,其中收单机构标识为前2位数字,发码机构标识为第4位到第6位数字,付款账户信息为第9至第24位数字,第3位数字为付款码码值的版本号,第7到第8位数字为业务类型。
图18所示为本说明书实施例提供的一种基于条码支付的实现装置,应用在发码机构的服务器上,所述装置包括第二支付请求接收单元和第二支付请求处理单元,其中:第二支付请求接收单元用于接收第二支付请求,所述第二支付请求中包括付款码码值中的发码机构标识和付款账户信息;第二支付请求处理单元用于在确认所述发码机构标识为本机构的发码机构标识后,根据所述付款账户信息确定本机构的一个账户作为付款账户,从所述付款账户扣款。
可选的,所述第二支付请求接收单元具体用于以下之一:接收收单机构的服务器发送的第二支付请求;或,接收机构互连服务器转发的第二支付请求,所述第二支付请求由收单机构的服务器发送给机构互连服务器。
可选的,所述第二支付请求中包括付款码码值;所述付款码码值为24至32位数字,其中发码机构标识为前8位数字,付款账户信息为后16至24位数字;发码机构标识中的第一位数字为表示发码机构所服务区域的区域码。
可选的,所述第二支付请求中包括付款码码值;所述付款码码值为24位数字,其中收单机构标识为前2位数字,发码机构标识为第4位到第6位数字,付款账户信息为第9至第24位数字,第3位数字为付款码码值的版本号,第7到第8位数字为业务类型。
可选的,所述装置还包括:付款码码值下发单元,用于在收到付款方终端的付款码请求后,根据使用所述付款方终端的账户生成付款账户信息,向所述付款方终端返回包括所述付款账户信息和本机构的发码机构标识的付款码码值。
图19所示为本说明书实施例提供的一种基于条码支付的实现装置,应用在机构互连服务器上,所述装置包括第二支付请求中转单元和第二支付请求转发单元,其中:第二支付请求中转单元用于接收收单机构的服务器发送的第二支付请求,所述第二支付请求中包括付款码码值中的发码机构标识和付款账户信息;第二支付请求转发单元用于将第二支付请求转发给具有所述发码机构标识的发码机构的服务器,供所述发码机构的服务器根据所述付款账户信息确定本次支付的付款账户,并从所述付款账户中扣款。
可选的,所述付款码码值为24至32位数字,其中发码机构标识为前8位数字,付款账户信息为后16至24位数字;发码机构标识中的第1位数字为表示发码机构所服务区域的区域码。
可选的,所述付款码码值为24位数字,其中收单机构标识为前2位数字,发码机构标识为第4位到第6位数字,付款账户信息为第9至第24位数字,第3位数字为付款码码值的版本号,第7到第8位数字为业务类型。
本说明书的实施例提供了一种计算机设备,该计算机设备包括存储器和处理器。其中,存储器上存储有能够由处理器运行的计算机程序;处理器在运行存储的计算机程序时,执行本说明书实施例中应用在用户终端上的基于条码支付的实现方法的各个步骤。对应用在用户终端上的基于条码支付的实现方法的各个步骤的详细描述请参见之前的内容,不再重复。
本说明书的实施例提供了一种计算机设备,该计算机设备包括存储器和处理器。其中,存储器上存储有能够由处理器运行的计算机程序;处理器在运行存储的计算机程序时,执行本说明书实施例中应用在收款方设备上的基于条码支付的实现方法的各个步骤。对应用在收款方设备上的基于条码支付的实现方法的各个步骤的详细描述请参见之前的内容,不再重复。
本说明书的实施例提供了一种计算机设备,该计算机设备包括存储器和处理器。其中,存储器上存储有能够由处理器运行的计算机程序;处理器在运行存储的计算机程序时,执行本说明书实施例中应用在收单机构的服务器上的基于条码支付的实现方法的各个步骤。对应用在收单机构的服务器上的基于条码支付的实现方法的各个步骤的详细描述请参见之前的内容,不再重复。
本说明书的实施例提供了一种计算机设备,该计算机设备包括存储器和处理器。其中,存储器上存储有能够由处理器运行的计算机程序;处理器在运行存储的计算机程序时,执行本说明书实施例中应用在发码机构的服务器上的基于条码支付的实现方法的各个步骤。对应用在发码机构的服务器上的基于条码支付的实现方法的各个步骤的详细描述请参见之前的内容,不再重复。
本说明书的实施例提供了一种计算机设备,该计算机设备包括存储器和处理器。其中,存储器上存储有能够由处理器运行的计算机程序;处理器在运行存储的计算机程序时,执行本说明书实施例中应用在机构互连服务器上的基于条码支付的实现方法的各个步骤。对应用在机构互连服务器上的基于条码支付的实现方法的各个步骤的详细描述请参见之前的内容,不再重复。
本说明书的实施例提供了一种计算机可读存储介质,该存储介质上存储有计算机程序,这些计算机程序在被处理器运行时,执行本说明书实施例中应用在用户终端上的基于条码支付的实现方法的各个步骤。对应用在用户终端上的基于条码支付的实现方法的各个步骤的详细描述请参见之前的内容,不再重复。
本说明书的实施例提供了一种计算机可读存储介质,该存储介质上存储有计算机程序,这些计算机程序在被处理器运行时,执行本说明书实施例中应用在收款方设备上的基于条码支付的实现方法的各个步骤。对应用在收款方设备上的基于条码支付的实现方法的各个步骤的详细描述请参见之前的内容,不再重复。
本说明书的实施例提供了一种计算机可读存储介质,该存储介质上存储有计算机程序,这些计算机程序在被处理器运行时,执行本说明书实施例中应用在收单机构的服务器上的基于条码支付的实现方法的各个步骤。对应用在收单机构的服务器上的基于条码支付的实现方法的各个步骤的详细描述请参见之前的内容,不再重复。
本说明书的实施例提供了一种计算机可读存储介质,该存储介质上存储有计算机程序,这些计算机程序在被处理器运行时,执行本说明书实施例中应用在发码机构的服务器上的基于条码支付的实现方法的各个步骤。对应用在发码机构的服务器上的基于条码支付的实现方法的各个步骤的详细描述请参见之前的内容,不再重复。
本说明书的实施例提供了一种计算机可读存储介质,该存储介质上存储有计算机程序,这些计算机程序在被处理器运行时,执行本说明书实施例中应用在机构互连服务器上的基于条码支付的实现方法的各个步骤。对应用在机构互连服务器上的基于条码支付的实现方法的各个步骤的详细描述请参见之前的内容,不再重复。
图20所示为本说明书的实施例提供了一种基于条码支付的系统,包括收单机构的服务器、机构互连服务器和发码机构的服务器,其中:收单机构的服务器用于接收付款方设备发送的、包括付款码码值中的发码机构标识和付款账户信息的第一支付请求,当所述发码机构标识不是本机构的发码机构标识时,向机构互连服务器发送携带有所述发码机构标识和付款账户信息的第二支付请求;机构互连服务器用于接收收单机构的服务器发送的包括发码机构标识和付款账户信息的第二支付请求,并将所述第二支付请求转发给具有所述发码机构标识的发码机构的服务器;发码机构的服务器用于接收机构互连服务器发送的包括发码机构标识和付款账户信息第二支付请求,在确认所述发码机构标识为本机构的发码机构标识后,根据所述付款账户信息确定本机构的一个账户作为付款账户,从所述付款账户扣款。
可选的,所述付款码码值为24至32位数字,其中发码机构标识为前8位数字,付款账户信息为后16至24位数字;发码机构标识中的第1位数字为表示发码机构所服务区域的区域码。
可选的,所述付款码码值为24位数字,其中收单机构标识为前2位数字,发码机构标识为第4位到第6位数字,付款账户信息为第9至第24位数字,第3位数字为付款码码值的版本号,第7到第8位数字为业务类型。
以上所述仅为本说明书的较佳实施例而已,并不用以限制请求保护的其他实施例,凡在本说明书的精神和原则之内,所做的任何修改、等同替换、改进等,均应包含在请求保护的范围之内。
在一个典型的配置中,计算设备包括一个或多个处理器(CPU)、输入/输出接口、网络接口和内存。
内存可能包括计算机可读介质中的非永久性存储器,随机存取存储器(RAM)和/或非易失性内存等形式,如只读存储器(ROM)或闪存(flash RAM)。内存是计算机可读介质的示例。
计算机可读介质包括永久性和非永久性、可移动和非可移动媒体可以由任何方法或技术来实现信息存储。信息可以是计算机可读指令、数据结构、程序的模块或其他数据。计算机的存储介质的例子包括,但不限于相变内存(PRAM)、静态随机存取存储器(SRAM)、动态随机存取存储器(DRAM)、其他类型的随机存取存储器(RAM)、只读存储器(ROM)、电可擦除可编程只读存储器(EEPROM)、快闪记忆体或其他内存技术、只读光盘只读存储器(CD-ROM)、数字多功能光盘(DVD)或其他光学存储、磁盒式磁带,磁带磁磁盘存储或其他磁性存储设备或任何其他非传输介质,可用于存储可以被计算设备访问的信息。按照本文中的界定,计算机可读介质不包括暂存电脑可读媒体(transitory media),如调制的数据信号和载波。
还需要说明的是,术语“包括”、“包含”或者其任何其他变体意在涵盖非排他性的包含,从而使得包括一系列要素的过程、方法、商品或者设备不仅包括那些要素,而且还包括没有明确列出的其他要素,或者是还包括为这种过程、方法、商品或者设备所固有的要素。在没有更多限制的情况下,由语句“包括一个……”限定的要素,并不排除在包括所述要素的过程、方法、商品或者设备中还存在另外的相同要素。
本领域技术人员应明白,本说明书的实施例可提供为方法、系统或计算机程序产品。因此,本说明书的实施例可采用完全硬件实施例、完全软件实施例或结合软件和硬件方面的实施例的形式。而且,本说明书的实施例可采用在一个或多个其中包含有计算机可用程序代码的计算机可用存储介质(包括但不限于磁盘存储器、CD-ROM、光学存储器等)上实施的计算机程序产品的形式。