基于安全QR码的数据传输的制作方法

文档序号:22557288发布日期:2020-10-17 02:41阅读:186来源:国知局
基于安全QR码的数据传输的制作方法

相关申请的交叉引用

本申请要求于2017年12月29日提交的标题为“基于安全qr码的数据传输”的美国实用新型专利15/859,045的优先权和利益,其全部内容合并于此。

本公开的实施例涉及快速响应(qr)码及其在各种安全数据传输中的用途。



背景技术:

移动设备已经成为个人随身携带的通用设备。许多移动设备具有照相机或其他光学扫描设备。由于这种移动设备的普及,一些实体已经开始使用qr码来传送信息。qr码可以包括矩阵条形码作为在标签中携带信息的机器可读光学标签。该信息可以被加密或以其他方式保护。

附图说明

通过使用附图,以附加的特性和细节来描述和说明示例实施例,在附图中:

图1是示出可以实现基于qr码的数据传输的示例系统的图;

图2是示出基于qr码的数据传输的示例方法的流程图;

图3是示出基于qr码的数据传输的另一示例方法的流程图;

图4是示出基于qr码的数据传输的另一示例方法的流程图;

图5是示出基于qr码的数据传输的另一示例方法的流程图;

图6是示出基于qr码的数据传输的另一示例方法的流程图;

图7是示出基于qr码的数据传输的另一示例方法的流程图;

图8示出可以在被配置为实现基于qr码的数据传输的系统中使用的示例计算系统。

具体实施方式

存在使用qr码处理数据传输的多种潜在方式。然而,在某些情形下,处理这种数据传输的不同流程可能是不期望的,而在其他情形下甚至完全无法工作。此外,可以用于处理这种数据传输的基础设施通常仅能够使用qr码处理数据传输的单个流程。此外,期望参与基于qr码的数据传输的实体可能不知道哪些流程在哪些情形下是有利的,并且可能最终利用多个不同的基础设施集合来处理不同的流程。具有促进基于qr码的数据传输的多个潜在流程的系统可能导致以下问题,即一方可能不知道要使用哪个流程,并且即使选择了流程,系统也需要区分流程并正确处理传输。此外,这种数据传输的安全性可能是重要的考虑因素(例如,如果数据传输与金融交易相关联)。

本公开可以提供一种系统,该系统通过协助第一实体(例如,商家)确定多个基于qr码的数据传输流程中的哪个流程对于第一实体(例如,商家)是有利的或合适的来解决这些问题。另外,在选择第一实体(例如,商家)通过其处理基于qr码的数据传输的流程之后,本公开解决了区分哪个流程用于哪个实体的问题,使得单个系统可以被配置为处理来自多个不同实体的多个不同的基于qr码的流程。

本公开的一个或多个实施例涉及一种基础设施,该基础设施可用于提供用于在数据传输中使用qr码的多个潜在选项。例如,可以提供一种系统,商家可以通过该系统向该系统注册,并且在注册期间选择多个潜在选项之一用于使用qr码处理数据传输(例如交易)。在向商家呈现潜在选项之前,系统可以限制向商家呈现哪些选项。例如,基于由第一实体在注册处理中提供的信息,系统可以根据第一实体是否是移动商家(例如,食品卡车)或第一实体是否在实体商店中运营来省略某些流程。作为另一示例,系统可以根据第一实体运营所在的地理区域或市场来省略某些流程。在一些实施例中,系统可以向第一方(例如,商家)提出一组查询以促进确定要向第一方呈现哪些流程作为选项,例如第一方的地址、第一方运营所在的市场(例如,服装零售商与珠宝零售商)、第一方的实际位置、第一方的多个分支、第一方的风险承受能力等。在一些实施例中,系统可以向第一方提供针特定流程的推荐以供选择。

在一些实施例中,在提供推荐时(或在由第一实体选择流程时),还可以考虑各种其他因素,例如qr码对于每次数据传输是唯一的(动态qr码)还是特定于实体但用于多个数据传输(静态qr码),这可能影响每次数据传输所利用的网络通信量。另一因素可能包括qr码由第一实体(例如,商家)生成并由第二实体(例如,消费者)扫描,还是由第二实体生成并由第一实体扫描,这可能影响交易的安全性以及某些方是否需要某些设备能力。另一因素(例如,当数据传输涉及交易时)可以包括qr码是否包括与交易相关联的金额或交易双方之一是否在交易期间提供交易的支付金额,这可能影响交易的安全性和/或所利用的网络通信量。与实体(例如,商家)或实体运营所在的世界区域有关的其他因素可能影响选择哪个流程。例如,可以在向第一实体呈现潜在的qr码流程之前去除一个或多个选项,第一实体基于数据传输期间利用的网络使用量、数据传输的安全性、商家的移动性等从潜在的qr码流程中进行选择。另一因素可以包括第一实体(例如,商家)是否有权访问专用的硬件和/或软件用于生成、扫描和/或显示qr码的某些类或安全特征。本公开可以另外涉及使用这种流程来使用qr码处理交易。

本公开的各种实施例可以改善计算机的操作,并且可以改善计算机安全和网络通信的相关技术。例如,本公开通过提供能够促进基于qr码的数据传输的多个流程的单个系统,而不是利用多个不同的计算设备,来改进计算机的操作。作为另一示例,因为可以将使用qr码的数据传输处理的特定流程定制为适合区域或市场的特定风险概况,所以改进了计算机安全和网络通信。另外,可以选择流程以适应系统可以在其中运行的网络带宽基础设施。例如,系统可以基于第一实体(例如,商家)在其中运营的区域的网络带宽基础设施来智能地限制第一实体可以选择哪些流程。以这种方式,不是强迫基础设施承担增加的网络流量的负载,而是可以针对区域选择具有适当流量的流程。另外,可以基于网络基础设施和/或性能来动态地生成qr码的类型或样式。在这些实施例中,本公开可以避免第一实体在已经重负的网络系统上施加广泛或沉重的负载。相反,本公开可以智能且安全地提供更多定制的网络负载量以促进安全且快速的数据传输。

本公开的各种实施例可以另外地以使得即使使用典型组件来实现也使那些组件以非传统方式操作的方式操作。例如,各种流程可以利用qr码的生成以及对qr码扫描的响应,以与传统的qr码使用中观察到的方式不同的方式进行操作。

参考附图说明一个或多个示例实施例。

图1是示出根据本公开的一个或多个实施例的可以实现基于qr码的数据传输的示例系统100的图。如下所述,系统100可以包括第二实体设备110、支持服务器120、示例第一实体设备130和另一示例第一实体设备140以及网络150。第一实体和第二实体可以使用第二实体设备110和第一实体设备130/140参与由支持服务器120支持的基于qr码的数据传输。第二实体设备110或第一实体设备130/140中的一个可以生成qr码,而另一个可以扫描qr码以促进数据传输。

在一些实施例中,数据传输可以包括消费者与商家之间的交易。例如,消费者和/或商家可以传输与交易相关联的数据,以通过使用qr码验证交易方、交易金额等。

在一些实施例中,在参与基于qr的数据传输之前,第一实体(诸如使用第一实体设备130或140中的一者或两者的商家)可以与支持服务器120交互以进行注册,以执行基于qr码的数据传输。在注册中,支持服务器120可以识别关于第一实体的信息,并呈现一个或多个潜在流程用于通过第一实体设备130或140处理到第一实体的基于qr码的数据传输。例如,在一些实施例中,当注册以获得信息时,支持服务器120(或在第一实体设备130/140上运行的应用)可以向第一实体提出一系列问题。这种信息可以包括第一实体的名称、第一实体的地址(包括第一实体的多个分支/位置的地址)、第一实体的大小(例如,雇员数量、收入金额等)、第一实体运营所在的市场、第一实体的计算基础设施、第一实体的网络连接、第一实体的风险承受能力、第一实体的偏好等。响应于该信息,支持服务器120可以提供推荐或可以提供多个潜在的数据传输流程,第一实体可以在处理基于qr码的传输时从这多个潜在的数据传输流程中选择以供第一实体使用。可以在图2至图7中描绘这种流程的示例。

