发明内容
本申请实施例提供一种支付方法和装置,以解决现有线下购物结算需要与用户进行多次交互,流程繁琐和结算效率低的问题。
第一方面,本申请实施例提供了一种支付方法,包括:
支付客户端设备获取用户的支付操作;
所述支付客户端设备响应于所述支付操作,生成包括第一身份信息和第二身份信息的支付码;
所述支付客户端设备显示所述支付码;
所述第一身份信息用于表征所述用户的交易账户,所述第二身份信息用于表征待结算物品的结算价格类型。
本申请实施例将表征待结算物品的结算价格类型的身份信息和付款码信息进行融合,生成支付码,在需要使用与用户身份信息对应的结算价格类型进行结算时,用户只需要出示一次融合生成的支付码,即只需要与用户进行一次交互,简化了结算流程,提高了结算效率。
示例性地,当用户需要使用会员支付时,本申请实施例通过将会员信息和付款码信息进行融合,生成一个支付码。这样,用户只需要出示一次支付码,即可实现会员结算,相较于现有技术中分别出示会员信息和付款码的结算流程,其减少了交互次数,提高了结算效率。
应理解,上述第二身份信息不仅仅为会员身份信息。
在第一方面的一种可能的实现方式中,所述支付客户端设备响应于所述支付操作,生成包括第一身份信息和第二身份信息的支付码,包括:
所述支付客户端设备响应于第一操作,显示第一界面,所述第一界面包括第二身份信息输入区域;
所述支付客户端设备响应于所述用户在所述第一界面的第二身份信息输入区域的第二操作,获得所述第二身份信息;
所述支付客户端设备根据所述第二身份信息和所述第一身份信息,生成所述支付码;
所述支付操作包括所述第一操作和所述第二操作。
示例性地,当第二身份信息为会员身份信息时,支付客户端设备响应于用户点击“付款”操作(即第一操作),显示会员身份信息录入界面(即第一界面);用户在会员身份信息录入界面录入会员信息(即第二操作),支付客户端设备获得用户录入的会员信息,根据该会员信息和用户的交易账户信息生成支付码。
在第一方面的一种可能的实现方式中,所述支付客户端设备响应于所述支付操作,生成包括第一身份信息和第二身份信息的支付码,包括:
所述支付客户端设备响应于第三操作,显示第二界面,所述第二界面用于显示至少一个所述第二身份信息;
所述支付客户端设备响应于所述用户在所述第二界面的第四操作,从至少一个所述第二身份信息中获取目标身份信息,所述第四操作用于指定所述目标身份信息;
所述支付客户端设备根据所述目标身份信息和所述第一身份信息,生成所述支付码;
所述支付操作包括所述第三操作和所述第四操作。
示例性地,当第二身份信息为会员身份信息时,支付客户端设备响应于用户点击“付款”操作(即第三操作),显示卡包界面(即第二界面),该卡包界面显示有预先存储的多个会员卡信息;用户选择其中一个会员卡信息(即第四操作),支付客户端设备根据用户选择的会员卡信息和用户的交易账户信息生成支付码。
在第一方面的一种可能的实现方式中,所述支付客户端设备响应于所述支付操作,生成包括第一身份信息和第二身份信息的支付码,包括:
所述支付客户端设备响应于第五操作,自动选取符合预设条件的第二身份信息,
所述支付客户端设备根据符合预设条件的第二身份信息和所述第一身份信息生成所述支付码;
所述支付操作包括所述第五操作。
示例性地,当第二身份信息为会员身份信息时,支付客户端设备响应于用户点击“付款”操作(即第五操作),自动选取预先存储的其中一个会员身份信息和用户的交易账户信息生成支付码。
上述预设条件可以是但不限于使用频次最高、使用时间最近和地理位置最近中的任意一种或任意组合。
在第一方面的一种可能的实现方式中,还包括:
若符合预设条件的第二身份信息有至少两个时,所述支付客户端设备显示第三界面,所述第三界面用于显示所有符合预设条件的第二身份信息;
所述支付客户端设备获取所述用户的选择操作;
所述支付客户端设备响应所述选择操作,从多个符合预设条件的第二身份信息中确定目标身份信息;
所述目标身份信息为用于生成所述支付码的第二身份信息。
示例性地,当第二身份信息为会员身份信息,预设条件为地理位置最近时,有3个地理位置距离均为20m的会员卡,当用户点击“付款”操作之后,支付客户端设备显示这3个会员卡信息(即第三界面),用户从显示的3个会员卡中选择一个作为生成支付码的会员身份信息。
在第一方面的一种可能的实现方式中,所述支付客户端设备响应于所述支付操作,生成包括第一身份信息和第二身份信息的支付码,包括:
所述支付客户端设备响应于第六操作,显示第四界面,所述第四界面包括用于提示用户是否选择与所述第二身份信息对应的结算价格类型进行支付的提示信息;
所述支付客户端设备响应于所述用户在所述第四界面的第七操作,显示第五界面,所述第五界面包括用于提示用户选取第二身份信息获取方式的提示信息;
所述支付客户端设备响应于所述用户在所述第五界面的第八操作,显示第六界面,所述第六界面包括第二身份信息输入区域,所述第八操作用于指示第二身份信息获取方式为录入;
所述支付客户端设备响应于所述用户在所述第六界面的输入区域的第九操作,获得所述第二身份信息;
所述支付客户端设备根据所述第二身份信息和所述第一身份信息,生成所述支付码;
所述支付操作包括所述第六操作、所述第七操作、所述第八操作和所述第九操作;
或者,
所述支付客户端设备响应于所述用户在所述第五界面的第十操作,显示第七界面,所述第七界面用于显示至少一个所述第二身份信息;所述第十操作用于指示第二身份信息获取方式为选取;
所述支付客户端设备响应在所述第七界面的第十一操作,从至少一个所述第二身份信息中获取目标身份信息,所述第十一操作用于指定所述目标身份信息;
所述支付客户端设备根据所述目标身份信息和所述第一身份信息,生成所述支付码;
所述支付操作包括所述第六操作、所述第七操作、所述第十操作和所述第十一操作。
示例性地,当第二身份信息为会员身份信息时,支付客户端设备响应于用户点击“付款”操作(即第六操作),显示会员支付提示界面(即第四界面),该会员支付提示界面内显示有是否使用会员支付的提示信息;用户点击会员提示界面的“是”(即第七操作);支付客户端设备会员身份信息获取方式提示界面(即第五界面),该界面包括“录入”和“卡包”选项,“录入”是指用户录入会员卡信息,“卡包”是指从会员卡卡包中选取会员卡信息。如果用户点击“录入”(即第八操作),则显示会员卡信息录入界面(即第六界面),用户在会员卡信息录入界面录入会员卡信息(即第九操作);支付客户端设备根据录入的会员身份信息和用户的交易账户信息生成支付码。如果用户点击“卡包”(即第十操作),显示卡包界面(即第七界面),该卡包界面显示有多个会员卡信息;用户选取其中一个会员卡(即第十一操作)之后,支付客户端设备根据用户选取的会员身份信息和用户的交易账户信息生成支付码。
在第一方面的一种可能的实现方式中,还包括:
所述支付客户端设备在所述支付码的显示界面的预设区域显示所述第二身份信息,所述预设区域为所述支付码的显示区域之外的区域。
示例性地,当第二身份信息为会员身份信息时,在生成融合了会员身份信息和用户的交易账户信息之后,显示支付码,同时在支付码显示区域的下方显示“XX超市会员”的信息,便于用户了解当前使用的是哪一家的会员。
在第一方面的一种可能的实现方式中,若结算失败,所述方法还包括:
所述支付客户端设备接收支付服务器返回的结算失败通知;
所述支付客户端设备响应于所述结算失败通知,显示第八界面,所述第八界面包括用于提示用户是否继续使用与所述第二身份信息对应的结算价格类型进行结算的提示信息;
所述支付客户端设备响应于所述用户在所述第八界面的第十二操作,生成反馈信息,并将所述反馈信息发送至所述支付服务器,所述反馈信息用于指示所述支付服务器不使用与所述第二身份信息对应的结算价格类型进行结算。
在第一方面的一种可能的实现方式中,所述第二身份信息包括会员信息。
第二方面,本申请实施例提供一种支付方法,包括:
收银客户端设备获取待结算物品的物品信息,所述物品信息包括待结算物品的不同结算价格类型的价格信息;
所述收银客户端设备获取支付客户端设备显示的支付码的支付码信息,所述支付码信息包括第一身份信息和第二身份信息,所述第一身份信息用于表征用户的交易账户,所述第二身份信息用于表征用户的结算价格类型;
所述收银客户端设备生成包括所述第一身份信息、所述第二身份信息和所述物品信息的支付请求,并将所述支付请求发送至支付服务器,所述支付请求用于指示所述支付服务器根据所述第一身份信息、所述第二身份信息和所述物品信息进行结算。
应理解,收银客户端设备通过支付码识别模块扫描识别支付客户端设备显示的支付码,该支付码识别模块可以为收银客户端设备的内部模块,即支付码识别模块和收银客户端设备集成在一个设备内;也可以为收银客户端设备的外部模块,即支付码识别模块和收银客户端设备为两个独立的设备。
示例性地,支付码识别模块为与收银电脑连接的扫码枪,扫码枪扫描识别手机显示的支付二维码,将识别到的支付二维码信息传输至收银电脑。
在第二方面的一种可能的实现方式中,所述收银客户端设备获取待结算物品的物品信息,包括:
所述收银客户端设备获取所述待结算物品的唯一标识信息;
所述收银客户端设备根据所述唯一标识信息从收银服务器获取所述待结算物品的物品信息。
在第二方面的一种可能的实现方式中,所述收银客户端设备生成包括所述第一身份信息、所述第二身份信息和所述物品信息的支付请求,包括:
所述收银客户端设备解析所述支付码信息,获得所述第一身份信息和所述第二身份信息;
所述收银客户端设备根据所述第一身份信息、所述第二身份信息和所述物品信息,生成所述支付请求;
或者,
所述收银客户端设备根据所述支付码信息和所述物品信息生成所述支付请求。
第三方面,本申请实施例提供一种支付方法,包括:
支付服务器获取支付请求,所述支付请求包括第一身份信息、第二身份信息和物品信息,所述第一身份信息用于表征用户的交易账户,所述第二身份信息用于表征待结算物品的结算价格类型;
所述支付服务器根据所述第一身份信息、所述第二身份信息和所述物品信息进行结算。
在第三方面的一种可能的实现方式中,所述支付服务器根据所述第一身份信息、所述第二身份信息和所述物品信息进行结算,包括:
所述支付服务器校验所述第二身份信息是否合法和所述物品信息是否正确;
若所述第二身份信息合法且所述物品信息正确,从所述第一身份信息表征的交易账户中扣款。
在第三方面的一种可能的实现方式中,还包括:
若所述第二身份信息不合法,生成结算失败提示信息,并将所述结算失败提示信息返回至支付客户端设备。
第四方面,本申请实施例提供一种支付系统,包括支付客户端设备、支付服务器、收银客户端设备和收银服务器;
所述支付客户端设备用于获取用户的支付操作;响应于所述支付操作,生成包括第一身份信息和第二身份信息的支付码;显示所述支付码;所述第一身份信息用于表征所述用户的交易账户,所述第二身份信息用于表征待结算物品的结算价格类型;
所述收银客户端设备用于获取待结算物品的物品信息,所述物品信息包括待结算物品的不同结算价格类型的价格信息;获取所述支付客户端设备显示的支付码的支付码信息;生成包括所述第一身份信息、所述第二身份信息和所述物品信息的支付请求,并将所述支付请求发送至支付服务器;
所述支付服务器用于获取所述支付请求,所述第一身份信息用于表征用户的交易账户,所述第二身份信息用于表征待结算物品的结算价格类型;
所述支付服务器根据所述第一身份信息、所述第二身份信息和所述物品信息进行结算。
第五方面,本申请实施例提供一种支付客户端设备,包括存储器、处理器以及存储在所述存储器中并可在所述处理器上运行的计算机程序,所述处理器执行所述计算机程序时实现如上述第一方面任一项所述的方法。
第六方面,本申请实施例提供一种收银客户端设备,包括存储器、处理器以及存储在所述存储器中并可在所述处理器上运行的计算机程序,所述处理器执行所述计算机程序时实现如上述第二方面任一项所述的方法。
第七方面,本申请实施例提供一种支付服务器,包括存储器、处理器以及存储在所述存储器中并可在所述处理器上运行的计算机程序,所述处理器执行所述计算机程序时实现如上述第三方面任一项所述的方法。
第八方面,本申请实施例提供一种计算机可读存储介质,所述计算机可读存储介质存储有计算机程序,所述计算机程序被处理器执行时实现如上述第一方面或第二方面或第三方面任一项所述的方法。
第九方面,本申请实施例提供了一种计算机程序产品,当计算机程序产品在支付客户端设备、支付服务器或收银客户端设备上运行时,使得支付客户端设备、支付服务器或收银客户端设备上执行上述第一方面、第二方面或第三方面中任一项所述的支付方面方法。
可以理解的是,上述第二方面至第九方面的有益效果可以参见上述第一方面中的相关描述,在此不再赘述。
具体实施方式
以下描述中,为了说明而不是为了限定,提出了诸如特定系统结构、技术之类的具体细节,以便透彻理解本申请实施例。然而,本领域的技术人员应当清楚,在没有这些具体细节的其它实施例中也可以实现本申请。在其它情况中,省略对众所周知的系统、装置、电路以及方法的详细说明,以免不必要的细节妨碍本申请的描述。
应当理解,当在本申请说明书和所附权利要求书中使用时,术语“包括”指示所描述特征、整体、步骤、操作、元素和/或组件的存在,但并不排除一个或多个其它特征、整体、步骤、操作、元素、组件和/或其集合的存在或添加。
还应当理解,在本申请说明书和所附权利要求书中使用的术语“和/或”是指相关联列出的项中的一个或多个的任何组合以及所有可能组合,并且包括这些组合。
如在本申请说明书和所附权利要求书中所使用的那样,术语“如果”可以依据上下文被解释为“当...时”或“一旦”或“响应于确定”或“响应于检测到”。类似地,短语“如果确定”或“如果检测到[所描述条件或事件]”可以依据上下文被解释为意指“一旦确定”或“响应于确定”或“一旦检测到[所描述条件或事件]”或“响应于检测到[所描述条件或事件]”。
另外,在本申请说明书和所附权利要求书的描述中,术语“第一”、“第二”、“第三”等仅用于区分描述,而不能理解为指示或暗示相对重要性。
在本申请说明书中描述的参考“一个实施例”或“一些实施例”等意味着在本申请的一个或多个实施例中包括结合该实施例描述的特定特征、结构或特点。由此,在本说明书中的不同之处出现的语句“在一个实施例中”、“在一些实施例中”、“在其他一些实施例中”、“在另外一些实施例中”等不是必然都参考相同的实施例,而是意味着“一个或多个但不是所有的实施例”,除非是以其他方式另外特别强调。术语“包括”、“包含”、“具有”及它们的变形都意味着“包括但不限于”,除非是以其他方式另外特别强调。
本申请实施例提供的支付方案,通过将用户的交易账户信息和表征待结算物品的结算价格类型的身份信息进行融合,生成支付码。在结算流程中,用户只需要出示一次融合所生成的支付码,即可使用与用户身份信息对应的结算价格类型进行价格结算,简化了结算流程,提高了结算效率。
下面首先对本申请实施例涉及的系统架构进行介绍。
参见图1,为本申请实施例提供的支付系统的架构示意框图,该支付系统可以包括收银系统11和支付系统12,收银系统11包括收银客户端设备111和收银服务器112,支付系统包括支付客户端设备121和支付服务器122。收银客户端设备分别与收银服务器和支付服务器通信连接,收银服务器与支付服务器通信连接,支付客户端设备与支付服务器通信连接。
其中,收银客户端设备可以为但不限于桌上型电脑或笔记本电脑等终端设备,该收银客户端设备可以识别支付码,支付码可以为但不限于条件码或二维码等。一般情况下,收银客户端设备包括本地端设备和支付码识别设备,该支付码识别设备可以为但不限于扫码枪或扫码器。
应理解,收银客户端设备通过支付码识别模块扫描识别支付客户端设备显示的支付码,该支付码识别模块可以为收银客户端设备的内部模块,即支付码识别模块和收银客户端设备集成在一个设备内;也可以为收银客户端设备的外部模块,即支付码识别模块和收银客户端设备为两个独立的设备。
示例性地,支付码识别模块为与收银电脑连接的扫码枪,扫码枪扫描识别手机显示的支付二维码,将识别到的支付二维码信息传输至收银电脑。
支付客户端设备可以为但不限于手机、平板电脑、可穿戴设备、笔记本电脑、超级移动个人计算机(ultra-mobile personal computer,UMPC)、上网本或个人数字助理(personal digital assistant,PDA)等终端设备,在此不对支付客户端设备的具体类型作任何限制。
作为示例而非限定,当支付客户端设备为可穿戴设备时,该可穿戴设备具备用于显示条形码或二维码等机器可读码的显示单元,该显示单元一般为显示屏。例如,该支付客户端设备为具备显示屏的智能手环、智能手表或智能眼镜等。
作为示例而非限定,以支付客户端设备为手机为例,图2示出的是与本申请实施例提供的手机的部分结构的框图。参考图2,该手机可以包括:射频(Radio Frequency,RF)电路210、存储器220、输入单元230、显示单元240、传感器250、音频电路260、无线保真(wireless fidelity,WiFi)模块270、处理器280、以及电源290等部件。本领域技术人员可以理解,图2中示出的手机结构并不构成对手机的限定,可以包括比图示更多或更少的部件,或者组合某些部件,或者不同的部件布置。
下面结合图2对手机的各个构成部件进行具体的介绍:
RF电路210可用于收发信息或通话过程中,信号的接收和发送,特别地,将基站的下行信息接收后,给处理器280处理;另外,将设计上行的数据发送给基站。通常,RF电路包括但不限于天线、至少一个放大器、收发信机、耦合器、低噪声放大器(Low NoiseAmplifier,LNA)、双工器等。此外,RF电路110还可以通过无线通信与网络和其他设备通信。上述无线通信可以使用任一通信标准或协议,包括但不限于全球移动通讯系统(GlobalSystem of Mobile communication,GSM)、通用分组无线服务(General Packet RadioService,GPRS)、码分多址(Code Division Multiple Access,CDMA)、宽带码分多址(Wideband Code Division Multiple Access,WCDMA)、长期演进(Long Term Evolution,LTE))、电子邮件、短消息服务(Short Messaging Service,SMS)等。
存储器220可用于存储软件程序以及模块,处理器280通过运行存储在存储器220的软件程序以及模块,从而执行手机的各种功能应用以及数据处理。存储器220可主要包括存储程序区和存储数据区,其中,存储程序区可存储操作系统、至少一个功能所需的应用程序(比如声音播放功能、图像播放功能等)等;存储数据区可存储根据手机的使用所创建的数据(比如音频数据、电话本等)等。此外,存储器220可以包括高速随机存取存储器,还可以包括非易失性存储器,例如至少一个磁盘存储器件、闪存器件、或其他易失性固态存储器件。
输入单元230可用于接收输入的数字或字符信息,以及产生与手机200的用户设置以及功能控制有关的键信号输入。具体地,输入单元230可包括触控面板231以及其他输入设备232。触控面板231,也称为触摸屏,可收集用户在其上或附近的触摸操作(比如用户使用手指、触笔等任何适合的物体或附件在触控面板231上或在触控面板231附近的操作),并根据预先设定的程式驱动相应的连接装置。可选的,触控面板231可包括触摸检测装置和触摸控制器两个部分。其中,触摸检测装置检测用户的触摸方位,并检测触摸操作带来的信号,将信号传送给触摸控制器;触摸控制器从触摸检测装置上接收触摸信息,并将它转换成触点坐标,再送给处理器280,并能接收处理器280发来的命令并加以执行。此外,可以采用电阻式、电容式、红外线以及表面声波等多种类型实现触控面板231。除了触控面板231,输入单元230还可以包括其他输入设备232。具体地,其他输入设备232可以包括但不限于物理键盘、功能键(比如音量控制按键、开关按键等)、轨迹球、鼠标、操作杆等中的一种或多种。
显示单元240可用于显示由用户输入的信息或提供给用户的信息以及手机的各种菜单,在本申请实施例中,该显示单元用于显示融合生成的支付码。显示单元240可包括显示面板241,可选的,可以采用液晶显示器(Liquid Crystal Display,LCD)、有机发光二极管(Organic Light-Emitting Diode,OLED)等形式来配置显示面板241。进一步的,触控面板231可覆盖显示面板241,当触控面板231检测到在其上或附近的触摸操作后,传送给处理器280以确定触摸事件的类型,随后处理器280根据触摸事件的类型在显示面板241上提供相应的视觉输出。举例来说,当触控面板检测到用户的点击操作后,传送给处理器确定触摸事件为付款操作,随后,处理器则执行本申请实施例提供的支付方案,以将会员信息和用户的账户信息进行融合,生成一个支付码,并将该支付码显示在显示面板上。
虽然在图2中,触控面板231与显示面板241是作为两个独立的部件来实现手机的输入和输入功能,但是在某些实施例中,可以将触控面板231与显示面板241集成而实现手机的输入和输出功能。
手机200还可包括至少一种传感器250,比如光传感器、运动传感器以及其他传感器。具体地,光传感器可包括环境光传感器及接近传感器,其中,环境光传感器可根据环境光线的明暗来调节显示面板241的亮度,接近传感器可在手机移动到耳边时,关闭显示面板241和/或背光。作为运动传感器的一种,加速计传感器可检测各个方向上(一般为三轴)加速度的大小,静止时可检测出重力的大小及方向,可用于识别手机姿态的应用(比如横竖屏切换、相关游戏、磁力计姿态校准)、振动识别相关功能(比如计步器、敲击)等;至于手机还可配置的陀螺仪、气压计、湿度计、温度计、红外线传感器等其他传感器,在此不再赘述。
音频电路260、扬声器261,传声器262可提供用户与手机之间的音频接口。音频电路260可将接收到的音频数据转换后的电信号,传输到扬声器261,由扬声器161转换为声音信号输出;另一方面,传声器262将收集的声音信号转换为电信号,由音频电路260接收后转换为音频数据,再将音频数据输出处理器280处理后,经RF电路210以发送给比如另一手机,或者将音频数据输出至存储器220以便进一步处理。
WiFi属于短距离无线传输技术,手机通过WiFi模块270可以帮助用户收发电子邮件、浏览网页和访问流式媒体等,它为用户提供了无线的宽带互联网访问。虽然图2示出了WiFi模块270,但是可以理解的是,其并不属于手机200的必须构成,完全可以根据需要在不改变发明的本质的范围内而省略。
处理器280是手机的控制中心,利用各种接口和线路连接整个手机的各个部分,通过运行或执行存储在存储器220内的软件程序和/或模块,以及调用存储在存储器220内的数据,执行手机的各种功能和处理数据,从而对手机进行整体监控。可选的,处理器280可包括一个或多个处理单元;优选的,处理器180可集成应用处理器和调制解调处理器,其中,应用处理器主要处理操作系统、用户界面和应用程序等,调制解调处理器主要处理无线通信。可以理解的是,上述调制解调处理器也可以不集成到处理器280中。
手机200还包括给各个部件供电的电源290(比如电池),优选的,电源可以通过电源管理系统与处理器280逻辑相连,从而通过电源管理系统实现管理充电、放电、以及功耗管理等功能。
尽管未示出,手机200还可以包括摄像头。可选地,摄像头在手机200的上的位置可以为前置的,也可以为后置的,本申请实施例对此不作限定。
可选地,手机200可以包括单摄像头、双摄像头或三摄像头等,本申请实施例对此不作限定。例如,手机200可以包括三摄像头,其中,一个为主摄像头、一个为广角摄像头、一个为长焦摄像头。
可选地,当手机200包括多个摄像头时,这多个摄像头可以全部前置,或者全部后置,或者一部分前置、另一部分后置,本申请实施例对此不作限定。
另外,尽管未示出,手机200还可以包括蓝牙模块等,在此不再赘述。
在介绍完手机的硬件组成之后,下面将对手机200的软件结构进行介绍。
图3是本申请实施例的手机200的软件结构示意图。以手机200操作系统为Android系统为例,在一些实施例中,将Android系统分为四层,分别为应用程序层、应用程序框架层(framework,FWK)、系统层以及硬件抽象层,层与层之间通过软件接口通信。
如图3所示,所述应用程序层可以一系列应用程序包,应用程序包可以包括短信息,日历,相机,视频,导航,图库,通话等应用程序。
应用程序框架层为应用程序层的应用程序提供应用编程接口(applicationprogramming interface,API)和编程框架。应用程序框架层可以包括一些预先定义的函数,例如用于接收应用程序框架层所发送的事件的函数。
如图3所示,应用程序框架层可以包括窗口管理器、资源管理器以及通知管理器等。
窗口管理器用于管理窗口程序。窗口管理器可以获取显示屏大小,判断是否有状态栏,锁定屏幕,截取屏幕等。内容提供器用来存放和获取数据,并使这些数据可以被应用程序访问。所述数据可以包括视频,图像,音频,拨打和接听的电话,浏览历史和书签,电话簿等。
资源管理器为应用程序提供各种资源,比如本地化字符串,图标,图片,布局文件,视频文件等等。
通知管理器使应用程序可以在状态栏中显示通知信息,可以用于传达告知类型的消息,可以短暂停留后自动消失,无需用户交互。比如通知管理器被用于告知下载完成,消息提醒等。通知管理器还可以是以图表或者滚动条文本形式出现在系统顶部状态栏的通知,例如后台运行的应用程序的通知,还可以是以对话窗口形式出现在屏幕上的通知。例如在状态栏提示文本信息,发出提示音,电子设备振动,指示灯闪烁等。
应用程序框架层还可以包括:
视图系统,所述视图系统包括可视控件,例如显示文字的控件,显示图片的控件等。视图系统可用于构建应用程序。显示界面可以由一个或多个视图组成的。例如,包括短信通知图标的显示界面,可以包括显示文字的视图以及显示图片的视图。
电话管理器用于提供手机200的通信功能。例如通话状态的管理(包括接通,挂断等)。
系统层可以包括多个功能模块。例如:传感器服务模块,物理状态识别模块,三维图形处理库(例如:OpenGL ES)等。
传感器服务模块,用于对硬件层各类传感器上传的传感器数据进行监测,确定手机200的物理状态;
物理状态识别模块,用于对用户手势、人脸等进行分析和识别;
三维图形处理库用于实现三维图形绘图,图像渲染,合成,和图层处理等。
系统层还可以包括:
表面管理器用于对显示子系统进行管理,并且为多个应用程序提供了2D和3D图层的融合。
媒体库支持多种常用的音频,视频格式回放和录制,以及静态图像文件等。媒体库可以支持多种音视频编码格式,例如:MPEG4,H.264,MP3,AAC,AMR,JPG,PNG等。
硬件抽象层是硬件和软件之间的层。硬件抽象层可以包括显示驱动,摄像头驱动,传感器驱动等,用于驱动硬件层的相关硬件,如显示屏、摄像头、传感器等。
图1示出的支付系统的工作流程可以具体如下:
首先,收银客户端设备通过扫描待结算物品上的商品条码以获取待结算物品的唯一标识信息;收银客户端设备再根据唯一标识信息从收银服务器中获取各个待结算物品的物品信息,该物品信息包括不同结算价格类型的结算价格;然后,收银客户端设备生成不同结算价格类型的结算价格清单,例如,当结算价格类型包括会员价和非会员价时,则生成两份物品结算价格清单,一份为会员价的清单,另一份为非会员价的清单;
接着,用户在支付客户端设备上进行支付操作,支付客户端设备将表征待结算物品的结算价格类型的身份信息和用户的交易账户信息进行融合,生成一个支付码,并显示支付码。
收银客户端设备通过支付码识别设备识别支付码的码值信息,再根据码值信息和结算价格清单等信息生成支付请求,并将该支付请求发送至支付服务器。支付服务器获取到该支付请求之后,通过和收银服务器进行交互,校验用户的身份信息是否合法,结算价格是否正确,如果用户的身份信息合法,结算价格正确,则进行结算。结算成功后,支付服务器向收银客户端设备和支付客户端设备返回支付成功通知。
在介绍完本申请实施例涉及的系统架构之后,下面将对支付系统中各个设备的相关流程进行分别介绍。
下面将先介绍支付客户端设备侧的相关流程。
参见图4,为本申请实施例提供的支付客户端设备侧的相关流程示意框图,其包括以下步骤:
步骤S401、支付客户端设备获取用户的支付操作。
步骤S402、支付客户端设备响应于支付操作,生成包括第一身份信息和第二身份信息的支付码。
其中,第一身份信息用于表征用户的交易账户,即通过第一身份信息可以确定用户用于结算扣款的交易账户信息。第二身份信息用于表征待结算物品的结算价格类型。即通过第二身份信息与物品的结算价格类型具有对应关系,也即通过第二身份信息可以确定出某一个物品相对于该用户的结算价格类型。例如,第二身份信息包括会员身份和非会员身份,会员身份对应的结算价格类型是会员价,非会员身份对应的结算价格类型是非会员价。
第二身份信息可以是预先存储在支付客户端设备的,即预先将第二身份信息录入支付客户端设备;也可以不是预先存储在支付客户端设备的。
第一身份信息和第二身份信息实际为一串字符串,将第一身份信息对应的字符串和第二身份信息对应的字符串进行组合,得到一个新的字符串,根据这个新的字符串生成一个支付码,该支付码包括第一身份信息和第二身份信息。
当支付码为支付二维码时,支付二维码实际上是一个链接URL字符串,可以在链接URL中增加一个参数,所增加的参数用于存储第二身份信息。此时,第二身份信息可以为一个JSON对象字符串,该JSON对象字符串可以包括两个字段,一个字段用于存储第二身份信息对应的身份卡号,另一个字段用于存储扩展信息。该扩展信息可以包括但不限于个人信息、ID信息和等级等信息。扩展信息可以用于辅助校验,即当携带该支付二维码信息的支付请求发送到支付服务器之后,支付服务器可以根据第二身份信息的身份卡号进行身份校验。进一步地,还可以使用扩展信息进行辅助校验,以提高第二身份信息的校验准确率。
需要说明的是,上述用户的支付操作包括至少一个用户操作,即用户可能通过一个用户操作即可生成支付码;也可能通过多个用户操作才能生成支付码。用户操作例如为“点击”、“选择”或“输入”等。
在一些实施例中,支付客户端设备响应于第五操作,自动选取符合预设条件的第二身份信息,支付客户端设备根据符合预设条件的第二身份信息和第一身份信息生成支付码。上述支付操作包括第五操作。
具体地,上述第五操作为“点击”操作,即用户可以通过一次“点击”操作即可生成支付码。参见图5示出的用户操作界面示意图,其具体流程可以为:用户打开支付应用界面,该支付应用界面包括“扫一扫”、“付款”、“卡包”等;用户点击“付款”之后,直接进入到“向商家付款”的界面,在该界面内显示有将第一身份信息和第二身份信息进行融合生成的支付码。在此过程中,支付客户端设备响应于该点击操作,读取预先存储的第二身份信息,根据第一身份信息和第二身份信息生成支付码。
在这种情况下,第二身份信息是预先录入到支付客户端设备的,且用户预先设置默认选择第二身份信息进行支付。用户可以预先设置一张默认的第二身份信息的身份卡,读取默认的第二身份信息用于生成支付码。当然,用户也可以不设置默认的第二身份信息,而是支付客户端设备根据设定的预设条件自动选取对应的第二身份信息。
预设条件可以具体为:选取使用频次最高的第二身份信息。换句话说,从存储的多个第二身份信息中选取使用频次最多的一个第二身份信息和第一身份信息进行融合,以生成支付码。
举例来说,上述第二身份信息为会员信息,支付客户端设备内存储有3张会员卡信息,使用频次分别为10次、5次和1次。选取使用频次为10次的会员卡信息和用户的交易账户信息进行融合,生成支付二维码。
预设条件也可以具体为:选取使用时间最近的第二身份信息。换句话说,从存储的多个第二身份信息中选取最后一次使用时间离当前时间最近的一个第二身份信息和第一身份信息进行融合,以生成支付码。
举例来说,上述第二身份信息为会员信息,支付客户端设备内存储有3张会员卡信息,这三张会员卡的最后一次使用时间分别为昨天晚上9点、一周前和一个月前。选取最后一次使用时间为昨天晚上9点的会员卡信息和用户的交易账户信息进行融合,生成支付二维码。
预设条件还可以具体为:选取地理位置最近的第二身份信息。换句话说,从存储的多个第二身份信息中选取离当前位置最近的第二身份信息和第一身份信息进行融合,以生成支付码。其中,当前位置是用户终端设备的当前所称位置。
举例来说,上述第二身份信息为会员信息,支付客户端设备内存储有3张会员卡信息,这三张会员卡的地理位置距离分别为20m、100m和1000m。选取20m对应的会员卡信息和用户的交易账户进行融合,生成支付二维码。
实际应用中可以将上文列举的预设条件进行任意组合。例如,当使用频次最多的第二身份信息存在至少两个时,可以根据地理位置的远近选择最近的第二身份信息和第一身份信息进行融合。
当然,预设条件不仅仅限于上文提及的任意一种或任意组合,此处不对选取规则作任何限制。
在另一些实施例中,在用户点击付款之后,提示用户是否使用特定身份信息进行支付,如果用户选择是,则自动生成融合了第一身份信息和第二身份信息的支付码。此时,上述用户的支付操作包括两次“点击”操作。
参见图6示出的会员支付流程的界面示意图,用户在某个支付应用的界面点击“付款”之后,则弹出对话框,该对话框提示用户是否选择会员支付;用户如果点击“是”,自动生成融合了会员卡信息和用户的交易账户信息的支付码。
需要说明的是,用户选择使用特定身份进行支付之后,支付客户端设备自动生成融合的支付码的过程与上文图5对应的过程相同,即可以预先设定一个默认的第二身份信息,也可以根据预设条件自动选取一个第二身份信息,相关介绍在此不再赘述。
根据设定的预设条件自动选取第二身份信息时,如果同一种情况出现多个的情况,可以自动显示多个第二身份信息供用户选择。换句话说,符合预设条件的第二身份信息有至少两个时,支付客户端设备显示第三界面,第三界面用于显示所有符合预设条件的第二身份信息;支付客户端设备获取用户的选择操作;支付客户端设备响应选择操作,从多个符合预设条件的第二身份信息中确定目标身份信息;目标身份信息为用于生成支付码的第二身份信息。
例如,参见图7示出的会员支付流程的另一种界面示意图,用户点击“付款”之后,弹出对话框,提示用户是否选择会员支付,如果用户选择“是”,且检测到地理位置距离最近的会员卡存在多个,此时,则弹出对话框界面(第三界面),提示用户选择会员卡进行付款,同时,对话框界面上显示地理位置距离为20m的所有会员卡。用户可以点击相应会员卡后面的“付款”(选择操作),从而生成融合了会员卡信息和用户的交易账户信息的支付码。
在又一些实施例中,用户也可以自己选择第二身份信息,将用户选择的第二身份信息和第一身份信息进行融合,生成支付码。换句话说,支付客户端设备响应于第三操作,显示第二界面,第二界面用于显示至少一个第二身份信息;支付客户端设备响应于用户在第二界面的第四操作,从至少一个第二身份信息中获取目标身份信息,第四操作用于指定目标身份信息;支付客户端设备根据目标身份信息和第一身份信息,生成支付码;支付操作包括第三操作和第四操作。
例如,参见图8示出的会员支付流程的又一种界面示意图,用户点击“付款”(第三操作)之后,弹出对话框界面,提示用户是否选择会员支付,如果用户点击“是”,则进入到卡包界面(第二界面),并在卡包界面上显示所有已存储的会员卡信息,多个会员卡可以按照使用频次高低进行显示,也可以按照地理位置远近进行显示,亦或者是按照其它方式进行显示。用户可以根据需要选取一个会员进行付款,用户点击相应会员卡的“付款”(第四操作)之后,手机自动将用户所选择的会员卡信息和用户的交易账户信息进行融合,生成并显示支付码。
当然,如果卡包界面内没有所需要的会员卡,用户还可以点击卡包界面的“新增”,进入到会员卡信息编辑界面,录入相应的会员卡信息,点击保存后,返回到该卡包界面,然后用户点击新录入的会员卡的“付款”即可自动生成融合了会员卡信息和交易账户信息的支付码。
在又一些实施例中,用户可以动态录入第二身份信息,支付客户端设备将录入的第二身份信息和第一身份信息进行融合,生成支付码。换句话说,支付客户端设备响应于第一操作,显示第一界面,第一界面包括第二身份信息输入区域;支付客户端设备响应于用户在第一界面的第二身份信息输入区域的第二操作,获得第二身份信息;支付客户端设备根据第二身份信息和第一身份信息,生成支付码;支付操作包括第一操作和第二操作。
例如,参见图9示出的会员支付流程的又一种界面示意图,用户在支付应用界面点击“付款”(第一操作)之后,弹出对话框界面,以提示用户是否选择会员支付,如果用户点击“是”,则弹出对话框界面(第一界面),以提示用户输入会员卡信息,用户在输入框输入相应的卡号之后,点击“确定”(第二操作),手机自动将用户输入的会员卡信息和交易账户信息进行融合,生成并显示支付码。
在又一些实施例中,用户可以根据需要选择是录入第二身份信息,还是从已存储的第二身份信息中进行选取。支付客户端设备响应于第六操作,显示第四界面,第四界面包括用于提示用户是否选择与第二身份信息对应的结算价格类型进行支付的提示信息;支付客户端设备响应于用户在第四界面的第七操作,显示第五界面,第五界面包括用于提示用户选取第二身份信息获取方式的提示信息;支付客户端设备响应于用户在第五界面的第八操作,显示第六界面,第六界面包括第二身份信息输入区域,第八操作用于指示第二身份信息获取方式为录入;支付客户端设备响应于用户在第六界面的输入区域的第九操作,获得第二身份信息;支付客户端设备根据第二身份信息和第一身份信息,生成支付码;支付操作包括第六操作、第七操作、第八操作和第九操作;
或者,
支付客户端设备响应于用户在第五界面的第十操作,显示第七界面,第七界面用于显示至少一个第二身份信息;第十操作用于指示第二身份信息获取方式为选取;支付客户端设备响应在第七界面的第十一操作,从至少一个第二身份信息中获取目标身份信息,第十一操作用于指定目标身份信息;支付客户端设备根据目标身份信息和第一身份信息,生成支付码;支付操作包括第六操作、第七操作、第十操作和第十一操作。
例如,参见图10示出的会员支付流程的又一种界面示意图,用户点击“付款”(第六操作)之后,弹出用于提示用户是否选择会员支付的对话框界面(第四界面);用户如果点击“是”(第七操作),则弹出用于提示用户选择哪种方式获取第二身份信息的对话框界面(第五界面),在该对话框界面,显示有“录入”、“卡包”和“退出”选项,“录入”是指用户手动录入会员卡信息,“卡包”是指从已存储的多个会员卡中选一个会员卡;用户如果点击“录入”(第八操作)则弹出会员卡录入对话框界面(第六界面),用户在相应输入框录入会员卡号之后,点击“确定”(第九操作),手机则自动将录入的会员卡信息和用户的交易账户信息进行融合,生成并显示支付码;用户如果点击“卡包”(第十操作),则进入到卡包界面(第七界面),该卡包界面显示有已存储的所有会员卡信息,用户根据需要选取其中一个会员卡,并点击相应会员卡的“付款”(第十一操作),手机则将用户选择的会员卡信息和用户的交易账户信息进行融合,生成并显示支付码,此时,如果卡包界面内没有用户所需的会员卡,用户可以点击卡包界面中“新增”,手机显示会员卡编辑界面,用户在该界面输入相应的会员卡信息之后,点击“保存”后,返回卡包界面,用户即可选择所需要的会员卡进行支付。
上文列举了支付客户端设备响应于用户的支付操作,生成包括第一身份信息和第二身份信息的支付码的几种情况,具体应用中,生成融合支付码的过程还可以为其它,并不仅仅限于上文提及的任意一种或任意组合。
需要说明额是,通过将表征用户的交易账户信息和表征待结算物品的结算价格类型的第二身份信息进行融合,生成包括第一身份信息和第二身份信息的支付码,这样当需要使用第二身份信息对应的结算价格类型进行结算时,只需要用户出示一次支付码,即只需要与用户交互一次,简化了结算流程,提高了结算效率。
步骤S403、支付客户端设备显示支付码。
支付客户端设备响应于用户的支付操作,生成融合了第一身份信息和第二身份信息的支付码之后,支付客户端设备则在付款界面显示该支付码。在一些实施例中,为了让用户直观地了解当前所使用的第二身份信息,可以在支付码显示界面的相应区域显示第二身份信息。例如,参见图11示出的支付码显示界面示意图,在付款界面除了显示支付码之外,还在支付码显示区域的下方显示了“XX超市会员”,其中,“XX超市会员”是指当前支付码是融合了“XX超市”的会员卡信息和用户的交易账户信息的支付码。
支付客户端设备显示支付码之后,收银客户端设备可以扫码该支付码,并根据该支付码和结算价格等生成支付请求,将该支付请求发送至支付服务器,支付服务器进行结算,如果结算成功,则返回支付成功通知给支付客户端设备。如果结算失败,支付服务器可以返回一个支付失败通知给支付客户端设备,此外,支付服务器还可以返回一个提示信息给支付客户端设备,该提示信息用于提示用户是否还选择使用第二身份信息进行支付(第八界面),如果用户选择“是”,则重新获取用户的支付操作,重新生成支付码。如果用户选择“否”(第十二操作),支付服务器则直接根据之前支付码携带的用户账户信息进行结算。
在介绍完支付客户端设备侧的相关流程之后,下面将对收银客户端设备侧的相关流程进行介绍。
参见图12,为本申请实施例提供的收银客户端设备侧的相关流程示意框图,该流程可以包括以下步骤:
步骤S1201、收银客户端设备获取待结算物品的唯一标识信息。
步骤S1202、收银客户端设备根据唯一标识信息从收银服务器获取待结算物品的物品信息。
需要说明的是,上述唯一标识信息可以为待结算物品的条形码信息,通过该条形码信息可以从收银服务器上查找到待结算物品的物品信息,该物品信息可以包括但不限于商品名称和不同结算价格类型的商品价格。其中,收银服务器上存储有待结算物品的相关信息。
举例来说,待结算物品包括一支笔、一瓶饮料和一个杯子,其中,笔的商品条码为“690123xx67891”,饮料的商品条码为“690123xx67893”,杯子的商品条码为“690123xx67898”,收银员依次使用扫描枪扫描商品条码,扫描枪将识别出的商品条码信息传输至收银电脑,收银电脑根据商品条码“690123xx67891”从收银服务器获取到的物品信息为“编号12,商品名称:中性笔,会员价4元,非会员价5元,同理,根据饮料和杯子的商品条码从收银服务器获取到的物品信息为“编号13,xx饮料,会员价3元,非会员价4元”,“编号15,中号杯,会员价8元,非会员价10元。
步骤S1203、收银客户端设备根据物品信息生成待结算物品的结算价格清单,其中,结算价格清单包括不同结算价格类型的价格清单。
具体地,收银客户端设备获取到待结算物品的物品信息之后,则可以根据结算价格分别生成不同结算价格类型的结算价格清单。例如,结算价格类型包括会员价和非会员时,则生成的结算价格清单包括两份,一份为会员价的结算价格清单,另一份为非会员价的结算价格清单。
举例来说,待结算物品的物品信息为:中性笔,会员价4元,非会员价5元;xx饮料,会员价3元,非会员价4元;中号杯,会员价10元,非会员价10元。生成的会员价的结算价格清单为:中性笔4元,xx饮料3元,中号杯10元。生成的非会员价的结算价格清单为:中性笔5元,xx饮料4元,中号杯10元。
步骤S1204、收银客户端设备识别支付客户端设备显示的支付码,获得支付码信息。
需要说明的是,支付客户端设备显示的支付码包括第一身份信息和第二身份信息,支付客户端设备融合生成支付码的相关过程可以参见上文相应内容,在此不再赘述。
具体应用中,收银客户端设备可以通过支付码识别设备扫描支付客户端设备显示的支付码,识别获取支付码的码值信息。
步骤S1205、收银客户端设备根据支付码信息和结算价格清单生成支付请求,并将该支付请求发送至支付服务器。
在一些实施例中,收银客户端设备可以对支付码信息进行解密,解析支付码信息中的第二身份信息和第一身份信息,将解析出的第二身份信息和第一身份信息、结算价格请求携带在支付请求中。支付服务器接收到该支付请求之后,与收银服务器进行交互,验证第二身份信息和结算价格清单是否正确,如果正确,支付服务器则根据第一身份信息和对应的结算价格类型进行结算。
在另一些实施例中,收银客户端设备可以不对支付码信息进行解密,而是将扫描得到的支付码信息和结算价格清单信息携带在支付请求中。支付服务器结算到该支付请求之后,对支付码信息进行解密,获得支付码信息中的第一身份信息和第二身份信息,再与收银服务器进行交互,验证第二身份信息和结算价格清单是否正确,如果正确,支付服务器则根据第一身份信息和对应的结算价格类型进行结算。
步骤S1206、收银客户端设备接收支付服务器返回的支付成功通知之后,上传结算明细至收银服务器。
具体应用中,支付服务器根据支付请求进行结算之后,如果结算成功,支付服务器返回结算成功通知至收银客户端设备,收银客户端设备则将当次结算的明细信息上传至收银服务器进行保存,该结算明细可以包括但不限于结算时间、结算价格类型、结算价格和物品信息等。
在介绍完收银客户端设备侧的相关流程之后,下面将对支付服务器侧的相关流程进行介绍。
参见图13,为本申请实施例提供的支付服务器侧相关流程的示意图,其包括:
步骤S1301、支付服务器接收收银客户端设备发送的支付请求。该支付请求携带有第一身份信息、第二身份信息和结算价格清单信息,或者,携带有支付码信息和结算价格清单信息。
步骤S1302、支付服务器与收银服务器进行交互,验证第二身份信息和结算价格是否正确。
在一些实施例中,当支付请求携带有第一身份信息、第二身份信息和结算价格清单信息时,支付服务器与收银服务器进行交互,验证第二身份信息是否合法,结算价格清单信息中的各物品的结算价格是否正确,如果第二身份信息合法,且结算价格正确,则根据第二身份信息对应的结算价格类型进行结算。
在另一些实施例中,当支付请求携带有支付码信息和结算价格清单信息时,支付服务器首先对支付码信息进行解析,获得支付码信息中的第一身份信息和第二身份信息,然后再与收银服务器进行交互,验证第二身份信息和结算价格,如果验证通过,则根据第二身份信息对应的结算价格类型进行结算。
支付服务器与收银服务器进行交互,验证第二身份信息和结算价格的过程可以具体包括:支付服务器发送第二身份信息和结算价格清单信息至收银服务器,收银服务器在预先存储的身份信息中查找,确定是否有与第二身份信息一致的身份信息,如果有,则第二身份信息合法;收银服务器分别校验结算价格清单信息中不同结算价格类型的价格与本地存储的物品价格是否相同,如果相同,则结算价格清单信息中的结算价格正确。校验完成后,收银服务器返回校验结果至支付服务器,支付服务器根据校验结果即可得知第二身份信息是否合法,结算价格是否正确。
当然,也可以具体包括:支付服务器从收银服务器中获取预先存储的身份信息和价格信息,在支付服务器本地分别比对第二身份信息和价格信息是否一致,如果一致,第二身份信息和结算价格正确,反之,不正确。
步骤S1303、如果正确,支付服务器则使用与第二身份信息对应的结算价格类型进行结算,并在结算成功后,向支付客户端设备和收银客户端设备返回结算成功通知。
举例来说,第二身份信息为会员身份,第一身份信息表征用户的交易账户。结算价格类型包括会员价和非会员价,结算清单信息中包括两份价格清单,一份为会员价的价格清单,一份为非会员价的价格清单,此时,会员价的结算价格清单为:中性笔4元,xx饮料3元,中号杯10元。非会员价的结算价格清单为:中性笔5元,xx饮料4元,中号杯10元。支付服务器校验用户的会员身份为合法,且各个待结算物品的会员价和非会员价均正确,则使用会员价进行结算。支付服务器计算出待结算物品的总价为4+3+10=17元,接着从用户的交易账户信息中扣款17元,并发送结算成功通知至收银客户端设备和支付客户端设备。
步骤S1304、如果不正确,支付服务器向收银客户端设备返回结算失败通知,向支付客户端设备返回结算识别通知和提示信息,该提示信息用于指示用户是否继续使用第二身份信息对应的结算价格类型进行支付。
步骤S1305、支付服务器获取支付客户端设备的反馈信息,如果反馈信息指示不继续使用第二身份信息对应的结算价格类型进行结算,则根据非第二身份信息对应的结算价格类型进行结算。
举例来说,第二身份信息为会员身份,第一身份信息表征用户的交易账户。结算价格类型包括会员价和非会员价,结算清单信息中包括两份价格清单,一份为会员价的价格清单,一份为非会员价的价格清单。此时,会员价的结算价格清单为:中性笔4元,xx饮料3元,中号杯10元。非会员价的结算价格清单为:中性笔5元,xx饮料4元,中号杯10元。支付服务器校验用户的会员身份为不合法,各个待结算物品的会员价和非会员价均正确,支付服务器向支付客户端设备返回结算失败通知和提示信息,该提示信息用于提示用户是否继续使用会员支付。支付服务器获取支付客户端设备的反馈信息,如果该反馈信息为不继续使用会员支付,支付服务器则使用非会员价进行结算,即支付服务器计算出待结算物品的总价为5+4+10=19元,接着从用户的交易账户信息中扣款19元,并发送结算成功通知至收银客户端设备和支付客户端设备。如果反馈信息为继续使用会员支付时,则需要用户重新生成支付码,收银客户端设备重新获取支付码,重新上传支付请求。
在介绍完成支付系统各侧的相关流程之后,下面将对支付系统的交互流程进行介绍。
参见图14,为本申请实施例提供的支付系统的交互流程示意框图进行介绍,该支付系统的交互流程可以具体如下:
步骤S1401、收银客户端设备获取待结算物品的唯一标识信息。
步骤S1402、收银客户端设备根据唯一标识信息从收银服务器获取待结算物品的物品信息。
步骤S1403、收银客户端设备根据物品信息生成待结算物品的结算价格清单,其中,结算价格清单包括不同结算价格类型的价格清单。
步骤S1404、支付客户端设备获取用户的支付操作。
步骤S1405、支付客户端设备响应于支付操作,生成包括第一身份信息和第二身份信息的支付码。其中,第一身份信息用于表征用户的交易账户,第二身份信息用于表征待结算物品的结算价格类型。
步骤S1406、支付客户端设备显示支付码。
需要说明的是,步骤S1404~S1406为生成支付码的过程,其与步骤S1401~S1403可同时执行,也可以先后执行,在此不对两者的执行顺序作限制。也就是说,用户可以在扫描商品条码信息之前,先进行相应的支付操作,以生成上述支付码;也可以在扫描商品条码信息之后,用户再进行相应的支付操作,以生成支付码。当然,扫描商品条码信息和生成支付码也可以同时进行。
步骤S1407、收银客户端设备识别支付客户端设备显示的支付码,获得支付码信息。
步骤S1408、收银客户端设备根据支付码信息和结算价格清单信息生成支付请求。
在一些实施例中,收银客户端设备可以对支付码信息进行解析,获得第一身份信息和第二身份信息,然后再生成携带有第一身份信息、第二身份信息和结算价格清单信息的支付请求。而在另一些实施例中,收银客户端设备也可以不对支付码信息进行解析,而是生成携带有支付码信息和结算价格清单信息的支付请求,由服务器对支付码信息进行解析,以获得第一身份信息和第二身份信息。
步骤S1409、收银客户端设备将支付请求发送至支付服务器。
步骤S1410、支付服务器与收银服务器进行交互,校验支付请求携带的结算价格信息是否正确,校验支付请求携带的第二用户身份信息是否合法。
步骤S1411、如果结算价格正确且第二用户身份合法,支付服务器根据第二身份信息对应的结算价格类型进行结算。
步骤S1412、结算成功之后,支付服务器返回结算成功通知至收银客户端设备和支付客户端设备。
步骤S1413、如果结算价格不正确和/或第二用户身份不合法,支付服务器返回结算失败通知至收银客户端设备,返回结算失败通知和提示信息至支付客户端设备。该提示信息用于提示用户是否继续使用与第二身份信息对应的结算价格类型进行结算。
步骤S1414、支付服务器接收支付客户端设备的反馈信息。
步骤S1415、如果该反馈信息为不继续使用与第二身份信息对应的结算价格类型进行结算,支付服务器则使用非第二身份信息对应的结算价格类型进行结算。
需要说明的是,该交互流程中与上文的相同之处,可参加上文的相应内容,在此不再赘述。
一般情况下,表征待结算物品的结算价格类型的第二身份信息包括会员身份和非会员身份,结算价格类型包括会员身份对应的会员价和非会员身份对应的非会员价。下面将以第二身份信息包括会员和非会员,结算价格类型包括会员价和非会员价,支付客户端设备为手机,收银客户端设备包括收银机和扫码枪为例介绍本申请实施例提供的技术方案。
参见图15,为支付系统的另一种交互示意图,该支付系统包括手机、收银机、扫码枪、收银服务器和支付服务器。手机上安装有支付客户端,收银机上安装有收银客户端。该交互流程可以包括:
步骤S1501、收银机接收扫码枪传输的商品条码。
步骤S1502、收银机根据该商品条码从收银服务器获取商品信息,该商品信息包括商品价格信息,商品价格信息包括会员价和非会员价。
步骤S1503、收银机根据商品信息生成商品的会员价清单和非会员价清单。
步骤S1504、手机响应于用户点击“付款”的操作,显示第一界面,该第一界面包括用于提示用户是否使用会员支付的提示信息。
步骤S1505、手机响应于用户点击第一界面中“是”按钮的操作,显示第二界面,该第二界面包括用于提示用户选取会员卡身份信息的获取方式的提示信息。
步骤S1506、手机响应于用户点击第二界面中的“录入”按钮的操作,显示第三界面,该第三界面包括提示用户输入会员卡信息的提示信息。
步骤S1507、手机响应于用户点击第三界面中的“确定”按钮的操作,获取用户输入的会员卡信息,并根据该会员卡信息和用户的交易账户信息生成支付二维码。
步骤S1508、手机显示融合了会员卡信息和交易账户信息的支付二维码。
需要说明的是,步骤S1504~S1508的界面示意图可以参加图10。
步骤S1509、收银机接收扫码枪扫描识别的支付二维码。
步骤S1510、收银机解析支付二维码,获得会员卡信息和交易账户信息。
步骤S1511、收银机生成携带有会员卡信息、交易账户信息、会员价清单和非会员价清单的支付请求。
步骤S1512、收银机发送该支付请求至支付服务器。
步骤S1513、支付服务器与收银服务器交互,校验会员价清单、非会员价清单和会员卡信息是否正确。
步骤S1514、如果均正确,支付服务器使用会员价清单中的结算价格进行结算。
可以理解的是,结算成功之后,支付服务器返回支付成功通知至收银机和手机。如果结算失败,返回提示信息至手机,提示用户是否继续使用会员支付,用户如果继续使用会员支付,则返回步骤S1504。用户如果使用非会员支付,则根据非会员价清单中的结算价格进行结算。
需要说明的是,现有技术中,如果需要使用会员支付,则需要用户先出示会员卡信息,再出示付款码,这样,需要用户交互两次,十分繁琐,效率低下。而本申请实施例中,将会员信息和付款码(即用户的交易账户信息)进行融合,生成一个包括会员信息和交易账户信息的支付码,这样,用户只需出示一个支付码,即可实现会员支付,即只需要与用户交互一次,简化了结算流程,提高了结算效率。
应理解,上述实施例中各步骤的序号的大小并不意味着执行顺序的先后,各过程的执行顺序应以其功能和内在逻辑确定,而不应对本申请实施例的实施过程构成任何限定。
图16为本申请一实施例提供的支付客户端设备的结构示意图。如图16所示,该实施例的支付客户端设备16包括:至少一个处理器160、存储器161以及存储在所述存储器161中并可在所述至少一个处理器160上运行的计算机程序162,所述处理器160执行所述计算机程序162时实现上述任意各个支付客户端设备侧的方法实施例中的步骤。
所述支付客户端设备16可以是手机和智能穿戴设备等计算设备。该支付客户端设备可包括,但不仅限于,处理器160、存储器161。本领域技术人员可以理解,图16仅仅是支付客户端设备16的举例,并不构成对支付客户端设备16的限定,可以包括比图示更多或更少的部件,或者组合某些部件,或者不同的部件,例如还可以包括输入输出设备、网络接入设备、显示单元等。
所称处理器160可以是中央处理单元(Central Processing Unit,CPU),该处理器160还可以是其他通用处理器、数字信号处理器(Digital Signal Processor,DSP)、专用集成电路(Application Specific Integrated Circuit,ASIC)、现成可编程门阵列(Field-Programmable Gate Array,FPGA)或者其他可编程逻辑器件、分立门或者晶体管逻辑器件、分立硬件组件等。通用处理器可以是微处理器或者该处理器也可以是任何常规的处理器等。
所述存储器161在一些实施例中可以是所述支付客户端设备16的内部存储单元,例如支付客户端设备16的硬盘或内存。所述存储器161在另一些实施例中也可以是所述支付客户端设备16的外部存储设备,例如所述支付客户端设备16上配备的插接式硬盘,智能存储卡(Smart Media Card,SMC),安全数字(Secure Digital,SD)卡,闪存卡(Flash Card)等。进一步地,所述存储器161还可以既包括所述支付客户端设备16的内部存储单元也包括外部存储设备。所述存储器161用于存储操作系统、应用程序、引导装载程序(BootLoader)、数据以及其他程序等,例如所述计算机程序的程序代码等。所述存储器161还可以用于暂时地存储已经输出或者将要输出的数据。
图17为本申请一实施例提供的收银客户端设备的结构示意图。如图17所示,该实施例的收银客户端设备17包括:至少一个处理器170、存储器171以及存储在所述存储器171中并可在所述至少一个处理器170上运行的计算机程序172,所述处理器170执行所述计算机程序172时实现上述任意各个收银客户端设备侧的方法实施例中的步骤。
所述收银客户端设备17可以是桌上型计算机、笔记本、掌上电脑及云端服务器等计算设备。该收银客户端设备可包括,但不仅限于,处理器170、存储器171。本领域技术人员可以理解,图17仅仅是收银客户端设备17的举例,并不构成对收银客户端设备17的限定,可以包括比图示更多或更少的部件,或者组合某些部件,或者不同的部件,例如还可以包括输入输出设备、网络接入设备、显示单元等。
所称处理器170可以是中央处理单元(Central Processing Unit,CPU),该处理器170还可以是其他通用处理器、数字信号处理器(Digital Signal Processor,DSP)、专用集成电路(Application Specific Integrated Circuit,ASIC)、现成可编程门阵列(Field-Programmable Gate Array,FPGA)或者其他可编程逻辑器件、分立门或者晶体管逻辑器件、分立硬件组件等。通用处理器可以是微处理器或者该处理器也可以是任何常规的处理器等。
所述存储器171在一些实施例中可以是所述收银客户端设备17的内部存储单元,例如收银客户端设备17的硬盘或内存。所述存储器171在另一些实施例中也可以是所述收银客户端设备17的外部存储设备,例如所述收银客户端设备17上配备的插接式硬盘,智能存储卡(Smart Media Card,SMC),安全数字(Secure Digital,SD)卡,闪存卡(Flash Card)等。进一步地,所述存储器171还可以既包括所述收银客户端设备17的内部存储单元也包括外部存储设备。所述存储器171用于存储操作系统、应用程序、引导装载程序(BootLoader)、数据以及其他程序等,例如所述计算机程序的程序代码等。所述存储器171还可以用于暂时地存储已经输出或者将要输出的数据。
图18为本申请一实施例提供的支付服务器的结构示意图。如图18所示,该实施例的支付服务器18包括:至少一个处理器180、存储器181以及存储在所述存储器181中并可在所述至少一个处理器180上运行的计算机程序182,所述处理器180执行所述计算机程序182时实现上述任意各个支付服务器侧的方法实施例中的步骤。
该支付服务器可包括,但不仅限于,处理器180、存储器181。本领域技术人员可以理解,图18仅仅是支付服务器18的举例,并不构成对支付服务器18的限定,可以包括比图示更多或更少的部件,或者组合某些部件,或者不同的部件,例如还可以包括输入输出设备、网络接入设备、显示单元等。
所称处理器180可以是中央处理单元(Central Processing Unit,CPU),该处理器180还可以是其他通用处理器、数字信号处理器(Digital Signal Processor,DSP)、专用集成电路(Application Specific Integrated Circuit,ASIC)、现成可编程门阵列(Field-Programmable Gate Array,FPGA)或者其他可编程逻辑器件、分立门或者晶体管逻辑器件、分立硬件组件等。通用处理器可以是微处理器或者该处理器也可以是任何常规的处理器等。
所述存储器181在一些实施例中可以是所述支付服务器18的内部存储单元,例如支付服务器18的硬盘或内存。所述存储器181在另一些实施例中也可以是所述支付服务器18的外部存储设备,例如所述支付服务器18上配备的插接式硬盘,智能存储卡(SmartMedia Card,SMC),安全数字(Secure Digital,SD)卡,闪存卡(Flash Card)等。进一步地,所述存储器181还可以既包括所述支付服务器18的内部存储单元也包括外部存储设备。所述存储器181用于存储操作系统、应用程序、引导装载程序(BootLoader)、数据以及其他程序等,例如所述计算机程序的程序代码等。所述存储器181还可以用于暂时地存储已经输出或者将要输出的数据。
所属领域的技术人员可以清楚地了解到,为了描述的方便和简洁,仅以上述各功能单元、模块的划分进行举例说明,实际应用中,可以根据需要而将上述功能分配由不同的功能单元、模块完成,即将所述装置的内部结构划分成不同的功能单元或模块,以完成以上描述的全部或者部分功能。实施例中的各功能单元、模块可以集成在一个处理单元中,也可以是各个单元单独物理存在,也可以两个或两个以上单元集成在一个单元中,上述集成的单元既可以采用硬件的形式实现,也可以采用软件功能单元的形式实现。另外,各功能单元、模块的具体名称也只是为了便于相互区分,并不用于限制本申请的保护范围。上述系统中单元、模块的具体工作过程,可以参考前述方法实施例中的对应过程,在此不再赘述。
本申请实施例还提供了一种计算机可读存储介质,所述计算机可读存储介质存储有计算机程序,所述计算机程序被处理器执行时实现可实现上述支付客户端设备侧的各个方法实施例,或者上述收银客户端设备侧的各个方法实施例,或者,上述支付服务器侧的各个方法实施例中的步骤。
本申请实施例提供了一种计算机程序产品,当计算机程序产品在支付客户端设备,或者收银客户端设备,或者支付服务器上运行时,使得支付客户端设备,或者收银客户端设备,或者支付服务器执行时实现可实现上述各个对应方法实施例中的步骤。
所述集成的单元如果以软件功能单元的形式实现并作为独立的产品销售或使用时,可以存储在一个计算机可读取存储介质中。基于这样的理解,本申请实现上述实施例方法中的全部或部分流程,可以通过计算机程序来指令相关的硬件来完成,所述的计算机程序可存储于一计算机可读存储介质中,该计算机程序在被处理器执行时,可实现上述各个方法实施例的步骤。其中,所述计算机程序包括计算机程序代码,所述计算机程序代码可以为源代码形式、对象代码形式、可执行文件或某些中间形式等。所述计算机可读介质至少可以包括:能够将计算机程序代码携带到拍照装置/终端设备的任何实体或装置、记录介质、计算机存储器、只读存储器(ROM,Read-Only Memory)、随机存取存储器(RAM,RandomAccess Memory)、电载波信号、电信信号以及软件分发介质。例如U盘、移动硬盘、磁碟或者光盘等。在某些司法管辖区,根据立法和专利实践,计算机可读介质不可以是电载波信号和电信信号。
在上述实施例中,对各个实施例的描述都各有侧重,某个实施例中没有详述或记载的部分,可以参见其它实施例的相关描述。
本领域普通技术人员可以意识到,结合本文中所公开的实施例描述的各示例的单元及算法步骤,能够以电子硬件、或者计算机软件和电子硬件的结合来实现。这些功能究竟以硬件还是软件方式来执行,取决于技术方案的特定应用和设计约束条件。专业技术人员可以对每个特定的应用来使用不同方法来实现所描述的功能,但是这种实现不应认为超出本申请的范围。
在本申请所提供的实施例中,应该理解到,所揭露的装置和方法,可以通过其它的方式实现。例如,以上所描述的装置实施例仅仅是示意性的,例如,所述模块或单元的划分,仅仅为一种逻辑功能划分,实际实现时可以有另外的划分方式,例如多个单元或组件可以结合或者可以集成到另一个系统,或一些特征可以忽略,或不执行。另一点,所显示或讨论的相互之间的耦合或直接耦合或通讯连接可以是通过一些接口,装置或单元的间接耦合或通讯连接,可以是电性,机械或其它的形式。
所述作为分离部件说明的单元可以是或者也可以不是物理上分开的,作为单元显示的部件可以是或者也可以不是物理单元,即可以位于一个地方,或者也可以分布到多个网络单元上。可以根据实际的需要选择其中的部分或者全部单元来实现本实施例方案的目的。
以上所述实施例仅用以说明本申请的技术方案,而非对其限制;尽管参照前述实施例对本申请进行了详细的说明,本领域的普通技术人员应当理解:其依然可以对前述各实施例所记载的技术方案进行修改,或者对其中部分技术特征进行等同替换;而这些修改或者替换,并不使相应技术方案的本质脱离本申请各实施例技术方案的精神和范围,均应包含在本申请的保护范围之内。