在一些实施例中,为了确定第一实体的网络基础设施,支持服务器120可以确定与第一实体的通信的属性(例如,通过ping或其他网络测试通信)。在这些和其他实施例中,当第一实体向支持服务器注册时,可以实时确定网络基础设施。

在一些实施例中,支持服务器120可以在数据传输(例如,交易)时确定网络基础设施的属性。基于低网络性能或低网络可用性,支持服务器120可以促进使用不复杂的qr码,该qr码可以在数据传输期间利用较少量的网络资源。在一些实施例中,不复杂的qr码可以不同于在典型(例如,高网络可用性)情形下在数据传输中通常使用的qr码。另外或可选地,可以省略一个或多个安全特征(例如,电子设备之间的配对操作或握手)以保持网络带宽。

在一些实施例中,可以以各种因素来区分各种流程,诸如第一实体或第二实体是否生成qr码,qr码是静态的还是动态的,和/或金额是由第二实体还是第一实体输入的。另外,可以通过以下项来区分流程:第一实体从事的行业的风险概况(例如,杂货商与珠宝店)、第一实体运营所在的地理位置的风险概况(例如,低犯罪率国家或区域与高犯罪率国家或区域)、第一实体运营所在的地理位置的网络基础设施(例如,阈值量以上的因特网速度通常是否可用、或者低速因特网是否通常可用)。在一些实施例中,这些因素可以有助于呈现给第一实体以供选择的潜在流程的推荐或列表。例如,如果第一实体在网络基础设施有限的国家或区域中运营,则支持服务器120可以向第一实体呈现有限的流程集合,其排除了利用大量网络数据的流程。

在一些实施例中,一些流程可能比另一流程更适合于一种类型的第一实体或区域类型。例如,图3和图5所示的流程对于小商家可能特别有利,因为这样的小商家可能没有适当的计算基础设施来容纳其他流程。但是,这样的流程仍可能允许较小的商家参与基于qr码的交易。作为另一示例,图6和图7所示的流程对于可以利用更健壮的计算基础设施并提供更安全的数据传输的大的第一实体可能特别有利。基于这些因素,支持服务器120可以选择某些流程呈现给第一实体以供选择。

在选择将要使用的流程之后,支持服务器120可以完成任何其他任务,使得第一实体准备参与基于qr码的数据传输。例如,如果qr码是静态qr码(例如,在多个数据传输中相同),则支持服务器120可以生成qr码并将qr码提供给第一实体。作为另一示例,关于第一实体、第一实体的(一个或多个)位置的信息和/或关于qr码的信息(例如,用于生成qr码的标准和标准版本、用于对qr进行编码的哈希版本、安全性测量使用等)可以由支持服务器120存储以供参考,例如用于验证第一实体或用于处理基于qr码的数据传输。在完成任何其他初始化任务之后,可以准备支持服务器120以促进针对第一实体的基于qr码的数据传输。

在这些和其他实施例中,在初始注册中,第一实体和/或支持服务器120可以生成关于第一实体和/或由第一实体选择的处理流程的各种信息。在一些实施例中,可以生成对于第一实体唯一的第一实体标识符(例如,商家标识符)。也可以生成和/或存储第一实体的位置。在一些实施例中,这样的位置可以基于位置服务模块126确定在针对基于qr码的数据传输进行注册中使用的第一实体设备130/140的位置来确定。在这些和其他实施例中,可以生成与第一实体相关联的位置标识符。在一些实施例中,除了第一实体的位置标识符和/或代替第一实体的位置标识符,可以存储第一实体的纬度和经度。也可以存储第一实体的其他标识信息,例如电话号码。在一些实施例中,还可以存储第一实体的特征,例如,所选择的处理流程是否利用配对,选择数据传输的哪些方来扫描qr码或生成qr码,数据传输的哪些方将输入数据传输的金额,数据传输的哪些方将批准数据传输等。另外或可选地,可以存储诸如来自用户界面或设备角度的通知细节的特征。例如,第一实体可以配置处理流程以与用于第一实体的预先存在的数据传输过程集成。可以存储用于促进预先存在的数据传输过程和/或用于实现预先存在的数据传输过程的资源的url或uri的计算设备的位置(诸如api端点)。不管第一实体最终选择的流程如何,都可以进行这种注册处理。一些选定的流程可能包括其他注册任务(例如,静态qr码的生成)。

在一些实施例中,可以为静态qr码生成qr码标识符,并且将其与第一实体的qr码相关联地存储。qr码标识符可以基于第一实体标识符、位置标识符和/或相对于第一实体存储的其他特征。在一些实施例中,qr码可以包括第一实体标识符和位置标识符的哈希、附加或其他组合。在这些和其他实施例中,qr码标识符可以被用于验证第一实体和/或检测要跟随哪些流程。例如,支持服务器120可以接收qr码标识符,并且可以从qr码标识符获得第一实体标识符。支持服务器可以根据第一实体标识符查找第一实体,并确定第一实体在初始注册中选择了哪个流程,并基于检测到选择了哪个流程,继续基于检测到的流程来处理数据传输。

在一些实施例中,可以为第一实体的动态qr码生成这种qr码标识符。在这些和其他实施例中,每个动态qr码上的qr码标识符可以相同。另外或可选地,qr码标识符可以包括多个动态生成的qr码中的特定qr码的版本或数字标识符,该多个动态生成的qr码可以被包括使得qr码标识符的第一实体标识符和/或位置标识符部分可以保持一致,但数字标识符可能变化,使得qr码标识符可能变化。在这些和其他实施例中,qr码标识符仍可以用于基于从qr码标识符获得商家标识符来标识第一实体选择了哪些流程。

在一些实施例中,在选择用于处理基于qr码的数据传输的给定流程并执行与该流程相关联的任何其他初始化任务之后,在支持基于qr码的数据传输中接收到qr码(或从其导出数据)时,系统100可以区分哪个流程将用于给定数据传输。例如,第一实体或第二实体中的一个可以扫描qr码(取决于流程),并且也可以在第二实体设备110或第一实体设备130/140处验证qr码,或者可以将qr码发送到支持服务器120进行验证。在接收到qr码或qr码被验证的消息之后,支持服务器120可以分析嵌入在qr码中的信息或在验证消息中提供的信息,以确定给定的数据传输跟随多个流程中的哪个流程。例如,qr码可以具有或可以不具有数据传输的金额、qr码生成的位置、生成qr码的实体(例如,第二实体或第一实体)的标识符等。这种信息可以由支持服务器120从qr码中提取,或者可以从qr码扫描设备发送到支持服务器120。基于这种信息,支持服务器120可以识别数据传输将跟随多个流程中的哪个流程,并且可以相应地处理数据传输。在一些实施例中,支持服务器120可以验证标识用于数据传输的流程的信息与第一实体在注册期间选择的流程一致。在一些实施例中,商家销售点(pos)终端可以被配置为扫描和解密/提取来自qr码的信息,以识别选定的流程并处理数据传输。

本公开的基于qr码的数据传输中生成和/或使用的qr码的各种特征可以用于识别数据传输的流程和/或维持数据传输的安全性。在一些实施例中,本公开的qr码可以提供有有效日期。例如,第一实体(和/或支持服务器120)可以在qr码上加上有效日期,使得qr码在一定时间段之后无效。对于静态qr码,有效日期可以是天、周、月或年。对于动态qr码,有效日期可以是分钟或小时。在一些实施例中,基于区域或市场的安全性,某些区域或市场可以具有较短或较长的有效持续时间。例如,在高犯罪率的区域或国家,与低犯罪率的区域或国家相比,有效日期可能更短。作为另一示例,对于在欺诈发生率高的市场中工作的商家,有效日期可能更短。

在一些实施例中,qr码可以被限制在地理位置以增强数据传输的安全性。例如,qr码可以包括关于第一实体的位置的信息,并且如果远离第一实体的位置被扫描,则qr码可以触发为无效。作为另一示例,可以针对给定的移动第一实体来测量地理位置的图案,并且在所测量的图案之外使用qr码可以触发为无效。

在一些实施例中,qr码标识符可以与位置标识符逻辑地耦合以增强数据传输的安全性。例如,对于静态qr码,位置可以基于第一实体的已知位置和静态qr码的标识符。作为另一示例,对于动态qr码,位置可以基于请求qr码的设备的位置和/或第一实体的期望位置。如果位置标识符与qr码标识符不匹配,则可能无法验证qr码。

在一些实施例中,qr码可以包括嵌入或加密到qr码中的一个或多个信息字段。示例字段和值可以涉及作为商家的第一实体。这些字段和信息的示例可以包括表1中所示的那些,其中“字段”标识qr码中的示例信息字段,“键(key)”标识字段的简称标识符,“注释”提供有关字段的细节,并且“值/示例”提供字段中信息格式的示例:

表1

在一些实施例中,qr码可以包括一个或多个安全特征以生成安全qr码。例如,qr码可以包括数字签名(例如,表1中的签名)、数据的哈希实现(例如,和/或用于哈希qr码的数据的算法的哈希版本)等。在这些和其他实施例中,qr码可以利用基于哈希的消息认证码(hmac),其可以利用任何加密函数,例如消息摘要5(md5)算法或安全哈希算法1(sha-1)等。

第二实体设备110可以包括第二实体用来促进参与基于qr码的数据传输的任何设备。第二实体设备110可以包括移动设备、蜂窝设备、平板电脑、可穿戴电子设备等。在一些实施例中,第二实体设备110可以包括通信设备112、光学扫描仪114和/或显示器116。通信设备112可以用于与第一实体电子设备130/140和/或支持服务器120通信。光学扫描仪114可以被配置为扫描由第一实体呈现的qr码,并且显示器116可以被配置为显示要由第一实体电子设备130/140扫描的qr码。

支持服务器120可以包括一个或多个计算设备,这些计算设备被配置为注册并以其他方式准备第一实体以参与基于qr码的数据传输,并且促进第二实体与第一实体之间的基于qr码的数据传输。在一些实施例中,支持服务器120可以被配置为促进第一实体将要使用的流程的选择。例如,支持服务器120可以从要呈现给第一实体的流程的列表中去除某些流程,或者可以在第一实体的注册期间向第一实体提供流程的推荐。

在一些实施例中,支持服务器120可以在基于qr码的数据传输期间与第二实体设备110和/或第一实体设备130/140通信。在这些和其他实施例中,支持服务器120可以利用嵌入在扫描的qr码中的信息或嵌入在从qr码中提取并传送到支持服务器120的信息中的信息,来确定要跟随哪个流程支持基于qr码的数据传输。如下面在各个附图中所说明的,支持服务器120可以根据基于所识别出的流程的适当的流程促进基于qr码的数据传输。

在一些实施例中,支持服务器120可以包括qr码处理模块122、支付处理模块124和位置服务模块126。在一些实施例中,支持服务器120的一个或多个组件可以在基于qr码的数据传输期间彼此通信和协调。可以参考图2至图7来观察支持服务器120的操作的一个或多个示例。

qr码处理模块122可以包括被配置为使计算设备能够处理qr码的代码和例程。另外或可选地,可以使用包括处理器、微处理器(例如,用于执行一个或多个操作或控制一个或多个操作的执行)、现场可编程门阵列(fpga)或专用集成电路(asic)的硬件来实现qr码处理模块122。在一些其他实例中,可以使用硬件和软件的组合来实现qr码处理模块122。在本公开中,被描述为由qr码处理模块122执行的操作可以包括qr码处理模块122可以指导相应的系统(例如,支持服务器120)执行的操作。

qr码处理模块122可以被配置为在生成、验证、确认、存储或以其他方式处理与一方或数据传输关联的qr码时与第一实体设备130/140、第二实体设备110、支持服务器的其他组件或其任意组合进行交互。在一些实施例中,qr码处理模块122可以提供一个或多个应用编程接口(api)调用,使得来自第二实体设备110、第一实体设备130/140和/或其他电子设备的交互可以通过对支持服务器120的api调用。

在一些实施例中,qr码处理模块122可以被用于注册处理以准备第一实体来处理基于qr码的数据传输。例如,对于某些选定的流程,qr码处理模块122可以响应于请求而生成要提供给第一实体的静态qr码。在这些和其他实施例中,静态qr码可以包括qr码标识符,以促进识别数据传输将跟随哪个流程。

在一些实施例中,qr码处理模块122可以用于处理基于qr码的数据传输。例如,第二实体设备110可以请求qr码处理模块122生成qr码。作为响应,qr码处理模块122可以生成特定于数据传输的动态qr码,或者对于静态qr码,可以提供先前生成的qr码,除非qr码已过期。

在一些实施例中,qr码处理模块122可以促进识别数据传输试图利用哪个流程。例如,qr码处理模块122可以解密或以其他方式从qr码提取信息(诸如qr码标识符),使得支持服务器120可以区分第一实体被配置为使用哪些潜在流程。例如,qr码处理模块122可以从qr码读取数据传输的金额,qr码是动态的还是静态的等。另外或可选地,qr码处理模块122可以从qr码标识符中提取qr码标识符和第一实体标识符。qr码处理模块122可以确定与第一实体相关联的流程,第一实体与第一实体标识符相关联,并且可以基于识别出的流程来配置支持服务器120以促进基于qr码的数据传输。在一些实施例中,qr码处理模块122可以将第一实体标识符提供给支付处理模块124以确定流程和/或配置支持服务器120以根据该流程进行操作以促进数据传输。

支付处理模块124可以包括被配置为使计算设备能够处理支付的代码和例程。另外或可选地,可以使用包括处理器、微处理器(例如,用于执行一个或多个操作或控制一个或多个操作的执行)、现场可编程门阵列(fpga)或专用集成电路(asic)的硬件来实现支付处理模块124。在一些其他实例中,可以使用硬件和软件的组合来实现支付处理模块124。在本公开中,被描述为由支付处理模块124执行的操作可以包括支付处理模块124可以指导相应的系统(例如,支持服务器120)执行的操作。

支付处理模块124可以被配置为在确认、验证和/或传输数据传输的金额中与第一实体设备130/140、第二实体设备110、支持服务器120的其他组件、第三方金融计算设备或其任意组合进行交互。例如,支付处理模块124可以被配置为验证数据传输的金额、验证资金的可用性以及从一个账户到另一账户转移资金或请求转移资金。在一些实施例中,一个或多个账户可以与相关联。在一些实施例中,支付处理模块124可以提供一个或多个应用编程接口(api)调用,使得来自第二实体设备110、第一实体设备130/140和/或其他电子设备的交互可以通过对支持服务器120的api调用。

在一些实施例中,支付处理模块124可以促进在选择流程时为第一实体过滤或推荐某些流程。例如,支付处理模块124可以维护各种市场的风险概况和/或各种商家的欺诈发生率,使得支付处理模块124可以从呈现给第一实体的流程中去除某些流程。在一些实施例中,基于第一实体运营所在的市场的风险概况高,支付处理模块124可以将第一实体限制为选择包括高安全性特征的流程,例如使用动态qr码而不是静态qr码的流程。另外或可选地,可以修改流程的一个或多个属性。例如,对于高风险概况市场,可以缩短qr码的有效日期。作为另一示例,可以利用对qr码执行的哈希函数的更安全版本,或者可以利用qr码的更安全签名。

在一些实施例中,支付处理模块124可以使支持服务器120促进第二实体设备110与第一实体设备130/140之间的一个或多个数字握手。这种数字握手可以利用安全套接字层(ssl),并且可以涉及在支持服务器120、第二实体设备110和/或第一实体设备130/140之间的多次信息交换。

位置服务模块126可以包括被配置为使计算设备能够识别位置、比较两个位置、与全球定位系统(gps)服务进行交互等的代码和例程。另外或可选地,可以使用包括处理器、微处理器(例如,用于执行一个或多个操作或控制一个或多个操作的执行)、现场可编程门阵列(fpga)或专用集成电路(asic)的硬件来实现位置服务模块126。在一些其他实例中,可以使用硬件和软件的组合来实现位置服务模块126。在本公开中,被描述为由位置服务模块126执行的操作可以包括位置服务模块126可以指导相应的系统(例如,支持服务器120)执行的操作。

位置服务模块126可以被配置为在验证、核查或以其他方式确定数据传输的位置属性时与第一实体设备130/140、第二实体设备110或其任意组合进行交互。例如,位置服务模块126可以确定第一实体设备130/140的位置、与qr码相关联的位置、第二实体设备110的位置、生成qr码的位置、扫描qr码的位置等。在一些实施例中,位置服务模块126可以提供一个或多个应用编程接口(api)调用,使得来自第二实体设备110、第一实体设备130/140和/或其他电子设备的交互可以通过对支持服务器120的api调用。

在一些实施例中,位置服务模块126可以促进在第一实体的注册期间选择或推荐流程用于基于qr码的数据传输。例如,位置服务模块126可以确定第一实体的位置,使得基于第一实体的位置,某些潜在的流程可能不被呈现为可能的选择(例如,因为第一实体位于高犯罪率地区)。

在一些实施例中,支持服务器120可以存储关于与第一实体设备130/140相关联的第一实体的信息。例如,支持服务器120可以与初始注册相关联地存储如上所述的信息。作为另一示例,支持服务器120可以存储关于以下项的信息:第一实体为基于qr码的数据传输选择了什么流程,与第一实体相关联的一个或多个qr码的标识符,第一实体(包括第一实体的每个分支)的物理位置或与第一实体的数据传输的物理位置,第一实体是否是移动商家(例如,食品卡车)等。

在一些实施例中,第一实体设备130/140可以与第二实体设备110相似或相当。第一实体设备130/140可以包括第一实体(例如,商家)用来注册以参与基于qr码的数据传输和/或以其他方式促进参与基于qr码的数据传输的任何设备。在一些实施例中,第一实体设备130/140可以接收推荐或流程集合以从中选择,并且可以将该推荐或流程集合呈现给第一实体以供在注册期间进行选择。在一些实施例中,第一实体设备130/140可以与其他商家系统通信或成为其一部分,商家系统例如是被配置为监视、跟踪或以其他方式说明第一实体的库存的库存处理系统,被配置为对在第一实体处购买的物品进行合计的结账系统,被配置为请求或接受支付的支付系统等。在一些实施例中,第一实体设备130/140可包括通信设备142、光学扫描仪144和/或显示器146。通信设备142可以用于与第二实体设备110和/或支持服务器120通信。光学扫描仪144可以被配置为扫描第二实体所呈现的qr码,并且显示器146可以被配置为显示要由第二实体设备110扫描的qr码。

在一些实施例中,第一实体设备130可以与固定位置处的商家(例如实体商店)相关联。在这些和其他实施例中,对于所有数据传输,可以假定第一实体设备130的位置是固定的。在一些实施例中,如果商家具有多个位置,例如多个分支,则每个分支的位置可以由支持服务器120存储,并且每个分支可以具有唯一的标识符。在一些实施例中,第一实体设备140可以与诸如食品卡车、管道工等的移动商家相关联。

尽管第二实体设备110和第一实体设备130/140都被示为显示qr码,但是应当理解,对于给定的数据传输,一个设备可以显示qr码,而另一个设备可以扫描qr码。另外或可选地,静态qr码可以由另一方生成并打印或以其它方式再现并扫描。

在一些实施例中,支持服务器120可以提供第一实体可以并入第一实体提供的体验中的整个基于qr码的数据传输系统。例如,第一实体可以包括商家,并且数据传输可以包括消费者和商家之间的金融交易。商家可以在商家的支付界面中利用各种基于web或其他基于计算机的元素,并且可以将基于qr码的交易元素合并到商家的支付界面中。在这些和其他实施例中,在实现数据传输处理流程时,支持服务器120可以存储统一的资源定位符(url)或商家的支付界面的各种组件的其他标识信息。另外或可选地,可以通过商家的编程代码内的应用编程接口(api)调用来调用支持服务器120的功能。在这些和其他实施例中,各种处理流程可以被折叠成现有的商家设计的支付流程以及与他们的消费者的交互。例如,商家所使用的pos终端和启动画面可以被配置为对支持服务器120进行api调用,以生成并返回要显示在商家的启动画面的特定字段中的qr码。

网络150可以是任何设备、系统、组件或其组合以促进系统100的任何其他组件之间的通信。在一些实施例中,网络150可以表示协议或指令的逻辑集合,例如,用作第二实体设备110和第一实体设备130/140彼此直接通信的协议集合。在一些实施例中,网络150可以包括使第二实体设备110、支持服务器方120和/或第一实体设备130/140能够通信的一个或多个广域网(wan)和/或局域网(lan)。在一些实施例中,网络150可以包括因特网,包括由多个wan和/或lan之间的逻辑和物理连接形成的全球互联网。可选地或另外,网络150可以包括一个或多个蜂窝rf网络和/或一个或多个有线和/或无线网络(例如802.xx网络)、蓝牙接入点、无线接入点、基于ip的网络等。网络150还可以包括使一种类型的网络能够与另一种类型的网络接口的服务器。另外或可选地,网络150可以包括内联网、或者在组织内或以其他安全方式进行通信的一个或多个计算设备。

在审阅本公开之后,本领域的技术人员可以认识到,可以在不脱离本公开的范围的情况下对系统100进行修改、增加或省略。例如,具有任意数量的分支位置和/或移动位置的任意数量的商家可以被包括在本公开的范围内。作为另一示例,支持服务器120可以被划分为彼此通信的多个计算设备。

图2至图7示出了执行基于qr码的数据传输的示例方法的各种流程图。图2的方法可以表示执行基于qr码的数据传输的通用方法,而图3至7示出基于qr码的数据传输的流程的具体迭代。对于每个方法,方法的一个或多个操作可以由系统或设备(例如,图1的第二实体设备110、支持服务器120和/或第一实体设备130/140或其任何组合)执行。在这些和其他实施例中,可以基于存储在一种或多种非暂态计算机可读介质上的指令的执行来执行操作。尽管被示为离散的框,但是根据期望的实现方式,各种方法的各种框可以被划分为附加框、被组合为更少的框或被去除。

在审阅本公开之后,本领域的技术人员可以认识到,可以在不脱离本公开的范围的情况下对图2至图7的各种方法进行修改、增加或省略。例如,可以以不同的顺序来实现各种方法的操作。另外或可选地,可以同时执行两个或更多个操作。此外,概述的操作和动作被提供作为示例,并且一些操作和动作可以是可选的,可以组合成较少的操作和动作,或者可以扩展到附加的操作和动作,而不背离所公开的实施例的实质。

参考图2,在框205处,第一实体可以参与注册处理以执行基于qr码的数据传输。例如,第一实体可以向支持服务器(诸如图1的支持服务器120)注册以参与基于qr码的数据传输。在这些和其他实施例中,注册处理可以包括从第一实体寻找的一系列问题和/或输入,使得可以支持基于qr码的数据传输。在一些实施例中,这样的注册处理可以包括去除一个或多个潜在处理流程,使得当选择哪个流程用于执行基于qr码的数据传输时,向第一实体呈现少于所有潜在处理流程的列表。在这些和其他实施例中,注册可以包括支持服务器存储和/或生成与第一实体有关的各种信息。这种信息可以包括第一实体标识符、位置标识符(对于同一第一实体的不同位置(例如,同一商家的不同分支)可能不同)、地址细节(例如,第一实体的街道地址、第一实体的ip地址等)、第一实体的地理位置(例如,由位置服务模块标识的位置的纬度和经度)、第一实体的电话号码以及与选定的流程相关联的一个或多个特征。例如,这些特征可以包括第一实体选择哪些潜在流程、第一实体选择的流程是否利用配对、数据传输的哪一方将扫描qr码和/或显示qr码、qr码是否包括数据传输的金额、与流程相关联的通知细节(例如,哪些实体接收确认通知、批准通知等)和/或上述内容的任意组合。

在一些实施例中,例如,当选择利用静态qr码的流程时,框205可以另外包括qr码的生成。例如,支持服务器的qr码处理模块可以基于商家标识符和/或位置标识符来生成静态qr码。

在框210处,可以接收来自计算设备的qr码。例如,第二实体设备(诸如图1的第二实体设备110)可以扫描由第一实体(例如,由商家设备(诸如图1的第一实体设备130/140)或由第一实体物理地显示)显示的qr码。作为另一示例,第一实体设备可以扫描在第二实体设备上显示的qr码。在这些和其他实施例中,扫描的qr码可以被发送到支持服务器(例如图1的支持服务器120)并由其接收以进行处理。

在框220处,可以分析qr码以确定用于发起第一实体与第二实体之间的数据传输(例如,支付交易)的请求。另外或可选地,可以扫描qr码以确定数据传输的支付特征。在一些实施例中,qr码可以具有嵌入在qr码内的数据传输的特征。这些特征可以包括关于以下项的标识符:支持服务器在处理数据传输时要跟随多个潜在处理流程中的哪个流程。例如,特征可以包括信息,诸如qr码是第一实体生成的qr码(例如,商家生成的qr码)还是第二实体生成的qr码(例如,消费者生成的qr码)、数据传输的金额、qr码是静态qr码还是动态qr码、与qr码相关联的第一实体、第一实体的位置、生成qr码的位置等,如上文所指示,其可以各自与不同类型的流程相关联。在一些实施例中,qr码可以由扫描设备分析,并且特征可以被发送到支持服务器。在一些实施例中,qr码可以包括字段或其他标识符,该字段或其他标识符具体地标识生成qr码要跟随潜在流程中的哪个流程。

在框230处,可以确定从多个潜在的qr码处理流程中是否识别出qr码处理流程。在一些实施例中,这种确定可以基于特征。例如,支持服务器可以被配置为沿着多个潜在流程中的任何流程来处理基于qr码的数据传输。支持服务器可以基于来自框220的特征来识别哪个流程与第一实体相关联。图3至图7中标识了潜在流程的各种示例。例如,一个流程(图3)可以利用由商家生成的静态qr码,该静态qr码没有嵌入qr码中的金额并由消费者扫描,其中消费者输入交易的金额;另一流程(图4)可以包括由商家生成的静态qr码,该静态qr码没有嵌入qr码中的金额并由消费者扫描,其中商家输入交易的金额;附加流程(图5)可以包括由商家生成的动态qr码,该动态qr码具有嵌入qr码中的金额并由消费者扫描,其中,消费者批准商家嵌入qr码中的金额;另一流程(图6)可以包括由消费者生成的动态qr码,该动态qr码没有金额并由商家扫描,其中商家输入金额,并且消费者批准金额;而另一流程(图7)可以包括由消费者生成的动态qr码,该动态qr码具有嵌入qr码中的金额并由商家扫描,其中商家批准金额。

在一些实施例中,支持服务器可以确定哪一方(例如,第一实体或第二实体)正在发送数据传输的初始消息(例如,扫描qr码的一方),传输是否包括嵌入qr码中的金额(通过qr码本身或通过扫描设备提取),qr码是动态的还是静态的(例如,通过分析qr码的有效日期或直接标识qr码是静态的还是动态的特征)等。使用这样的特征,支持服务器可以识别特定的流程并且可以进行到框240。如果没有识别出qr码处理流程,则方法200可以前进到框235,并且可以将错误消息发送回发送qr码的设备和/或第一实体,并且方法200可以结束。

在框240处,可以基于qr码和识别出的处理流程来验证用于数据传输的第一实体(例如,商家)。例如,支持服务器可以从数据库中的qr码中查找信息,以验证该信息与存储在数据库中的与第一实体相关联的信息一致。例如,支持服务器可以验证特征与第一实体所选择的用于为第一实体执行基于qr码的交易的流程一致。作为另一示例,支持服务器可以验证qr码标识了正确的第一实体和第一实体的正确位置。在这些和其他实施例中,验证第一实体可以帮助防止交易的欺诈或其他问题。例如,当使用静态qr码时,可能存在第三方可能窃取或复制qr码并尝试使用qr码秘密执行交易的风险。通过验证第一实体,可以避免这种尝试。在一些实施例中,验证可以包括多种验证中的任何一种,诸如验证扫描或生成qr码的位置与由支持服务器所存储的第一实体的位置相匹配。在一些实施例中,第一实体的验证可以是进行交易的资金转移的前提。作为附加示例,支持服务器可以验证qr码的签名被正确认证(例如,qr码包括来自支持服务器的最新电子签名)。

在框250处,响应于第一实体被验证,可以根据识别出的处理流程来处理第二实体与第一实体之间的数据传输。例如,支持服务器可以执行任何附加任务来验证交易、交易的金额、各方的身份等。另外或可选地,框250可以包括从与第二实体相关联的账户向与第一实体相关联的账户转移资金或请求转移资金。

图3至图7提供了基于qr码的数据传输的示例,其中,第一方可以包括商家,并且第二方可以包括消费者,并且基于qr码的数据传输(例如,数据传输)可以包括基于qr码的交易。在这些和其他实施例中,流程的特征可以包括支付特征。尽管作为示例提供,但是相同类型的流程也可以适用于其他数据传输和其他实体。

图3可以示出基于qr码的交易的一个潜在流程。图3的流程可以包括其中支付特征包括qr码是静态的、由商家生成并由消费者扫描的流程。消费者可以输入交易金额,并且商家可以验证交易完成。这样的流程可能是有利的,因为这样的流程可以排除商家设备和消费者设备之间的配对。另外,这样的流程可以利用少量的网络流量,使得可以在网络基础设施有限的的位置中使用该流程。另外,该流程可以支持商家是移动的和/或以其他方式不在特定物理场所的情况。这样的流程对于小商家或个人从业者或计算机基础设施最少或有限的其他商家可能特别有利。另外,这样的流程对于世界上具有有限网络基础设施的国家或区域的商家或因特网连接速度慢的商家可能是有利的。

在框303处,可以接收来自商家的生成qr码的请求。例如,当最初注册以处理基于qr码的交易时,商家可以向支持服务器(例如,图1的支持服务器120)提交生成qr码的请求。该请求可以由qr码处理模块122处理,并且可以利用从商家接收到的信息来加密或以其他方式生成qr码。例如,qr码处理模块122可以调用位置服务模块126以确定商家的位置,并在生成qr码时基于位置、商家标识符和/或关于商家的其他信息来生成qr码标识符。另外或可选地,qr码可以包括来自支持服务器120的签名,该签名指示批准的qr码和/或批准的商家。在这些和其他实施例中,可以使用预选的哈希算法来哈希qr码。在一些实施例中,所使用的哈希的版本可以被嵌入、加密或以其他方式包括在qr码中,使得扫描设备能够解密qr码并验证来自支持服务器120的签名。

在框305处,可以接收由消费者在商家处时扫描的qr码。例如,商家可以生成qr码(例如,当最初注册以处理基于qr码的交易时),并且可以以物理格式(例如,打印)或以电子形式(例如,显示在屏幕上)显示qr码。消费者可以使用消费者设备(诸如图1的消费者设备110)来扫描qr码。

在框310处,可以确定qr码是否有效。在一些实施例中,在消费者设备上运行的程序可以操作以验证关于qr码的信息。另外或可选地,消费者设备可以将qr码(和/或从扫描qr码中得到的信息)发送给支持服务器。例如,消费者设备可以将qr码发送给支持服务器的qr码处理设备,或者发送给可以依次查询qr码处理设备的支付处理设备。支持服务器可以解密或以其他方式导出存储在qr码中的信息,并且可以验证关于商家、消费者等的信息。在一些实施例中,支持服务器可以存储关于交易的信息,例如关于交易的消费者、商家、or码等的信息。在一些实施例中,支持服务器可以生成与交易相关联的交易标识符。如果qr码被确定为无效,则方法300可以进行到框315。如果qr码被确定为有效,则方法300可以进行到框320。

在框315处,可以返回qr码无效的消息。例如,可以向扫描了qr码的消费者提供qr码无效的消息。在一些实施例中,可以提供qr码无效的原因(例如,无效的商家、无效的商家位置等)。

在框320处,可以将验证与qr相关联的商家的验证消息发送给消费者。例如,支持服务器可以向消费者电子设备发送商家已被验证的消息。在一些实施例中,这样的通信可以包括交易标识符。

在一些实施例中,响应于验证消息,消费者电子设备可以提示消费者输入交易金额。例如,消费者电子设备可以向消费者提供界面以输入消费者打算向商家支付的金额。

在框325处,可以接收来自消费者的支付金额。例如,响应于输入金额,消费者设备可以将金额发送给支持服务器。

在框330处,支付可以由支持服务器处理。例如,支持服务器可以将将资金金额从与支持服务器相关联的消费者账户转移到与支持服务器相关联的商家账户。作为另一示例,支持服务器可以向与消费者具有关系的金融机构发送请求,以将支付金额转移到与相同或不同金融机构处的商家相关联的账户。在这些和其他实施例中,可以通过来自商家或消费者设备之一到支持服务器的api调用来调用支付的处理。

在框335处,可以接收来自商家的支付确认。例如,商家可以向支持服务器发送已接收到交易金额的资金确认的消息。

在框340处,可以将成功消息发送给消费者。例如,支持服务器可以向消费者设备发送指示交易处理完成的消息。

图4可以示出基于qr码的交易的一个潜在流程。图4的流程可以包括其中支付特征包括qr码是静态的、由商家生成并由消费者扫描的流程。商家可以输入交易金额,并且消费者可以确认金额。这样的流程可以利用商家设备和消费者设备之间的配对。这样的流程可以包括对交易的高级别信任,因为商家输入金额,并且消费者批准金额,使得双方都投入到交易中。另外,由于可以在各方之间传递大量消息,并且可以形成安全连接,所以这种流程可以利用大量的网络流量。

在框403处,可以接收来自商家的生成qr码的请求。框403可以与图3的框303相似或相当。

在框405处,可以接收由消费者在商家处时扫描的qr码。框405可以与图3的框305相似或相当。

在框410处,可以确定qr码是否有效。框410可以与图3的框310相似或相当。如果qr码被确定为无效,则方法400可以进行到框415。如果qr码被确定为有效,则方法400可以进行到框420。

在框415处,可以将无效消息发送给消费者。框415可以与图3的框315相似或相当。

在框420处,可以将金额请求消息发送给商家。例如,在确定qr码有效时,消费者设备可以向支持服务器提交指示消费者打算向商家支付的api。api调用可以使支持服务器向商家发送金额请求消息。

在框425处,可以接收来自商家的支付金额。例如,响应于金额的请求,商家可以将支付金额输入到商家设备中。例如,金额请求消息可以使商家设备加载商家输入交易金额的用户界面。商家设备可以将金额发送给支持服务器。

在框430处,可以将支付金额发送给消费者。例如,可以利用商家输入的金额来响应api调用。

在框435处,可以确定消费者是否确认交易金额。如果消费者未确认金额,则方法400可以进行到框440。如果消费者确实确认了金额,则方法400可以进行到框445。

在这些和其他实施例中,框425至435可以包括在商家设备和/或消费者设备之间的一个或多个ssl握手交换,使得可以安全地处理输入和验证的金额。在这些和其他实施例中,支持服务器的配对引擎可以促进这种ssl握手。

在框440处,可以将交易结束消息发送给消费者和/或商家。例如,如果商家输入了不正确的金额,或者如果消费者改变了主意,则消费者可能拒绝确认交易金额。

在框445处,可以响应于消费者确认金额来处理支付。框445可以与图3的框330相似或相当。

在框450处,支持服务器可以接收来自商家的支付确认。框450可以与图3的框335相似或相当。

在框455处,可以将成功消息发送给消费者。框455可以与图3的框340相似或相当。

图5可以示出基于qr码的交易的一种潜在流程。图5的流程可以包括其中支付特征包括qr码是动态的(例如,针对每个交易新生成的)、由商家生成并且由消费者扫描的流程。qr码可以另外包括交易金额,并且消费者可以确认金额。这样的流程可以包括对交易的高级别信任,因为商家生成金额并且消费者批准金额,使得双方都投入到交易中。另外,这样的流程可以利用少量的网络流量。这样的流程对于小商家或个人从业者或计算机基础设施最少或有限的其他商家可能特别有利。另外,这样的流程对于世界上具有有限网络基础设施的国家或区域的商家或因特网连接慢的商家可能是有利的。

在框505处,可以接收来自商家的qr码生成请求。例如,商家可以向支持服务器提交生成qr码的请求。在一些实施例中,请求可以包括交易金额。例如,商家可以手动输入金额,或者商家设备可以自动生成金额(例如,通过对在零售商处扫描的物品进行小计),并且可以将api调用从商家设备发送到支持服务器以生成包括交易金额的qr码。

在框510处,可以基于框505的请求中的金额并且基于商家来生成qr码。例如,支持服务器的qr处理组件可以将接收到的金额以及来自或关于商家的其他信息合并到qr码中。这样的其他信息可以包括商家标识符、商家的位置或商家的分支的位置等。

在框515处,可以将qr码发送给商家。例如,支持服务器可以将qr码发送给商家设备。

在框520处,商家可以显示qr码。例如,商家设备可以接收来自支持服务器的qr码,并且可以在商家设备的显示器上显示qr码。

在框525处,消费者可以扫描qr码。例如,消费者可以使用消费者设备的光学扫描仪来扫描来自商家设备的显示器的qr码。

在框530处,可以确定消费者设备是否验证了qr码。框530可以与图3的框310相似或相当。例如,在消费者设备上运行的应用或其他软件可以解密qr码并验证qr码的一个或多个安全特征以验证qr码有效。另外或可选地,消费者设备可以验证qr码是否被成功扫描,使得消费者设备能够获得包含在qr码中的信息。如果消费者设备未验证qr码,则方法500可以进行到框535。如果消费者设备确实验证了qr码,则方法300可以进行到框540。

在框535处,可以发送关于交易的无效消息。框535可以与图3的框315相似或相当。

在框540处,可以确定消费者是否确认交易金额。例如,响应于qr码被验证,消费者设备可以将包含在qr码中的交易金额呈现给消费者以验证金额。如果消费者未验证金额,则方法500可以返回到框535,在框535处,可以发送关于交易的无效消息。如果消费者验证了金额,则方法500可以进行到框550。

在框545处,可以接收qr码验证消息。在一些实施例中,qr码验证消息可以包括qr码被验证并且交易金额被验证的指示。例如,消费者设备可以响应于qr码和金额被验证而将qr码消息发送到支持服务器。

在框550处,可以处理支付。框550可以与图3的框335相似或相当。

在框555处,可以将成功消息发送给消费者。框555可以与方法3的框345相似或相当。

图6可以示出基于qr码的交易的一个潜在流程。图6的流程可以包括其中支付特征包括qr码是动态的(例如,针对每个交易新生成的)、由消费者生成并且由商家扫描的流程。qr码虽然特定于交易,但可以排除交易金额。商家可以扫描qr码,并且可以输入金额(或者以自动方式从商家设备或者从商家手动输入金额),并且消费者可以验证金额。这样的流程可以包括对交易的高级别信任,因为商家提供金额并且消费者批准金额,使得双方都投入到交易中。另外,这样的流程可以利用配对来提供改进的安全性。另外,这样的流程可以利用大量的网络流量。这样的流程对于较大商家或具有健壮的计算机基础设施的商家可能特别有利。此外,这样的流程对于世界上具有发达的网络基础设施的国家或区域的商家,或者对于在其场所具有高速因特网连接的商家可能是有利的。与先前的流程相比,图6的流程可以提供具有附加安全特征的流程。

在框605处,可以接收来自消费者的qr码生成请求。例如,消费者可以向支持服务器提交生成qr码的请求。在一些实施例中,该请求可以排除交易金额。在这些和其他实施例中,可以将api调用从消费者设备发送到支持服务器,以生成用于交易的qr码。在这些和其他实施例中,请求可以标识或可以不标识消费者打算参与基于qr码的交易的商家。

在框610处,可以将qr码发送给消费者。例如,支持服务器的qr码处理组件可以响应于请求而生成qr码,并将该qr码发送给消费者设备。qr码可以包括关于交易、商家、消费者设备等的信息。

在框613处,商家可以扫描qr码。例如,商家可以使用商家设备的光学扫描仪来扫描来自商家设备的显示器的qr码。在这些和其他实施例中,光学扫描仪可以是商家的pos终端的一部分,或者是消费者在进行购买时经由其与商家交互的其他接口。

在框615处,商家可以确定扫描的qr码是否有效。例如,商家设备可以解密或以其他方式获得来自qr码的信息。如果qr码未被验证,则方法600可以进行到框620。如果qr码被商家验证,则方法600可以进行到框625。

在框620处,可以发送无效消息。例如,商家设备可以向消费者设备发送qr码未被验证的消息。作为另一示例,商家设备可以向支持服务器报告qr码未被验证,并且支持服务器可以通知消费者qr码未被验证。

在框625处,可以接收来自商家设备的支付金额。例如,在验证qr码之后,商家设备可以向商家呈现用户界面,商家可以通过该用户界面输入交易金额。作为另一示例,商家设备可以通过响应于验证qr码而从商家设备发送金额来自动提供金额(例如,通过对在零售商处扫描的物品进行小计)。

在框630处,可以将支付金额发送给消费者。例如,支持服务器可以接收来自商家的支付金额,并将该金额发送给消费者进行批准。

在框635处,可以确定消费者是否确认交易金额。框635可以与图4的框435相似或相当。如果消费者未确认金额,则方法600可以返回到框620,并且无效消息可以被发送到交易的一方或双方。如果消费者确实确认了金额,则方法600可以进行到框640。

在这些和其他实施例中,框625至框635可以包括在商家设备和/或消费者设备之间的一个或多个ssl握手交换,使得可以安全地处理输入和验证的金额。在这些和其他实施例中,支持服务器的配对引擎可以促进这种ssl握手。

在框640处,可以在支持服务器处接收来自消费者的对金额的批准。例如,响应于接收到来自消费者的确认金额的输入,消费者设备可以将批准发送给支持服务器,该批准指示消费者批准用于交易的支付金额。在一些实施例中,可以以请求以消费者确认的金额进行支付的api的形式来发送对金额的批准。

在框645处,可以处理支付。框645可以与图3的框335相似或相当。

在框650处,可以将成功消息发送给消费者。框650可以与图3的框345相似或相当。

图7可以示出基于qr码的交易的一个潜在流程。图7的流程可以包括其中支付特征包括qr码是动态的(例如,针对每个交易新生成的)、由消费者生成并且由商家扫描的流程。qr码可以包括交易金额。商家可以扫描qr码,并可以批准金额。这样的流程可以包括对交易的高级别信任,因为消费者提供金额并且商家确认金额,使得双方都投入到交易中。这样的流程可以利用少量的网络流量,使得可以在具有有限的网络基础设施的位置中利用该流程。这样的流程对于大商家或具有健壮的计算机基础设施的商家可能特别有利。

在框705处,可以接收来自消费者的qr码生成请求。在这些和其他实施例中,qr码生成请求可以包括用于交易的支付金额。例如,消费者可以向支持服务器提交生成qr码的请求。在这些和其他实施例中,可以将api调用从消费者设备发送到支持服务器,以生成用于交易的qr码。在这些和其他实施例中,请求可以标识或可以不标识消费者打算参与基于qr码的交易的商家。api调用可以包括交易金额。

在框710处,可以将请求的qr码发送给消费者。框710可以与图6的框610相似或相当。在接收到qr码之后,消费者设备可以显示qr码,使得商家设备可以扫描qr码。

在框713处,商家可以扫描qr码。例如,商家可以使用商家设备的光学扫描仪来扫描来自商家设备的显示器的qr码。在这些和其他实施例中,光学扫描仪可以是商家的pos终端的一部分,或者是消费者在进行购买时经由其与商家交互的其他接口。

在框715处,可以确定扫描的qr码是否被商家验证。框715可以与图6的框615相似或相当。如果qr码未被验证,则方法700可以进行到框720。如果qr码被商家验证,则方法700可以进行到框725。

在框720处,可以发送无效消息。例如,商家设备可以向消费者设备发送qr码未被验证的消息。作为另一示例,商家设备可以向支持服务器报告qr码未被验证,并且支持服务器可以通知消费者qr码未被验证。

在框725处,可以确定商家是否验证了qr码中标识的金额。例如,在扫描qr码之后,商家设备可以解密或以其他方式提取来自扫描的信息,包括用于交易的支付金额。可以在商家设备处的用户界面上向商家呈现金额,使得商家可以验证交易的支付金额。如果商家未验证金额,则方法700可以返回到框720以发送无效消息(例如,从商家设备到消费者设备或从商家设备到支持服务器,以将无效消息传送给消费者设备)。如果商家验证了金额,则方法700可以进行到框730。

在框730处,可以从商家设备向支持服务器发送验证消息。例如,验证消息可以指示qr码已被验证并且qr码中的金额已被商家验证。在接收到来自商家设备的验证消息之后,消费者和商家都可能已投入验证交易的金额,并且支付可以准备好被处理。

在一些实施例中,在接收到验证消息之后,关于交易的细节可以由支持服务器存储。例如,支持服务器可以存储qr码、交易方、交易的金额、交易的位置、交易标识符等、或关于交易和/或qr码的其他信息。

在框735处,可以处理支付。框735可以与图3的框335相似或相当。

在框740处,可以将成功消息发送给消费者。框740可以与图3的框345相似或相当。

图8示出了根据本公开的一个或多个实施例的可以在被配置为实现基于qr码的交易的系统中使用的示例计算系统800(“系统800”)。系统800可以包括处理器810、存储器820、数据存储装置830、通信单元840、显示器850和光学扫描仪860,其都可以通信地耦合。在一些实施例中,系统800的至少一部分可以是本公开中描述的任何系统或设备的一部分。例如,系统800可以被包括在图1的设备110、120、130和/或140中或作为其一部分。

通常,处理器810可以包括任何合适的专用或通用计算机、计算实体或包括各种计算机硬件或软件模块的处理设备,并且可以被配置为执行存储在任何适用的计算机可读存储介质上的指令。例如,处理器810可以包括微处理器、微控制器、数字信号处理器(dsp)、专用集成电路(sic)、现场可编程门阵列(fpga)或被配置为解释和/或执行程序指令和/或处理数据的任何其他数字或模拟电路。

尽管在图8中被示为单个处理器,但是应当理解,处理器810可以包括分布在任意数量的网络或物理位置上的任意数量的处理器,这些处理器被配置为单独地或共同地执行本文所述的任意数量的操作。在一些实施例中,处理器810可以解释和/或执行存储在存储器820、数据存储装置830、或存储器820和数据存储装置830中的程序指令和/或处理数据。在一些实施例中,处理器810可以从数据存储装置830提取程序指令,并将程序指令加载到存储器820中。

在程序指令被加载到存储器820中之后,处理器810可以执行程序指令。在这些和其他实施例中,qr码处理模块122、支付处理模块124和/或位置服务模块126可以被存储在存储器820和/或数据存储装置830中,并且可以由处理器810加载和执行以执行关于促进基于qr码的交易的操作。

存储器820和数据存储装置830可以包括计算机可读存储介质或用于承载或具有存储在其上的计算机可执行指令或数据结构的一种或多种计算机可读存储介质。这样的计算机可读存储介质可以包括可以由诸如处理器810之类的通用或专用计算机访问的任何可用介质。通过示例,这样的计算机可读存储介质可以包括非暂态计算机可读存储介质,包括随机存取存储器(ram)、只读存储器(rom)、电可擦可编程只读存储器(eeprom)、光盘只读存储器(cd-rom)或其他光盘存储装置、磁盘存储装置或其他磁性存储设备、闪存设备(例如固态存储器设备)或可用于携带或存储计算机可执行指令或数据结构形式的程序代码并且可以由通用或专用计算机访问的任何其他存储介质。上述的组合也可以包括在计算机可读存储介质的范围内。计算机可执行指令可以包括例如被配置成使处理器810执行如本公开中所描述的某个操作或一组操作或控制如本公开中所描述的某个操作或一组操作的执行的指令和数据。

通信设备840可以包括被配置为通过网络发送或接收信息的任何组件、设备、系统或其组合。在一些实施例中,通信设备840可以与位于其他位置、同一位置或甚至同一系统内的其他组件处的其他设备通信。例如,通信设备840可以包括调制解调器、网卡(无线或有线)、红外通信设备、无线通信设备(例如天线)和/或芯片组(例如蓝牙设备、近场通信(nfc)设备、802.6设备(例如,城域网(man)、wifi设备、wimax设备、蜂窝通信设施等)等。通信设备840可以允许与网络和/或任何其他合适的设备或系统(诸如本公开中所描述的那些)交换数据。例如,当系统800被包括在图1的设备110、120、130和/或140中时,通信设备840可以允许设备110、120、130和/或140通过图1的网络150和/或其他通信途径与一个或多个其他设备通信。

显示器850可以被配置为一个或多个显示器,例如lcd、led或其他类型的显示器。显示器850可以被配置为呈现诸如视频之类的内容、文本字幕、用户界面以及处理器810所指示的其他数据。例如,当系统800被包括在图1的设备110、120、130和/或140中时,显示器850可以被配置为呈现qr码。

光学扫描仪860可以包括一个或多个设备,该一个或多个设备被配置为捕获诸如数字图像或qr码、红外扫描和/或其他之类的描绘。例如,光学扫描仪860可以包括照相机(包括视频、数字或模拟照相机)、红外扫描仪、激光扫描仪、电荷耦合器件(ccd)传感器、互补金属氧化物半导体(cmos)传感器或任何其他光电传感器。光学扫描仪860可以被配置为捕获qr码的描绘。在一些实施例中,光学扫描仪860可以被配置为捕获qr码(例如,视频)的多个描绘。

系统800可以包括或被包括在移动设备(诸如蜂窝电话、电子阅读器、移动游戏系统、膝上型计算机和/或其他设备)、台式计算机、服务器计算机、因特网连接的设备(例如,恒温器、安全系统、冰箱和/或其他设备)、可穿戴设备(例如,智能手表、智能眼镜、健身追踪器和/或其他设备)或任何其他设备。

在阅读本公开之后,本领域的技术人员可以认识到,可以在不脱离本公开的范围的情况下对系统800进行修改、增加或省略。例如,系统800可以包括比明确示出和描述的组件更多或更少的组件。

如本公开中所使用的,术语“模块”或“组件”可以指被配置为执行模块或组件的动作的特定硬件实现和/或可以存储在计算系统的通用硬件(例如,计算机可读介质、处理设备等)上和/或由通用硬件执行的软件对象或软件例程。在一些实施例中,本公开中描述的不同组件、模块、引擎和服务可以被实现为在计算系统上执行的对象或处理(例如,作为单独的线程)。虽然本公开中描述的一些系统和方法通常被描述为以软件(存储在通用硬件上和/或由通用硬件执行)实现,但是特定的硬件实现或软件和特定的硬件实现的组合也是可能的并且是可以预期的。在本说明书中,“计算实体”可以是如本公开中先前定义的任何计算系统,或者是在计算系统上运行的任何模块或模块的组合。

前述公开并非旨在将本公开限制为所公开的精确形式或特定使用领域。因此,可以预期,根据本公开,无论在本文中是否明确描述或暗示,对本公开的各种替代实施例和/或修改都是可能的。如此描述了本公开的实施例,可以认识到,在不脱离本公开的范围的情况下,可以在形式和细节上进行改变。因此,本公开仅由权利要求限制。

本文特别是在所附权利要求(例如,所附权利要求的主体)中使用的术语通常旨在作为“开放”术语(例如,术语“包含”应解释为“包含但不限于”,术语“具有”应被解释为“至少具有”,术语“包括”应被解释为“包括但不限于”等)。

另外,如果打算采用特定数量的引入的权利要求叙述,则将在权利要求中明确地叙述这种意图,并且在没有这种叙述的情况下,不存在这种意图。例如,为了帮助理解,以下所附权利要求可以包含介绍性短语“至少一个”和“一个或多个”的使用以引入权利要求叙述。但是,这种短语的使用不应被解释为暗示由不定冠词“一(a)”或“一个(an)”引入的权利要求叙述将包含该引入的权利要求叙述的任何特定权利要求限制为仅包含一个这种叙述的实施例,即使当同一权利要求包括介绍性短语“一个或多个”或“至少一个”以及例如“一”或“一个”的不定冠词(例如,“一”和/或“一个”应被解释为表示“至少一个”或“一个或多个”);对于用于引入权利要求叙述的定冠词的使用也是如此。

另外,即使明确叙述了特定数量的引入的权利要求叙述,本领域技术人员将认识到,这样的叙述应被解释为表示至少所叙述的数量(例如,“两个叙述”的裸露叙述,而没有其他修饰语,表示至少两个叙述,或两个或更多个叙述)。此外,在使用类似于“a、b和c等中的至少一个”或“a、b和c等中的一个或多个”的惯例的情况下,通常这样的结构旨在包括单独的a、单独的b、单独的c、a和b一起、a和c一起、b和c一起、或a,b和c一起等。术语“和/或”的使用旨在以此方式解释。

此外,无论在说明书、权利要求还是附图中,呈现两个或更多个替代术语的任何歧义词或短语都应被理解为考虑包括这些术语中的一个术语、这些术语中的任一术语或两个术语的可能性。例如,短语“a或b”应被理解为包括“a”或“b”或“a和b”的可能性。

然而,这种短语的使用不应被解释为暗示由不定冠词“一”或“一个”引入的权利要求叙述将包含这种引入的权利要求叙述的任何特定权利要求限制为仅包含一个这种叙述的实施例,即使当同一权利要求包括介绍性短语“一个或多个”或“至少一个”和例如“一”或“一个”的不定冠词(例如,“一”和/或“一个”应被解释为表示“至少一个”或“一个或多个”);对于用于引入权利要求叙述的定冠词的使用也是如此。

另外,术语“第一”、“第二”、“第三”等的使用在本文中不一定用于表示特定的顺序。通常,术语“第一”、“第二”、“第三”等用于区分不同的元素。在没有具体示出术语“第一”、“第二”、“第三”等表示特定顺序的情况下,这些术语不应被理解为表示特定顺序。

本文叙述的所有示例和条件语言旨在用于教学目的,以帮助读者理解本发明和发明人为进一步发展本领域所贡献的构思,并且应被解释为不限于这种具体叙述的示例和条件。尽管详细描述了本公开的实施例,但是应当理解,在不脱离本公开的精神和范围的情况下,可以对其进行各种改变、替换和变更。

提供对所公开的实施例的先前描述以使本领域的任何技术人员能够制造或使用本公开。对这些实施例的各种修改对于本领域技术人员而言是显而易见的,并且在不脱离本公开的精神或范围的情况下,本文中定义的一般原理可以应用于其他实施例。因此,本公开不旨在限于本文所示的实施例,而是应符合与本文公开的原理和新颖性特征一致的最广范围。

当前第1页1 2 
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1