CN108140182A - 用于支付系统的消息分派器 - Google Patents

用于支付系统的消息分派器 Download PDF

Info

Publication number
CN108140182A
CN108140182A CN201680054971.1A CN201680054971A CN108140182A CN 108140182 A CN108140182 A CN 108140182A CN 201680054971 A CN201680054971 A CN 201680054971A CN 108140182 A CN108140182 A CN 108140182A
Authority
CN
China
Prior art keywords
message
module
payment
instruction
function module
Prior art date
Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
Granted
Application number
CN201680054971.1A
Other languages
English (en)
Other versions
CN108140182B (zh
Inventor
K·韦德拉
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
Block Inc
Original Assignee
Square Inc
Priority date (The priority date is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the date listed.)
Filing date
Publication date
Application filed by Square Inc filed Critical Square Inc
Publication of CN108140182A publication Critical patent/CN108140182A/zh
Application granted granted Critical
Publication of CN108140182B publication Critical patent/CN108140182B/zh
Active legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06QINFORMATION AND COMMUNICATION TECHNOLOGY [ICT] SPECIALLY ADAPTED FOR ADMINISTRATIVE, COMMERCIAL, FINANCIAL, MANAGERIAL OR SUPERVISORY PURPOSES; SYSTEMS OR METHODS SPECIALLY ADAPTED FOR ADMINISTRATIVE, COMMERCIAL, FINANCIAL, MANAGERIAL OR SUPERVISORY PURPOSES, NOT OTHERWISE PROVIDED FOR
    • G06Q20/00Payment architectures, schemes or protocols
    • G06Q20/30Payment architectures, schemes or protocols characterised by the use of specific devices or networks
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06QINFORMATION AND COMMUNICATION TECHNOLOGY [ICT] SPECIALLY ADAPTED FOR ADMINISTRATIVE, COMMERCIAL, FINANCIAL, MANAGERIAL OR SUPERVISORY PURPOSES; SYSTEMS OR METHODS SPECIALLY ADAPTED FOR ADMINISTRATIVE, COMMERCIAL, FINANCIAL, MANAGERIAL OR SUPERVISORY PURPOSES, NOT OTHERWISE PROVIDED FOR
    • G06Q20/00Payment architectures, schemes or protocols
    • G06Q20/30Payment architectures, schemes or protocols characterised by the use of specific devices or networks
    • G06Q20/34Payment architectures, schemes or protocols characterised by the use of specific devices or networks using cards, e.g. integrated circuit [IC] cards or magnetic cards
    • G06Q20/341Active cards, i.e. cards including their own processing means, e.g. including an IC or chip
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06KGRAPHICAL DATA READING; PRESENTATION OF DATA; RECORD CARRIERS; HANDLING RECORD CARRIERS
    • G06K7/00Methods or arrangements for sensing record carriers, e.g. for reading patterns
    • G06K7/08Methods or arrangements for sensing record carriers, e.g. for reading patterns by means detecting the change of an electrostatic or magnetic field, e.g. by detecting change of capacitance between electrodes
    • G06K7/082Methods or arrangements for sensing record carriers, e.g. for reading patterns by means detecting the change of an electrostatic or magnetic field, e.g. by detecting change of capacitance between electrodes using inductive or magnetic sensors
    • G06K7/083Methods or arrangements for sensing record carriers, e.g. for reading patterns by means detecting the change of an electrostatic or magnetic field, e.g. by detecting change of capacitance between electrodes using inductive or magnetic sensors inductive
    • G06K7/084Methods or arrangements for sensing record carriers, e.g. for reading patterns by means detecting the change of an electrostatic or magnetic field, e.g. by detecting change of capacitance between electrodes using inductive or magnetic sensors inductive sensing magnetic material by relative movement detecting flux changes without altering its magnetised state
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06QINFORMATION AND COMMUNICATION TECHNOLOGY [ICT] SPECIALLY ADAPTED FOR ADMINISTRATIVE, COMMERCIAL, FINANCIAL, MANAGERIAL OR SUPERVISORY PURPOSES; SYSTEMS OR METHODS SPECIALLY ADAPTED FOR ADMINISTRATIVE, COMMERCIAL, FINANCIAL, MANAGERIAL OR SUPERVISORY PURPOSES, NOT OTHERWISE PROVIDED FOR
    • G06Q20/00Payment architectures, schemes or protocols
    • G06Q20/08Payment architectures
    • G06Q20/10Payment architectures specially adapted for electronic funds transfer [EFT] systems; specially adapted for home banking systems
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06QINFORMATION AND COMMUNICATION TECHNOLOGY [ICT] SPECIALLY ADAPTED FOR ADMINISTRATIVE, COMMERCIAL, FINANCIAL, MANAGERIAL OR SUPERVISORY PURPOSES; SYSTEMS OR METHODS SPECIALLY ADAPTED FOR ADMINISTRATIVE, COMMERCIAL, FINANCIAL, MANAGERIAL OR SUPERVISORY PURPOSES, NOT OTHERWISE PROVIDED FOR
    • G06Q20/00Payment architectures, schemes or protocols
    • G06Q20/08Payment architectures
    • G06Q20/20Point-of-sale [POS] network systems
    • G06Q20/202Interconnection or interaction of plural electronic cash registers [ECR] or to host computer, e.g. network details, transfer of information from host to ECR or from ECR to ECR
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06QINFORMATION AND COMMUNICATION TECHNOLOGY [ICT] SPECIALLY ADAPTED FOR ADMINISTRATIVE, COMMERCIAL, FINANCIAL, MANAGERIAL OR SUPERVISORY PURPOSES; SYSTEMS OR METHODS SPECIALLY ADAPTED FOR ADMINISTRATIVE, COMMERCIAL, FINANCIAL, MANAGERIAL OR SUPERVISORY PURPOSES, NOT OTHERWISE PROVIDED FOR
    • G06Q20/00Payment architectures, schemes or protocols
    • G06Q20/08Payment architectures
    • G06Q20/20Point-of-sale [POS] network systems
    • G06Q20/204Point-of-sale [POS] network systems comprising interface for record bearing medium or carrier for electronic funds transfer or payment credit
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06QINFORMATION AND COMMUNICATION TECHNOLOGY [ICT] SPECIALLY ADAPTED FOR ADMINISTRATIVE, COMMERCIAL, FINANCIAL, MANAGERIAL OR SUPERVISORY PURPOSES; SYSTEMS OR METHODS SPECIALLY ADAPTED FOR ADMINISTRATIVE, COMMERCIAL, FINANCIAL, MANAGERIAL OR SUPERVISORY PURPOSES, NOT OTHERWISE PROVIDED FOR
    • G06Q20/00Payment architectures, schemes or protocols
    • G06Q20/30Payment architectures, schemes or protocols characterised by the use of specific devices or networks
    • G06Q20/32Payment architectures, schemes or protocols characterised by the use of specific devices or networks using wireless devices
    • G06Q20/327Short range or proximity payments by means of M-devices
    • G06Q20/3278RFID or NFC payments by means of M-devices
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06QINFORMATION AND COMMUNICATION TECHNOLOGY [ICT] SPECIALLY ADAPTED FOR ADMINISTRATIVE, COMMERCIAL, FINANCIAL, MANAGERIAL OR SUPERVISORY PURPOSES; SYSTEMS OR METHODS SPECIALLY ADAPTED FOR ADMINISTRATIVE, COMMERCIAL, FINANCIAL, MANAGERIAL OR SUPERVISORY PURPOSES, NOT OTHERWISE PROVIDED FOR
    • G06Q20/00Payment architectures, schemes or protocols
    • G06Q20/30Payment architectures, schemes or protocols characterised by the use of specific devices or networks
    • G06Q20/34Payment architectures, schemes or protocols characterised by the use of specific devices or networks using cards, e.g. integrated circuit [IC] cards or magnetic cards
    • G06Q20/352Contactless payments by cards
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06QINFORMATION AND COMMUNICATION TECHNOLOGY [ICT] SPECIALLY ADAPTED FOR ADMINISTRATIVE, COMMERCIAL, FINANCIAL, MANAGERIAL OR SUPERVISORY PURPOSES; SYSTEMS OR METHODS SPECIALLY ADAPTED FOR ADMINISTRATIVE, COMMERCIAL, FINANCIAL, MANAGERIAL OR SUPERVISORY PURPOSES, NOT OTHERWISE PROVIDED FOR
    • G06Q20/00Payment architectures, schemes or protocols
    • G06Q20/30Payment architectures, schemes or protocols characterised by the use of specific devices or networks
    • G06Q20/34Payment architectures, schemes or protocols characterised by the use of specific devices or networks using cards, e.g. integrated circuit [IC] cards or magnetic cards
    • G06Q20/356Aspects of software for card payments
    • G06Q20/3567Software being in the reader
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06QINFORMATION AND COMMUNICATION TECHNOLOGY [ICT] SPECIALLY ADAPTED FOR ADMINISTRATIVE, COMMERCIAL, FINANCIAL, MANAGERIAL OR SUPERVISORY PURPOSES; SYSTEMS OR METHODS SPECIALLY ADAPTED FOR ADMINISTRATIVE, COMMERCIAL, FINANCIAL, MANAGERIAL OR SUPERVISORY PURPOSES, NOT OTHERWISE PROVIDED FOR
    • G06Q20/00Payment architectures, schemes or protocols
    • G06Q20/38Payment protocols; Details thereof

Abstract

支付读取器包括支付接口和多个固件模块。固件模块包括消息分派器模块和多个功能模块,多个功能模块包括与支付接口相关联的支付模块和与支付信息的处理相关联的交易处理模块。消息分派器模块提供导致执行功能模块的消息。第一消息类型与功能模块的并发操作相关联,以及第二消息类型与功能模块的顺序处理相关联。

Description

用于支付系统的消息分派器
相关申请的交叉引用
本申请要求于2015年9月23日提交的、题为“Message Dispatcher for PaymentSystem(用于支付系统的消息分派器)”的美国非临时申请第14/863,381号的优先权,该美国非临时申请于2016年5月3日获得专利授权,专利号为9,330,383,其全部内容通过引用并入本文。本申请还要求于2016年2月24日提交的、题为“Message Dispatcher for PaymentSystem(用于支付系统的消息分派器)”美国非临时申请第15/052,790号的优先权,该美国非临时申请的全部内容通过引用并入本文。本申请还要求于2016年2月24日提交的、题为“Message Dispatcher for Payment System(用于支付系统的消息分派器)”的美国非临时申请第15/052,792号的优先权,该美国非临时申请的全部内容通过引用并入本文。
背景技术
电子交易处理系统可以使用支付卡和支付终端。支付卡上具有磁条,该磁条可在支付终端上刷卡。支付终端从磁条中读取支付信息(诸如信用卡号),并将支付信息连同与交易相关的信息一起发送到远程交易服务器。远程交易服务器确定该交易是否被批准并向支付终端提供响应。已经发现这种电子交易处理系统容易受到欺诈。例如,支付卡的磁条在没有加密的情况下将信用卡号提供给支付终端,使得可以从支付卡或支付终端获取该信息。
已经开发了降低欺诈交易可能性的支付技术。欧陆卡/万事达卡/维萨(“EMV”,Europay/Mastercard/Visa)系统可以使用作为支付卡组件的无源电子芯片来实现。由支付终端向无源电子电路提供电力,所述支付终端与无源电子电路物理接合或通过由支付终端发送的无线载波信号的感应耦合来提供电力。支付卡的无源电子电路经由物理接口或通过调制无线载波信号来激活并与支付终端通信。支付信息在传输到支付终端之前由无源电子电路加密。
近场通信(“NFC”)系统有助于电子设备(诸如智能手机、智能手表和平板电脑等)之间的数据传输。NFC支付系统已经被实现,其中电子设备将支付信息与提供无线载波信号的支付终端进行通信。电子设备和支付终端通过调制无线载波信号而进行通信。与EMV支付系统一样,启用NFC的设备可以按加密形式将支付信息发送到支付终端。处理EMV或NFC支付交易的支付终端可以包括专用软件以用于处理芯片卡或电子设备与远程支付服务器之间的交易。
附图说明
结合附图考虑以下详细描述,本公开的上述和其它特征、其实质和各种优点将变得更加明显,在附图中:
图1示出根据本公开一些实施例的支付系统的示意性框图;
图2描绘根据本公开一些实施例的支付设备和支付读取器的示意性框图;
图3描绘根据本公开一些实施例的支付读取器的框图;
图4描绘根据本公开一些实施例的NFC芯片的组件的框图;
图5描绘根据本公开一些实施例的支付读取器的软件框图;以及
图6描绘图示根据本公开一些实施例的用于使用消息分派器模块和功能模块来处理消息的示例性步骤的非限制性流程图。
具体实施方式
支付读取器提供销售点应用程序和支付设备(诸如EMV芯片卡或NFC支付设备等)之间的接口。支付交易是由诸如在移动设备上运行销售点应用程序的商户发起的。销售点应用程序通过通信接口与支付读取器通信,并且支付读取器继续处理交易。支付读取器使用近场通信或者如果顾客已经将芯片卡插入支付读取器的插槽中则通过与芯片卡的直接电连接来发起与支付设备的通信。在支付读取器等待支付设备提供支付信息期间,其还将执行其它功能,诸如与销售点应用程序通信并操作支付读取器的其它组件。
一旦从支付设备接收到支付信息,则支付读取器将根据交易处理流程来处理交易。例如,支付读取器可以基于由用户提供的支付类型(例如维萨、万事达卡等)来选择交易处理流程。支付读取器然后将根据交易处理流程来处理支付,包括对支付信息进行加密以最终发送到支付服务器。支付读取器与销售点应用程序通信(例如,使用无线连接诸如蓝牙等进行通信)并且销售点应用程序经由通信连接与支付服务器通信,该通信连接诸如网际协议(IP)连接等。支付服务器确定该交易是否被批准并将此传回给销售点应用程序和支付读取器。
支付读取器具有存储器和处理单元,其中存储器存储用于执行支付读取器的功能的指令,处理单元用于执行这些指令。这些指令以固件形式实现,并被分成多个固件模块。固件模块包括消息分派器模块和多个功能模块。每个功能模块与支付读取器的不同功能相关联,诸如支付应用模块具有用于处理支付和与其它设备通过接口连接的指令、非接触式模块具有用于操作非接触式NFC通信接口的指令、接触式模块具有用于操作接触式接口的指令、交易处理模块具有用于交易处理流程的指令、加密模块具有用于执行加密的指令,以及通信模块具有用于操作通信接口的指令(例如,用于与销售点应用程序通信)。
消息分派器模块协调功能模块的执行。在其操作过程中,功能模块会生成消息。这些消息包括消息标识符(“消息ID”),消息标识符指示所提供的消息类型。消息分派器生成包含消息的队列数据结构,诸如消息的循环队列或消息的压入和弹出堆栈。当消息到达队列数据结构中的适当位置时,消息分派器将该消息提供给一个或多个功能模块。当功能模块确定它应该响应于消息ID执行一些操作时,它将执行其指令。当处理完成时,功能模块在该消息内设置标志。消息分派器模块从队列数据结构移除该消息并转到下一条消息。
一些消息可以是允许进行并发处理的定时消息。例如,在功能模块可能花费较长时间量进行其处理的情况下,可以使用定时消息。例如,支付模块(诸如非接触式模块或接触式模块)执行用于与芯片卡或支持NFC的电子设备通过接口连接的指令。这些通信发生时的时间取决于用户将芯片卡或支持NFC的电子设备相对于支付读取器放置在适当位置。因此,定时消息可以提供一种机制以延迟调用非接触式模块和接触式模块,使得芯片卡或支持NFC的电子设备处于与支付读取器通信的适当位置。其它消息可以由其它功能模块并发处理,直到定时消息被调用为止。
定时消息包括定时值。消息分派器使用此定时值来确定何时以及如何将消息分发给功能模块。在一个实施例中,定时值可以确定何时将定时消息分发给队列数据结构。每当定时消息到达队列数据结构的开始处时,就确定定时值是否过期(例如,基于自定时消息被创建以来所经过的时间与定时值的比较)。在定时值过期之前,将定时消息返回到队列。一旦分发,如果非接触式模块和接触式模块均未指示处理应该停止(例如,指示处理已完成或发生错误),则将定时消息返回到队列数据结构。在另一个实施例中,定时值可以确定定时消息应当在多长时间中继续被分发给功能模块并返回到队列。每当定时消息到达队列数据结构的开始处时,它就会被分发给功能模块。在定时值过期或消息已被处理之前,将消息自动返回到队列数据结构。一旦定时值过期,则将消息就从队列中移除,并且可指示错误。
图1描绘根据本公开一些实施例的支付系统1的示意性框图。在一个实施例中,支付系统1包括支付设备10、支付终端20、网络30和支付服务器40。支付系统1的这些组件有助于商户和顾客之间的电子支付交易。
商户和顾客之间的电子交互发生在顾客的支付设备10和商户的支付终端20之间。顾客具有支付设备10,诸如具有磁条的信用卡、具有EMV芯片的信用卡或支持NFC的电子设备,诸如运行支付应用程序的智能手机。商户具有支付终端20,诸如能够处理支付信息(例如,加密的支付卡数据和用户身份验证数据)和交易信息(例如,购买金额和购买点信息)的支付终端或其它电子设备,诸如运行支付应用程序的智能手机或平板电脑。
在一些实施例中(例如,对于低价值交易或对于少于由NFC或EMV支付设备10所指示的支付限额的支付交易),支付交易的初始处理和批准可以在支付终端处进行处理。在其它实施例中,支付终端20可以通过网络30与支付服务器40进行通信。尽管支付服务器40被描绘为单个简化块,但将理解的是,支付服务器40可以包括由任何合适实体操作的任何合适数量的服务器,诸如支付服务系统以及商户和顾客的一个或多个银行。支付终端20和支付服务器40用支付和交易信息进行通信以确定该交易是否被授权。例如,支付终端20可以通过网络30向支付服务器40提供加密的支付数据、用户身份验证数据、购买金额信息和购买点信息。支付服务器40可以基于该接收到的信息以及与顾客或商户账户有关的信息来确定该交易是否被授权,并且通过网络30对支付终端20作出响应以指示该支付交易是否被授权。支付服务器40还可以将附加信息(诸如交易标识符)传输到支付终端20。
基于在支付终端20处从支付服务器40接收到的信息,商户可以向顾客指示交易是否已被批准。在诸如芯片卡支付设备的一些实施例中,可以在支付读取器处例如在支付终端的屏幕处指示批准。在诸如作为NFC支付设备操作的智能手机或手表的其它实施例中,可以将关于获批准交易的信息和附加信息(例如,收据、特价、优惠券或者忠诚计划信息)提供给NFC支付设备以供在智能手机或手表的屏幕上显示或存储在存储器中。
图2描绘根据本公开一些实施例的支付设备10和支付读取器20的示意性框图。尽管可以理解,支付系统1的支付设备10和支付读取器20可以按任何合适的方式实现,但是在一个实施例中,支付读取器20可以包括支付读取器22和商户设备29。支付终端20的读取器22可以有助于支付设备10和运行销售点应用程序的商户设备29之间的交易。
在一个实施例中,支付设备10可以是能够与支付终端20通信(诸如,通过支付读取器22通信)的设备,诸如NFC设备12或EMV芯片卡14。芯片卡14可以包括安全集成电路,其能够与支付终端(诸如支付终端20)进行通信、生成加密的支付信息,并根据一种或多种电子支付标准(诸如由EMVCo颁布的电子支付标准)提供加密的支付信息以及其它支付或交易信息(例如,对于在本地处理的支付的交易限制)。芯片卡14可以包括用于与支付读取器22通信的接触引脚(例如,根据ISO 7816),并且在一些实施例中,可以经由近场15感应耦合到支付读取器22。感应耦合到支付读取器22的芯片卡14可以根据无线通信标准(诸如ISO14443)使用由支付读取器22提供的无线载波信号的负载调制与支付读取器22通信。
NFC设备12可以是能够与支付终端20进行安全交易(例如,经由与支付读取器22通信进行安全交易)的电子设备,诸如智能手机、平板电脑或智能手表等。NFC设备12可以具有用于执行安全交易功能的硬件(例如,包括硬件和可执行代码的安全元件)和/或软件(例如,根据宿主卡仿真例程在处理器上运行的可执行代码)。在支付交易期间,NFC设备12可以经由近场15感应耦合到支付读取器22,并且可以根据一个或多个无线通信标准(诸如ISO14443和ISO 18092)通过由支付读取器22提供的无线载波信号的有源或无源负载调制与支付终端20通信。
尽管支付终端20可以用任何适当的方式实现,但是在一个实施例中,支付终端20可以包括支付读取器22和商户设备29。商户设备29运行销售点应用程序,该销售点应用程序提供用于商户的用户界面并且有助于与支付读取器22和支付服务器40进行通信。支付读取器22可以有助于支付设备10和商户设备29之间的通信。如本文所述,支付设备10(诸如NFC设备12或芯片卡14)可以经由感应耦合与支付读取器22通信。这在图2中示出为近场15,其包括从支付读取器22发送的具有合适频率(例如,13.56MHz)的无线载波信号。
在一个实施例中,支付设备10可以是非接触式支付设备,诸如NFC设备12或芯片卡14,并且支付读取器22和非接触式支付设备10可以通过调制近场15内的无线载波信号来进行通信。为了向支付设备10发送信息,支付读取器22基于要从支付读取器22发送的数据来改变无线载波信号的振幅和/或相位,从而产生发送到支付设备的无线数据信号。该信号由支付读取器22的天线发送,其被调谐为以13.56MHz发送,并且如果支付设备10还具有在近场15的范围内(例如,0至10cm)的适当调谐的天线,则支付设备接收由支付读取器22传送的无线载波信号或无线数据信号。在无线数据信号的情况下,支付设备10的处理电路能够解调所接收的信号并处理从支付读取器22接收到的数据。
当非接触式支付设备(诸如支付设备10)处于近场15的范围内时,其被感应地耦合到支付读取器22。因此,支付设备10还能够通过有源或无源负载调制来调制无线载波信号。通过改变支付设备10的天线的调谐特性(例如通过基于待被传送的调制数据选择性地将并行负载切换到天线电路中),无线载波信号在支付设备10和支付读取器22两者处被修改,产生调制的无线载波信号。以这种方式,支付设备能够将调制数据发送到支付读取器22。
在一些实施例中,支付读取器22还包括能够接收芯片卡14的EMV插槽21。芯片卡14可具有触点,该触点当芯片卡14插入到EMV插槽21中时与支付读取器22的相应触点接合。支付读取器22通过这些触点向芯片卡14的EMV芯片提供电力,并且支付读取器22和芯片卡14通过由触点建立的通信路径进行通信。
支付读取器22还可以包括用于与磁条卡通过接口连接的硬件(图2中未示出)。在一些实施例中,硬件可以包括引导顾客刷或插入磁条卡磁化条的槽,使得磁条读取器可以从磁条卡接收支付信息。接收到的支付信息然后由支付读取器22处理。
商户设备29可以是任何合适的设备,诸如平板电脑支付设备24、移动支付设备26或专用支付终端28。在计算设备(诸如平板支付设备24或移动支付设备26)的情况下,销售点应用程序可以提供购买和支付信息的输入、与顾客的交互以及与支付服务器的通信。例如,支付应用程序可以提供商户能够选择的服务的菜单以及用于使交易自动化的一系列菜单或屏幕。支付应用程序还可以有助于输入顾客身份验证信息,诸如签名、PIN码或生物识别信息。类似的功能也可以在专用支付终端28上提供。
商户设备29可以经由通信路径23/25/27与支付读取器22通信。尽管通信路径23/25/27可以经由有线(例如,以太网、USB、火线、闪电)连接或无线(例如Wi-Fi、蓝牙、NFC或ZigBee)连接来实现,但是在一个实施例中,支付读取器22可以经由蓝牙或蓝牙低能耗接口与商户设备29通信。如本文所述,在一些实施例中,支付交易的处理可以在支付读取器22和商户设备29上在本地进行,例如,当交易金额小或者不存在与支付服务器的连接时。在其它实施例中,商户设备29或支付读取器22可以经由公共或专用通信网络30与支付服务器40通信。尽管通信网络30可以是任何合适的通信网络,但是在一个实施例中,通信网络30可以是互联网,并且支付和交易信息可以按加密格式在支付终端20和支付服务器40之间通信。
图3描绘根据本公开一些实施例的支付读取器22的框图。尽管特定的组件在图3中以特定的布置来描绘,但是应理解的是,支付读取器22可以包括额外的组件,图3中描绘的一个或多个组件可以不包括在支付读取器22中,并且支付读取器22的组件可以按任何合适的方式重新布置。除了其它功能之外,支付读取器22可以作为NFC通信设备进行操作以用于与非接触式支付设备(诸如支付设备10)交换数据。在一个实施例中,支付读取器22包括NFC芯片102、NFC电路100、无线通信接口160、有线通信接口162、电源164和接触式接口166。尽管NFC电路100和接触式接口166是可包括在支付读取器22内的支付接口类型的示例,但将理解的是,任何合适的支付接口(例如,磁卡读取器)可以被包括在根据本公开实施例的支付读取器22内。
支付读取器22的NFC芯片102可以包括执行和控制支付读取器22的功能所需的任何合适的硬件、软件、存储器和电路。在一个实施例中,NFC芯片102包括一个或多个处理器,其执行存储在NFC芯片102的存储器中的指令以控制支付读取器22的操作和处理。如本文所用的那样,处理器可以包括具有执行本文描述的处理功能所需处理能力的一个或多个处理器,包括但不限于硬件逻辑、在处理器上运行的计算机可读指令,或其任何适当的组合。处理器可以运行软件以执行本文描述的操作,包括以在有形的非暂时性计算机可读存储介质上的机器可读形式访问的软件,以及描述硬件配置的软件,诸如用于设计芯片的硬件描述语言(HDL)软件。
在一个实施例中,NFC芯片102可以包括两个RISC处理器,其配置为基于存储在相应存储器中的可执行指令分别执行通用处理和加密处理功能。如本文所用的那样,存储器可以指代有形或非暂时性存储介质。有形(或非暂时性)存储介质的示例包括磁盘、拇指驱动器和存储器等,但不包括传播信号。有形计算机可读存储介质包括易失性和非易失性、可移除和不可移除介质,诸如计算机可读指令、数据结构、程序模块或其它数据。这种介质的示例包括RAM、ROM、EPROM、EEPROM、SRAM、闪存、磁盘或光存储、磁存储或存储由处理器或计算设备访问的信息的任何其它非暂态介质。
NFC芯片102还可以包括附加电路,诸如接口电路、模拟前端电路和安全电路。在一个实施例中,接口电路可以包括用于与无线接口160(例如,Wi-Fi、蓝牙和蓝牙低能耗)通过接口连接的电路,用于与有线接口162(例如USB、以太网、火线和闪电)通过接口连接的电路,用于与其它通信接口或总线(例如,I2C、SPI、UART和GPIO)通过接口连接的电路,用于与电源接口164通过接口连接的电路(例如,电力管理电路、电力转换电路、整流器和电池充电电路),以及用于与接触式接口166通过接口连接的电路(例如,用于与芯片卡14的EMV芯片通过接口连接的电力和通信电路)。
在一个实施例中,NFC芯片102的模拟前端电路包括用于与NFC电路100的模拟组件通过接口连接的电路(例如,电磁兼容性(EMC)电路、匹配电路和调制电路)。NFC芯片102的安全电路可以包括用于保护敏感信息(诸如加密密钥、商户信息和顾客信息等)的电路。在一个实施例中,安全电路可以包括篡改保护电路和电子熔丝,用于响应于获得对NFC芯片102的不正当访问的尝试而选择性地切断供电或禁用NFC芯片的一个或多个组件,如本文更详细描述的那样。
无线接口160包括用于无线地(诸如Wi-Fi、蓝牙或蓝牙低能耗)与外部电子设备通信的硬件和软件。有线接口162包括硬件、软件和物理接口,以有助于经由诸如USB、以太网、火线或闪电等接口与外部电子设备进行的有线通信。使用无线接口116和有线接口162,支付读取器22可以与外部电子设备(诸如商户设备29)通信。在一些实施例中,支付读取器22可以与诸如远程服务器的其它电子设备通信(例如,用于将支付或交易信息直接发送到服务器,从服务器接收更新或与服务器通信身份验证或批准数据)或与另一电子设备通信。
电源164可以包括一个或多个电源,诸如与AC电源或电池的物理连接。电源164可以包括用于转换AC电力和/或生成供支付读取器22的组件使用的多个DC电压的电力转换电路。当电源164包括电池时,电池可以经由物理电力连接、经由感应充电,或经由任何其它合适的方法充电。
接触式接口166可以是用于向支付芯片(诸如芯片卡14的EMV芯片等)提供电力并且与EMV芯片通信的合适的接口。根据EMV规范,接触式接口166可以包括用于与芯片卡14在物理上通过接口连接的多个接触引脚。
支付读取器22的NFC芯片102经由多个引脚(诸如正发送引脚(TXP)、负发送引脚(TXN)和接收引脚(RX))与NFC电路100进行通信。发送引脚TXP和TXN可以提供具有振幅、频率和波形的输出信号。在一个实施例中,从TXP和TXN提供的信号可以是差分方波信号并且可以被提供给NFC电路100的调制电路110。
调制电路110可以包括用于根据TXP和TXN的输出来输出调制信号的电路(例如,H桥电路)。调制电路110还可以执行其它功能,诸如施加适合于在天线140上传输的增加的电压。调制电路110的输出可以被提供给EMC电路120。EMC电路120可以包括一个或多个组件,诸如感应器和电容器,以便提供与其它高频信号的可接受的电磁兼容性。EMC电路120的输出可以被提供给匹配电路130。匹配电路130可以包括合适的组件,诸如电阻器、感应器和电容器,以提供天线140的阻抗匹配和调谐。
调制电路110、EMC电路120和匹配电路130可以一起形成耦合到天线140的发送电路。然而,将理解的是,发送电路可以包括耦合NFC芯片的任何合适的电路102(例如,由TXP和TXN引脚所指示的其处理单元的输出),图3中所描绘的电路组件可以按任何合适的方式布置,并且可以从其中添加或省略任何合适的组件。
在支付读取器22的NFC芯片102的操作期间,发送引脚TXP和TXN可以输出载波信号或调制信号。载波信号可以是具有固定频率(诸如13.56MHz)的信号。载波信号被提供给调制电路110,该调制电路110可以按统一的方式(例如,通过施加升压)修改来自NFC芯片102的输出信号。EMC电路120和匹配电路130的组件(例如,电阻器、感应器和电容器)例如通过修改近似方波输出来修改载波信号的输出波形,使得由天线140发送的信号接近具有载波频率的正弦波。发送电路的第一部分因此将TXP引脚的输出耦合到天线140的第一端子,而发送电路的第二部分将TXN引脚的输出耦合到天线140的第二端子。然后,载波信号作为无线载波信号在天线140上传输。
当由NFC芯片102对载波信号应用调制时,调制电路110可以响应于数据信号来输出调制信号,该调制信号相对于载波信号在振幅、相位或二者上变化。如本文所述,NFC芯片102可以实现调制过程以单独或与调制电路110组合地生成调制信号。该调制信号被提供给发送电路并且作为无线数据信号在天线140上发送。
NFC芯片102通过接收引脚RX监视天线140处的信号。接收引脚RX耦合到接收电路,该接收电路在一个实施例中可以包括匹配电路134并且可以耦合到天线140的第二端子。以这种方式,NFC芯片102可以监视正在发送的内容(例如,无线载波和调制信号)以及由非接触式支付设备10(诸如NFC设备12或芯片卡14)施加到载波信号的变化。基于对接收信号的这些调制,NFC芯片102能够从非接触式支付设备10接收通信。
图4描绘根据本公开一些实施例的NFC芯片102的组件的框图。虽然在图4中以特定配置描绘了特定组件,但应理解的是,NFC芯片102可以包括额外的组件,某些组件可以不包括在NFC芯片102中,并且NFC芯片102的组件可以按任何合适的方式重新布置。
在一个实施例中,NFC芯片102可以包括处理单元204和存储器210。在一个实施例中,处理单元204可以包括标记为CPU0 206和CPU1 208的两个CPU。CPU0 206可以是控制NFC芯片102的大多数功能的通用处理器。CPU 208可以是与NFC芯片102的其它组件(未示出)物理分离的加密处理器,使得即使NFC芯片102的一个或多个组件(例如,CPU0 206)被攻破,而加密单元的处理器CPU1 208及其相关联的存储器(例如,闪存SRAM1 214)也不会被攻破。
在一个实施例中,CPU0 206和CPU1 208可以是RISC处理器。虽然存储器210可以包括合适的存储器,但是在一个实施例中,CPU0 206和CPU1 208中的每一个可以分别具有相关联的闪存SRAM,诸如闪存SRAM0 212和闪存SRAM1 214。闪存SRAM0 212和闪存SRAM1 214可以存储用于在相应的CPU(CPU0 206和CPU1 208)上执行的指令,并且还可以存储在NFC芯片102的操作期间使用的数据。由电池支持的RAM 216可以是存储高度敏感信息(诸如加密密钥)的单独的存储器。以这种方式,如果NFC芯片102被攻破,则可以例如通过去除由电池支持的RAM 216的电力,擦除存储在由电池支持的RAM 216中的信息。
处理单元204(例如,处理单元204的CPU0 206)可以与一个或多个通信接口220通过接口连接。通信接口220可以实现与外部设备和支付读取器22的其它电路的通信。例如,通信接口220可以实现与支付读取器22的电路的通信,支付读取器22的电路诸如无线通信电路(例如,Wi-Fi、蓝牙、蓝牙低能耗)、支付读取器22的电力管理电路、支付读取器22的有线通信接口(例如,以太网、USB、火线、闪电)和支付读取器22的其它组件。示例性的通信接口220包括USB集线器、USB设备、I2C、SPI、UART和GPIO。
NFC芯片102还包括偏压生成器234、时钟232、时钟管理单元236、篡改检测电路240和电子熔丝242。偏压生成器234可以连接到电源并且可以生成偏压电压,该偏压电压被提供给NFC芯片102的组件,诸如模拟前端260、处理单元204和存储器210。在一个实施例中,由偏压发生器234产生的合适的偏压电压可以是3.3伏。时钟232可以是任何合适的时钟,诸如晶体振荡器,并且可以按时钟频率向时钟管理单元236提供时钟信号。时钟管理单元236可以基于来自时钟232的输入产生多个时钟信号,例如以便为处理单元204的CPU0 206和CPU1208提供时钟信号,并且提供用于近场通信传输的具有合适频率(例如,13.56MHz)的时钟信号。
篡改检测电路240连接到电源。篡改检测电路240包括篡改检测输入244,篡改检测输入244可以耦合到NFC芯片102或支付读取器22的一个或多个电气或物理组件。如果这些输入中的一个指示已经有人尝试篡改支付读取器22的一个或多个组件,则篡改检测电路240可切断对NFC芯片102的一个或多个组件的供电。尽管篡改检测电路240被描绘为仅与处理单元204和由电池支持的RAM 216通信,但将理解的是,篡改检测电路240可提供对NFC芯片102的任何其它组件(诸如闪存SRAM0 212和闪存SRAM1 214)的电力中断。
NFC芯片102还包括电子熔丝242。可以提供电子熔丝242以禁用到NFC芯片102的一个或多个组件的电力或通信。例如,电子熔丝242可以由CPU1 208控制。在由CPU1 208识别出对NFC芯片102的不正当访问尝试或不正当使用的情况下,CPU1可以激活一个或多个电子熔丝242,以便切断对NFC芯片102的一个或多个组件的供电,切断到NFC芯片102的一个或多个组件的时钟信号,或者切断NFC芯片102的一个或多个组件之间的通信。例如,CPU1 208可以控制电子熔丝242,以使得CPU0 206不能操作CPU1 208或不能与CPU1 208通信。
NFC芯片102还包括模拟前端260和DPP链路逻辑262。DPP链路逻辑262可以提供来自处理单元204的CPU0 206的数字信号和模拟前端260的模拟信号之间的接口。模拟前端260提供到非接触式接口(例如,NFC电路100)和用于芯片卡的接触式接口的接口。
在操作期间,时钟232向时钟管理单元CMU 236提供时钟信号,CMU 236向处理单元204提供多个时钟信号。篡改检测电路240监视输入244,并且在不存在篡改尝试的情况下,电力可以正常的方式被提供给NFC芯片102。在对NFC芯片102没有任何不正当尝试访问的情况下,CPU1 208可以控制电子熔丝242,使得NFC芯片102的组件能够正常操作。
商户设备29可以与支付读取器22的蓝牙通信电路进行通信,支付读取器22可以经由通信接口220与CPU0 206进行通信。在一个实施例中,商户设备29可以向NFC芯片102发送接收支付的请求,其可以由CPU0 206接收。CPU0 206可以根据存储在闪存SRAM0 212中的指令来处理该请求,并且可以经由DPP链路逻辑262和模拟前端260激活非接触式接口(例如,NFC电路100)或接触式接口中的一个或两者。对于非接触式接口,CPU0 206可以用作近场通信发起者,经由DPP链路逻辑262、模拟前端260和非接触式接口提供载波信号和调制信号。CPU0 206可以经由非接触式接口、模拟前端260和DPP链路逻辑262监视来自目标(例如,NFC设备12或EMV设备14)的响应。
一旦经由非接触式电路与支付设备建立通信,支付设备诸如非接触式装置(例如,NFC装置或芯片卡),或经由接触式接口与接触式卡建立通信,则CPU0 206可与支付设备通信以处理支付交易。在此过程中,CPU0 206可以与CPU1 208通信以便由CPU1 208执行加密功能。在一些实施例中,CPU0 206和CPU1 208可以在本地处理交易,而在一些实施例中,CPU0 206可以经由通信接口220和相关联的通信电路(例如,Wi-Fi、蓝牙、以太网)与商户设备29通信或直接与支付服务器40通信。
图5描绘根据本公开一些实施例的用于支付读取器22的软件框图300。软件框图300的每个框表示固件模块。尽管在图5中描绘了特定的固件模块,但是应理解的是,支付读取器22可以包括附加的固件模块,或者可以修改或移除一个或多个固件模块。此外,虽然图5示出除了加密计算器320之外的所有固件模块在CPU0上运行,其中加密计算器320在单独的处理器CPU1上运行,但是应当理解的是,所有固件模块可以在单个CPU上运行或者可以按任何合适的方式分布在多个CPU中。
在一个实施例中,加密计算器320可以位于单独的CPU(例如,CPU1)上,使得加密功能与支付读取器22的NFC芯片102的其它功能分开执行。另外,加密密钥和其它高价值信息可以仅由CPU1上的加密计算器320访问。以这种方式,高价值以及秘密信息可以与NFC芯片102和支付读取器22的其余软件隔离开。
软件系统302包括消息分派器模块310,其管理作为功能模块的其它固件模块之间的操作和交互。功能模块可以向消息分派器模块310提供消息。消息分派器模块310通过队列数据结构机制来管理那些消息,并且将来自队列数据结构的消息分发给功能模块。如本文所述,指针可以引用队列数据结构中的消息位置。虽然可以按任何合适的方式将消息提供给功能模块(例如,可以将消息的副本提供给由功能模块访问的存储器位置),但是在一个实施例中,可以将对指针位置的引用提供到功能模块,使得功能模块可访问与队列数据结构内的消息相关联的存储器位置,并且在一些实施例中,编辑消息内的数据,诸如一个或多个标志。
对于CPU0的软件模块,CPU0的处理在消息分派器模块310和功能模块之间传递,并且功能模块执行其指令,直到CPU0的处理再次返回到消息分派器模块310。以这种方式,可以按特定顺序每次向一个功能模块提供消息。在一个实施例中,消息分派器模块可以监视消息字段或标志以确定哪些功能模块应该接收消息、消息是否应该继续被分发给其它功能模块、是否将消息只分发一次给每个接收消息的功能模块、向功能模块发送消息的顺序,以及消息是否应该返回到队列数据结构。
在一个实施例中,消息分派器310将队列数据结构实现为具有消息阵列或消息链接列表的循环队列,其分别具有指向队列开始处的指针(例如,队列前部的顶部)以及指向队列末尾处的指针(例如,队列的底部或末尾)。这样的循环队列可以是先进先出(FIFO)队列,其中在队列中的最后一个消息之后,将要入队的任何新消息在存储器中的下一个位置处插入。然后修改结束指针以指向新入队消息的位置。通过将前部指针从其当前位置移动到队列前部的下一条消息来丢弃消息。队列是循环的,因为它可以环绕包含队列的存储器部分,当指针在循环队列中循环时,旧消息(即,不位于开始指针和结束指针之间的消息)被覆盖。如果队列已满(即,下一个要入对的消息将覆盖存储在开始指针位置处的消息),则可以将额外的存储器分配给队列或者可以提供异常。
尽管将根据本文描述的实施例来论述循环队列(即,队列),但将理解的是,可以提供任何合适的队列数据结构以用于存储消息和提供对消息的访问。在顺序队列数据结构的另一个实施例中,消息传送系统可以实现为压入和弹出堆栈。压入和弹出堆栈可以是后进先出(LIFO)数据结构,其中要存储的任何新消息在堆栈中的第一个消息之前在存储器中的位置处插入。堆栈可以有原点位置,并且指针可以指向队列的开始处。当消息被丢弃时,指针可以朝原点递减,并因此指向下一条消息。当消息被添加到堆栈时,指针可以远离原点递增,从而指向新添加的消息。在实施如本文所描述的返回到队列的定时消息的实施例中,可以修改堆栈的内容以将定时消息放置在不同于堆栈开始处的堆栈位置处。
在一些实施例中,消息被实现为存储器中的消息数据结构,其包括多个字段,诸如消息ID、已处理标志和数据字段。消息可以具有消息长度,并且每个字段可以与消息数据结构内的相对位置相关联。一旦在存储器中的消息位置是已知的(例如,基于指针),则可以基于字段在已知消息数据结构内的相对位置来访问消息的特定字段。消息ID可以指示正在发送的消息的类型。基于该消息ID,功能模块可以确定是否响应于该消息而采取动作以及响应于该消息采取什么动作。已处理标志可以向消息分派器模块310指示消息已经被处理。一旦功能模块响应于该消息完成处理,则已处理标志就可以由功能模块设置。一旦设置了已处理标志,则消息分派器模块310就可以从队列中移除消息。已处理标志和/或其它标志也可以用于指示处理错误。呼叫我标志可指示提供消息的模块是否应接收来自消息分派器模块的消息。数据字段可以包括要与消息一起提供的数据,以供功能模块使用,该功能模块响应于该消息而采取动作。在一些实施例中,数据字段可以包括附加消息。
消息分派器模块310可以基于消息类型以不同的方式管理队列。尽管消息分派器模块310可以根据任何合适的消息类型来处理接收到的消息,但是在一个实施例中,消息类型可以是定时消息和标准消息。标准消息可以在队列中接收一次性处理。一旦标准消息已被处理,则其可从队列中移除。直到标准消息已被处理,它可以保持其在队列中的位置并且相对于队列的开始处移动(例如,指针可以移动靠近标准消息的位置)。定时消息可以包括定时值,并且消息分发和队列可以基于定时值被修改。
定时值可以按多种方式实现。在一个实施例中,只要定时值尚未过期并且设置了已处理标志未,则定时消息就可以保持在队列中。当定时消息到达队列开始处时,以循环方式将其分发给功能模块(例如,有权接该收定时消息的功能模块的子集),直到它已被发送到所有的应该接收该消息的功能模块或者直到该消息的字段被修改并且指示该消息不应再被分发(例如,通过改变定时值或已处理标志)为止。在一个实施例中,只要没有功能模块设置了已处理标志并且定时值尚未过期,则在将该消息被分发给应该接收该消息的所有功能模块之后,讲该消息返回到队列(例如,在一些实施例中,只有某些功能模块会接收定时消息,或者可能不将该消息可能提供给基于呼叫我标志提供消息的功能模块)。然后处理队列中的其它消息,直到定时消息返回到队列的开始位置,此时将再次将该定时消息分发给功能模块。如果设置了已处理标志,则定时消息可以从队列中移除。如果定时值在设置了已处理标志之前过期,则表示定时消息未被处理。该定时消息可以从队列中移除并且可以生成与定时消息相关联的错误消息或标志,诸如支付失败消息。
在另一个实施例中,只要定时值没有过期,定时消息就可以返回到队列。在一个实施例中,定时值基于创建时间(例如,定时消息的开始时间)和当前时间而过期。创建时间可以从当前时间中减去,并且如果结果大于定时值,则定时值过期。尽管定时值可以用任何适当的方式实现,但是在其它实施例中,定时值可以倒计时、正计时或设置定时值可以过期的未来时间。一旦定时值过期,定时消息就被分发给一个或多个功能模块。如果功能模块希望重置定时消息的定时值,则它可以重新发送定时消息,改变与定时值相关联的创建时间或者修改定时值。如果定时消息要从队列中移除,则可以设置已处理标志。在一些实施例中,可以生成错误消息或标志,诸如与定时消息相关联的支付失败消息。
在循环队列的一个实施例中,可以为队列分配存储器,并且向队列的下一个可用位置添加消息。当分发消息时,消息分派器模块310提供指向队列消息在队列内所处位置的指针。功能模块可以基于指针访问队列消息的字段,诸如消息ID字段、已处理标志和数据字段。以这种方式,消息分派器模块310将消息提供给功能模块,并且功能模块能够更新队列消息。一旦队列消息已经被处理、移除或移动到队列的不同位置,则指针就可以移动到下一个队列消息。
功能模块可以响应于从消息分派器模块310接收到的消息来生成消息。另外,功能模块的处理可以在模块内发起,并且响应于一些外部刺激(诸如硬件或软件中断)来产生消息。响应于中断,CPU0 206的处理可以传递到响应于该中断而被初始化的功能模块。
功能模块可以包括一个或多个通信模块,诸如内部通信模块340。内部通信模块340可以包括用于与NFC芯片102的内部通信接口220进行通信的指令,内部通信接口220诸如USB接口、I2C接口、SPI接口、UART接口和GPIO接口。这些接口可以支持与外部设备(例如,通过USB接口)的通信或者与内部硬件(诸如Wi-Fi、蓝牙或功率控制硬件)的通信。与支付读取器22的外部设备或内部硬件的通信可以按任何合适的方式发起,诸如经由通信接口提供的中断。响应于来自通信接口的通信,内部通信模块340可以生成具有消息ID和数据的消息,该数据指示通信来源、所传送的数据以及任何其它合适信息。这些消息可以被提供给消息分派器模块310以分发给一个或多个其它功能模块。内部通信模块340还可以从消息分派器模块310接收要发送到支付读取器22的外部设备或内部硬件的消息。这些消息可能源自其它功能模块,诸如支付应用模块330、主机通信模块342或硬件模块338。
非接触式模块334可以接收要传输的数据,并且包括用于控制支付读取器22和支付设备10(诸如NFC设备12或芯片卡14等)之间的近场通信的指令。非接触式模块334经由通信协议(诸如ISO 14443和ISO 18092中规定的那些协议)提供与这些设备的通信。非接触式模块334可以用作向支付设备10(例如,目标)提供消息的发起者。NFC模块334生成消息以有助于经由调制的载波信号与支付设备10进行通信,并且基于支付设备10调制从支付读取器22的天线提供的载波信号而接收来自支付设备10的消息。这些接收到的消息可以包括支付信息,诸如加密的信用卡号等,并且在一些实施例中还可以包括身份验证信息,诸如PIN号、指纹信息或其它生物识别信息等。
在一些实施例中,非接触式模块334可以访问来自消息分派器模块310的队列的消息,其可以向支付设备10请求信息或者提供要发送到支付设备10的数据。例如,支付应用模块330可以提供消息给消息分派器模块310的队列,其请求与交易的本地处理的限额有关的信息。非接触式模块334可以访问来自队列的消息,并且经由调制的载波信号向支付设备10发送对本地支付限额的请求。支付设备10可以通过调制载波信号来用其支付限额进行响应。非接触式模块334可以基于接收到的数据生成消息并将该消息提供给消息分派器模块310。消息分派器310可以在消息到达队列的开始处时分发消息,并且支付应用程序330可以访问该消息以确定本地支付限额少于交易金额。在其它实施例中,非接触式模块334可以提供要写入到支付设备310的数据,诸如对支付参数或支付设备密钥的更新。
接触式模块336可以提供与接触设备(诸如芯片卡14)的通信。如本文针对非接触式模块334所描述的那样,接触式模块336可以与支付设备10通过接口连接并且与NFC软件302的其它功能模块交换消息。接触式模块336可以经由支付读取器22的接触式接口与芯片卡14通信,并且经由发送到消息分派器模块310的队列的消息或从消息分派器模块310的队列访问的消息而与其它功能模块通信。
尽管任何合适的功能模块都可以利用定时消息,但是在一些实施例中,非接触式模块334和接触式模块336都可以在操作期间使用定时消息。例如,在接收消息以便从支付设备10支付信息时,非接触式模块334和接触式模块336可以各自向消息分派器310提供定时消息。该定时消息可以周期性地到达队列的开始处,此时该消息基于定时值被分发,并且由非接触式模块334或接触式模块336确定是否已经接收到支付信息。如果已经接收到支付信息或者如果功能模块确定定时消息的处理应该结束,则接收支付信息的模块可以修改定时消息的已处理标志并且向消息分派器模块310的队列提供消息,指示已接收到支付信息或发生支付错误。在一个实施例中,定时消息可以继续被分发并返回到队列,直到已经接收到支付信息或定时器过期。在另一个实施例中,定时值可以对应于应该已经接收到支付信息的时间量,并且一旦定时值过期,定时消息才可以被发送到功能模块。然后可以继续分发定时消息,或者定时值可以被重置(例如,通过更新定时消息的创建时间或定时值),直到已处理标志指示定时消息的处理应该结束为止。在一些实施例中,可以生成诸如与定时消息相关联的支付失败消息的错误消息。
NFC软件302还可以包括通信模块,诸如用于与主机应用程序通信的主机通信模块342。在一个实施例中,主机应用程序可以在与NFC芯片102不同的处理器上运行。例如,主机应用程序可以在支付读取器22的另一处理器上运行,或者在如本文所述的一些实施例中可以在商户设备29上运行。尽管处理操作可以按任何合适的方式分布在NFC软件302和外部主机应用程序之间,但是在一个实施例中,主机应用程序可以控制用户界面功能以及与外部设备(诸如支付服务器40)的通信。NFC软件302可以处理支付处理(例如,通过支付应用模块330和EMV模块332),可以与支付设备(例如,经由非接触式模块334和接触式模块336)通过接口连接,并且可以加密要被发送到支付服务器40的数据(例如,经由加密计算器模块320)。主机通信模块342的指令处理从主机应用程序接收的数据,产生与功能模块的操作有关的消息,并基于接收到的消息产生要被发送到主机应用程序的消息。
硬件模块338可以包括用于与支付读取器22的内部硬件进行通信的指令。当从内部通信模块340接收到通信并且与该通信有关的消息在消息分派器模块310处纳入队列时,硬件模块338可以确定该消息是否来自支付读取器22的内部组件。如果消息来自支付读取器22的内部硬件组件,则硬件模块338可以处理该消息和数据并且生成要在消息分派器模块310处纳入队列的响应消息以便由一个或另一个功能模块进行处理。
支付应用模块330包括用于处理在支付读取器22处进行的支付的指令。支付应用模块330经由主机通信模块342和内部通信模块340与主机应用程序通信,并且还协调用于支付处理的功能模块(例如,加密计算器模块320、EMV模块332、非接触式模块334和接触式模块336)的操作。例如,当支付交易由主机应用程序发起时,支付应用模块330可以从消息分派器模块310(例如,从主机通信模块342发起)检索队列消息并处理支付请求。支付应用模块330可以生成一个或多个消息以初始化非接触式模块334和接触式模块336中的一个或多个以接收支付信息(例如,来自NFC设备12或芯片卡14的支付信息)。
当指示接收到支付信息的消息到达消息分派器模块310的队列并且由支付应用模块330接收时,支付应用模块330可以生成消息以访问EMV模块332的一个或多个交易处理模块(表示为A、B、C和D)。例如,每个交易处理模块A至D可以对应于支付平台,诸如欧陆卡、万事达卡、维萨或美国运通(American Express)。支付应用模块330可以继续经由消息分派器模块310处的队列消息与EMV模块332的交易处理模块通信,并且还可以提供由加密计算器模块320访问的消息。在一些实施例中,支付应用模块330可以在本地处理交易(例如,针对低价值交易),或者在一些实施例中可以有助于经由商户设备29与支付服务器40的通信。在任何一种情况下,支付应用模块330可以将消息提供给由主机通信模块342访问的消息分派器模块310,其将交易批准过程的结果发送给在商户设备29上运行的主机应用程序(例如,经由通过内部通信模块340访问的蓝牙连接)。
EMV模块332包括用于根据由支付处理者(诸如欧陆卡、万事达卡、维萨、美国运通和其它发行公司)指定的一个或多个交易处理流程来处理支付交易的指令。当从非接触式模块334或接触式模块336接收到支付信息时,支付应用程序330可以确定从EMV模块332访问哪个交易处理模块。EMV模块332的交易处理模块(例如,在图5中描绘为A、B、C和D)必须符合发行公司的规范。EMV模块332的处理模块对规范的合规性可以通过证书认证过程来确认。EMV模块332访问所请求的交易处理模块并通过在消息分派器模块310处的队列消息与其它功能模块通信。
加密计算器模块320包括用于执行加密功能以进行支付处理交易的指令。加密计算器模块320可以访问密钥,该密钥可以用于对发送到外部设备(诸如支付服务器40等)的信息进行加密。功能模块(诸如支付应用模块330和EMV模块332等)可以向加密计算器320可访问的消息分派器310的队列提供消息。被访问的消息可包括要被加密的数据。加密计算器模块320可以在单独的处理器(例如,CPU1)上执行加密。加密计算器模块320然后可以生成包括加密数据的消息并将该消息提供给消息分派器模块310的队列。该消息可以从队列中访问(例如,由支付应用模块330访问)并且最终发送给支付服务器(例如,经由从支付应用模块330、主机通信模块342和内部通信模块340提供给消息分派器模块310队列以及经由商户设备29提供到网络30的消息)。
鉴于上文描述的结构和设备,可以参考图6的流程图更好地理解可根据所公开的主题实现的方法。虽然出于简化解释说明的目的,所述方法被显示和描述为一系列步骤,但是应该理解和认识到的是,这样的图示或相应的描述不受步骤顺序的限制,因为一些步骤可以不同的顺序进行和/或与本文描绘和描述的其它步骤并发进行。经由流程图示出的任何非按顺序的或分支的流程应理解为指示可被实施为实现相同或类似结果的各种其它分支、流程路径和步骤顺序。此外,并非所有示出的步骤都是实施下文所述的方法所必需的。
图6描绘根据本公开一些实施例的用于使用消息分派器模块310和功能模块来处理消息的步骤600。在步骤602,消息分派器模块310可以确定是否已经接收到任何消息。如本文所述的那样,可以响应于由功能模块处理的消息、中断或其它合适的处理,从一个或多个功能模块接收消息。如果接收到消息,则处理可以继续到步骤604。如果没有接收到消息,则处理可以继续到步骤606。
在步骤604,所接收的消息可以由消息分派器模块310纳入队列。在一个实施例中,队列可以是循环队列,使得最近接收的消息被放置在队列的末尾。在其它实施例中,例如,队列的消息可按不同的方式组织,使得最近接收的消息被放置在别处,例如被放置在队列的开始处。在一些实施例中,可以基于所接收到的消息的一个或多个字段的内容(例如,设置消息优先级)或基于任何其它合适的方法来调整队列。一旦消息已经被纳入队列,则处理可以继续到步骤606。
在步骤606,消息分派器模块310可以从队列中访问要被处理的消息。尽管消息可以用任何适当的方式被访问,但是在一个实施例中,指针可以指向与队列开始处的消息相对应的位置。在访问队列时,消息分派器模块310可访问消息的一个或多个字段,诸如消息ID、消息长度、呼叫我字段、已处理标志,和数据字段。在一些实施例中,消息分派器模块310可以使用这些字段中的一个或多个来确定是否应当将消息分发给功能模块或如何将消息分发给功能模块。例如,字段值或消息ID可以包括指示消息是定时消息的信息。根据呼叫我字段的状态,消息分派器可以不将消息分发回到提供该消息的功能模块。一旦消息分派器模块310已经从队列中访问消息,则处理就可以继续到步骤608。
在步骤608,消息分派器模块310可以确定当前消息是否是定时消息以及该消息是否应当被返回到队列而不被处理。在一个实施例中,消息ID字段可以包括对应于消息是否被定时的消息ID。例如,来自支付应用模块330、EMV模块332、非接触式模块334或接触式模块336的某些类型的消息可以是定时消息。在其它实施例中,该消息可以包括用于指示消息是否是定时消息的字段。定时消息可以使特定的处理能够按照定时值以特定的间隔、周期性地或以延迟的方式来执行。这可以使某些处理功能并发地发生而不消耗不必要的处理时间。例如,一旦接触式模块336或非接触式模块334被启动以搜索芯片卡或NFC设备,则可能希望CPU0 206的处理返回以并发地处理其它消息。接触式模块336和非接触式模块334包括可以在处理其它消息时操作的硬件和软件,并且处理可被传递给接触式模块336或非接触式模块334以基于定时值来检查芯片卡或NFC设备。如果该消息不是定时消息,则处理可以继续到步骤612。如果该消息是定时消息,则可以确定定时值是否过期。
如果消息分派器模块310确定该消息是定时消息,则消息分派器模块310还可以确定定时值是否过期。在一个实施例中,可以将定时消息返回到队列,直到定时消息的定时值过期,并且只有在定时值过期时才再次分发。以这种方式,定时消息不会被传递到功能模块进行处理(例如,接触式模块336或非接触式模块334)直到定时值过期。在一个实施例中,定时值的过期可以基于由生成定时消息的功能模块设置的创建时间值和定时值。消息分派器模块310可以确定其正在访问队列处的消息时的当前时间,并从当前时间中减去创建时间。如果结果小于定时值,则可以将定时消息返回队列而不发送给任何功能模块。如果结果大于(或者在一些实施例中,大于或等于)定时值,则定时消息可以被发送到应该接收该定时消息的功能模块(例如,基于定时消息的字段或消息ID)。以这种方式,可以基于定时值和创建时间来控制定时消息的间隔。例如,定时值越低,定时消息就越早发送到功能模块。通过修改或重置创建时间或定时值,可以延长直到过期的时间。如果定时值过期,则处理可以继续到步骤612。如果定时值没有过期,则处理可以继续到步骤610。
在另一个实施例中(图6中未示出),可以在每次到达队列开始处时将定时消息提供给目标功能模块。在该另一实施例中,在步骤608可以不检查定时值,并且可以仅在消息已被分发给功能模块之后(例如,在步骤618)才检查该定时值。因此处理将跳到步骤612。
在步骤610,消息分派器模块310可以将定时消息返回到队列。尽管定时消息可以按任何合适的方式返回到队列的任何合适的位置,但是在一个实施例中,定时消息可以返回到队列的末尾。一旦定时消息返回到队列,则处理可以返回到步骤602。
在步骤612,消息分派器模块310可以将消息发送给功能模块。在一个实施例中,消息分派器模块310可以向功能模块发送指向消息在队列中位置的指针。在一些实施例中,可以仅将消息发送给某些功能模块(例如,可以基于消息ID或消息字段仅将定时消息分发给某些功能模块)。可以循环方式(例如,在步骤612、614和616的循环内的步骤612的每次迭代处)向功能模块提供消息,其中接收消息的功能模块确定(例如,基于消息ID确定)是否采取任何动作来响应于该消息。如果功能模块响应于该消息而采取动作,则处理器(例如,CPU0206)的处理的控制可被传递到功能模块。由功能模块执行的处理可以包括根据消息ID处理消息中的数据、生成提供给消息分派器的消息、修改已处理标志或任何其它合适的处理。一旦功能模块完成其处理,对CPU0 206的处理的控制就可以返回到消息分派器模块310,该消息分派器模块310可以在步骤614确定消息是否已经被处理。
在步骤614,消息分派器模块310可以确定队列中的当前消息是否已经被处理。在一个实施例中,消息分派器模块310可以基于与消息相关联的已处理标志的状态来确定消息是否已被处理。例如,一旦功能模块接收到具有需要由功能模块处理的消息ID的消息,并且功能模块完成该处理,则功能模块可以基于消息内的该标志的已知位置来修改已处理标志。如果消息分派器模块310确定消息已经被处理(例如,基于已处理标志的状态确定),则处理可以继续到步骤620。如果消息分派器模块310确定消息尚未被处理,则处理可以继续到步骤616。
在步骤616,消息分派器模块310可以确定消息是否已经被发送到所有有权接收该消息的功能模块。最初,消息不会被发送到任何功能模块。处理将继续到步骤612、614和616,在此期间将消息发送到将要接收该消息的功能模块(在步骤6012),检查已处理标志(在步骤614),并且确定该消息是否被发送到所有有权接收该消息的功能模块(步骤616)。该循环可以继续,直到消息分派器模块确定该消息已经被处理(例如,基于已处理标志的状态)或者该消息已经被发送到所有有权接收该消息的功能模块(例如,对于定时消息或者如果呼叫我标志未被声明,则该消息不被发送到所有功能模块)。一旦消息已被发送到所有有权接收该消息的功能模块,处理就可以继续到步骤618。只要消息还没有被发送到所有有权接收该消息的功能模块,则处理就返回到步骤612。
在步骤618,消息分派器模块310可以确定当前消息是否是定时消息。如本文所描述的那样,这可以基于消息ID字段、指示该消息是否是定时消息的字段来确定,或以任何其它合适的方式来确定。如果消息是定时消息,则处理可以继续到步骤622以使消息返回到队列。如果该消息不是定时消息,则处理可以继续到步骤620以将消息从队列中移除。
在另一个实施例中(图6中未示出),只要定时值还没有过期并且没有设置已处理标志,就可以当每次定时消息到达队列的开始处和返回到队列时将定时消息提供给功能模块。只要没有为该消息设置已处理标志并且只要定时值没有过期,就将该消息返回到队列。以这种方式配置的定时值可允许对功能模块进行定期轮询,直到满足由定时值表示的时间限制为止。如果定时值过期(例如,在功能模块的处理期间未被重置),则可以生成错误消息,诸如与定时消息相关联的支付失败消息。在该另一实施例中,在步骤608可以不检查定时值,并且可以仅在消息已被分发给功能模块之后(例如,在步骤618)才检查该定时值。在该另一实施例中,如果在步骤618定时值没有过期,则处理可以继续到步骤622。如果定时值过期,则处理可以继续到步骤620。
在步骤620,消息分派器模块310可以从队列中移除已处理的消息。虽然已处理的消息可以按任何合适的方式从队列中移除,但是在一个实施例中,消息分派器模块310可以调整指针以指向队列中的下一个消息。处理后的消息最终可能会根据进入队列的其它消息而被覆盖。处理然后可以返回到步骤602。
在步骤622,消息分派器模块310可以将定时消息返回到队列。尽管定时消息可以按任何合适的方式返回到队列的任何合适的位置,但是在一个实施例中,定时消息可以返回到队列的末尾。另外,在一些实施例中,定时消息的定时值和/或创建时间可以被一个或多个功能模块修改或重置。例如,可以重置或修改创建时间或定时值,以延长时间直到在步骤608定时值下次过期为止。一旦定时消息返回到队列,则处理可以返回到步骤602。
以上仅仅是对本公开的原理的说明,并且本领域技术人员可以在不脱离本公开范围的情况下做出各种修改。为了说明而非限制的目的呈现了上述实施例。除了本文明确描述的那些形式之外,本公开还可以采取许多形式。因此,强调的是,本公开不限于明确公开的方法、系统和装置,而是旨在包括在本公开权利要求的精神内的其变型和修改。
作为另一个示例,可以进行装置或过程参数(例如尺寸、配置、组件、过程步骤顺序等)的变化以进一步优化所提供的结构、装置和方法,如本文所示和所述的那样。在任何情况下,本文描述的结构和装置以及相关方法具有许多应用。因此,所公开的主题不应局限于本文所述的任何单个实施例,而是应该根据本公开权利要求在覆盖面和范围方面进行解释。

Claims (15)

1.一种支付读取器,用于处理与支付设备进行的交易,该支付读取器包括:
支付接口,其配置为与所述支付设备通过接口连接并且从所述支付设备接收支付信息;
包括多个固件模块的存储器,其中所述多个固件模块包括消息分派器模块和多个功能模块,其中所述多个功能模块包括与所述支付接口相关联的支付模块和与支付信息的处理相关联的交易处理模块;以及
处理器,其配置为执行所述多个固件模块中的指令,其中所述处理器配置为基于由所述消息分派器模块提供的一个或多个消息执行与所述多个功能模块相关联的指令,基于所述支付模块以及所述一个或多个消息中的第一消息接收支付信息,并且基于所述交易处理模块和所述一个或多个消息中的第二消息处理所述支付信息,其中所述一个或多个消息中的第一消息类型与功能模块的并发操作相关联,以及一个或多个消息中的第二消息类型与功能模块的顺序操作相关联。
2.根据权利要求1所述的支付读取器,其特征在于,所述第一消息类型与所述第一消息相关联,以及所述第二消息类型与所述第二消息相关联。
3.根据权利要求1所述的支付读取器,其特征在于,所述第一消息类型包括定时消息,并且其中第二消息类型包括标准消息。
4.根据权利要求1所述的支付读取器,其特征在于,所述处理器配置为基于定时值和消息分派器模块的指令允许功能模块的并发操作。
5.根据权利要求4所述的支付读取器,其特征在于,所述处理器配置为基于所述消息分派器模块的指令在所述定时值未过期时将第一消息类型的第一消息提供给支付模块。
6.根据权利要求4所述的支付读取器,其特征在于,所述处理器配置为基于所述消息分派器模块的指令在所述定时值过期时将第一消息类型的第一消息提供给支付模块。
7.一种处理支付交易的方法,包括:
将来自多个固件模块中的消息分派器模块的一个或多个消息提供给所述多个固件模块中的多个功能模块中的一个或多个,其中所述一个或多个消息中的第一消息类型与所述功能模块的并发操作相关联,以及所述一个或多个消息中的第二消息类型与所述功能模块的顺序操作相关联;
基于所述消息分派器模块的指令确定所述多个功能模块中的支付模块应接收支付信息;
基于所述确定、所述支付模块的指令以及所述一个或多个消息中的第一消息从支付接口接收支付信息;以及
基于所述多个功能模块中的交易处理模块的指令和所述一个或多个消息中的第二消息来处理所接收到的支付信息。
8.根据权利要求7所述的方法,其特征在于,所述第一消息类型与所述第一消息相关联,以及所述第二消息类型与所述第二消息相关联。
9.根据权利要求7所述的方法,其特征在于,还包括基于定时值和所述消息分派器模块的指令允许所述功能模块的并发操作。
10.根据权利要求9所述的方法,其特征在于,还包括基于所述消息分派器模块的指令在所述定时值未过期时将第一消息类型的第一消息提供给支付模块。
11.根据权利要求9所述的方法,其特征在于,还包括基于所述消息分派器模块的指令在所述定时值过期时将第一消息类型的第一消息提供给支付模块。
12.一种非暂时性计算机可读存储介质,其包括存储在其中的指令,所述指令当由一个或多个处理器执行时使所述一个或多个处理器执行包括以下的操作:
将来自多个固件模块中的消息分派器模块的一个或多个消息提供给所述多个固件模块中的多个功能模块中的一个或多个,其中所述一个或多个消息中的第一消息类型与所述功能模块的并发操作相关联,以及所述一个或多个消息中的第二消息类型与所述功能模块的顺序操作相关联;
基于所述消息分派器模块的指令确定所述多个功能模块中的支付模块应接收支付信息;
基于所述确定、所述支付模块的指令以及所述一个或多个消息中的第一消息从支付接口接收支付信息;以及
基于所述多个功能模块中的交易处理模块和所述一个或多个消息中的第二消息来处理所接收到的支付信息。
13.根据权利要求12所述的非暂时性计算机可读存储介质,其特征在于,所述第一消息类型与所述第一消息相关联,以及所述第二消息类型与所述第二消息相关联。
14.根据权利要求12所述的非暂时性计算机可读存储介质,其特征在于,所述指令还使得所述一个或多个处理器执行操作,所述操作包括基于定时值和所述消息分派器模块的指令允许所述功能模块的并发操作。
15.根据权利要求18所述的非暂时性计算机可读存储介质,其特征在于,所述指令进一步使得所述一个或多个处理器执行操作,所述操作包括基于消息分派器模块的指令在所述定时值未过期时将第一消息类型的第一消息提供给支付模块。
CN201680054971.1A 2015-09-23 2016-09-23 用于支付系统的消息分派器 Active CN108140182B (zh)

Applications Claiming Priority (7)

Application Number Priority Date Filing Date Title
US14/863,381 US9330383B1 (en) 2015-09-23 2015-09-23 Message dispatcher for payment system
US14/863,381 2015-09-23
US15/052,790 2016-02-24
US15/052,792 2016-02-24
US15/052,792 US10083437B2 (en) 2015-09-23 2016-02-24 Message dispatcher for payment system
US15/052,790 US9613350B1 (en) 2015-09-23 2016-02-24 Message dispatcher for payment system
PCT/US2016/053303 WO2017053699A1 (en) 2015-09-23 2016-09-23 Message dispatcher for payment system

Publications (2)

Publication Number Publication Date
CN108140182A true CN108140182A (zh) 2018-06-08
CN108140182B CN108140182B (zh) 2022-06-14

Family

ID=55807541

Family Applications (1)

Application Number Title Priority Date Filing Date
CN201680054971.1A Active CN108140182B (zh) 2015-09-23 2016-09-23 用于支付系统的消息分派器

Country Status (6)

Country Link
US (3) US9330383B1 (zh)
EP (1) EP3329438B1 (zh)
JP (1) JP6505948B2 (zh)
CN (1) CN108140182B (zh)
CA (1) CA2997776C (zh)
WO (1) WO2017053699A1 (zh)

Cited By (10)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN109074560A (zh) * 2018-07-10 2018-12-21 威富通科技有限公司 支付结果信息处理方法及终端设备
US10248940B1 (en) 2015-09-24 2019-04-02 Square, Inc. Modular firmware for transaction system
CN109743137A (zh) * 2019-01-10 2019-05-10 浙江小泰科技有限公司 一种支持更新的分布式延迟消息队列处理系统
US10417628B2 (en) 2016-06-29 2019-09-17 Square, Inc. Multi-interface processing of electronic payment transactions
US10684848B1 (en) 2016-03-30 2020-06-16 Square, Inc. Blocking and non-blocking firmware update
US10762196B2 (en) 2018-12-21 2020-09-01 Square, Inc. Point of sale (POS) systems and methods with dynamic kernel selection
US10817869B2 (en) 2016-06-29 2020-10-27 Square, Inc. Preliminary enablement of transaction processing circuitry
US10990969B2 (en) 2018-12-21 2021-04-27 Square, Inc. Point of sale (POS) systems and methods for dynamically processing payment data based on payment reader capability
US11010765B2 (en) 2016-06-29 2021-05-18 Square, Inc. Preliminary acquisition of payment information
US11049095B2 (en) 2018-12-21 2021-06-29 Square, Inc. Point of sale (POS) systems and methods with dynamic kernel selection

Families Citing this family (18)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
EP3965042A1 (en) 2012-02-29 2022-03-09 Apple Inc. Method, device and secure element for conducting a secured financial transaction on a device
US9330383B1 (en) * 2015-09-23 2016-05-03 Square, Inc. Message dispatcher for payment system
EP3223437B1 (en) * 2016-03-21 2020-03-18 Samsung Electronics Co., Ltd Antenna for near field communication, accessory and electronic device including the same
US10546302B2 (en) 2016-06-30 2020-01-28 Square, Inc. Logical validation of devices against fraud and tampering
KR20180055209A (ko) * 2016-11-16 2018-05-25 삼성전자주식회사 대리 장치를 이용한 결제 방법 및 이를 수행하는 전자 장치
US10621590B2 (en) * 2017-02-22 2020-04-14 Square, Inc. Line-based chip card tamper detection
US10733589B2 (en) 2017-04-28 2020-08-04 Square, Inc. Point of sale device power management and under voltage protection
US11257058B1 (en) 2017-10-30 2022-02-22 Square, Inc. Sharing output device between unsecured processor and secured processor
CN107944857A (zh) * 2017-10-31 2018-04-20 阿里巴巴集团控股有限公司 一种支付乘车费的方法及装置
US10970698B1 (en) 2017-12-08 2021-04-06 Square, Inc. Reader detection signal bypassing secure processor
US10715536B2 (en) 2017-12-29 2020-07-14 Square, Inc. Logical validation of devices against fraud and tampering
US11017377B2 (en) 2018-02-09 2021-05-25 Ka Wai Wayne LEUNG Apparatus and method for wireless secure payment and data transaction with biometric enrollment and authentication
US11233830B2 (en) * 2018-04-13 2022-01-25 Verifone, Inc. Systems and methods for point-to-point encryption compliance
US11494762B1 (en) * 2018-09-26 2022-11-08 Block, Inc. Device driver for contactless payments
US11507958B1 (en) 2018-09-26 2022-11-22 Block, Inc. Trust-based security for transaction payments
CN113544673A (zh) * 2018-12-21 2021-10-22 平方股份有限公司 具有动态内核选择的销售点(pos)系统和方法
CN110719221B (zh) * 2019-10-16 2022-11-08 北京蚂蜂窝网络科技有限公司 即时通信方法、装置、设备及存储介质
US11327793B2 (en) * 2020-02-18 2022-05-10 International Business Machines Corporation Garbage collection work stealing mechanism

Citations (11)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US20030208443A1 (en) * 2001-02-05 2003-11-06 Dean Mersky Electronic payment systems and methods
CN101753523A (zh) * 2008-12-12 2010-06-23 华为技术有限公司 数据处理方法、装置及系统
US20100312692A1 (en) * 2009-06-03 2010-12-09 Mordechai Teicher Compact payment terminal
CN102317963A (zh) * 2009-02-14 2012-01-11 网络文本有限公司 使用移动电话号码或帐户的安全支付和计费方法
CN103067335A (zh) * 2011-10-18 2013-04-24 中国移动通信集团公司 一种非接触方式实现信息交互的方法、相关设备及系统
CN103198399A (zh) * 2012-01-04 2013-07-10 国民技术股份有限公司 共享式移动支付管理单元、终端和业务方法
WO2013126996A1 (en) * 2012-02-29 2013-09-06 Mobeewave, Inc. Method, device and secure element for conducting a secured financial transaction on a device
WO2014174342A1 (en) * 2013-04-25 2014-10-30 Elharras Mohamed Mobile payment with strong authentication and non repudiation
CN104408619A (zh) * 2014-11-14 2015-03-11 中国建设银行股份有限公司 Ic卡支付终端交易流程配置、实现方法及装置和业务系统
CN104657852A (zh) * 2013-11-22 2015-05-27 宏达国际电子股份有限公司 电子装置及其授权方法
CN104766375A (zh) * 2015-03-11 2015-07-08 惠州Tcl移动通信有限公司 一种高速公路收费的支付方法、放行系统及支付系统

Family Cites Families (37)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US5696955A (en) 1994-06-01 1997-12-09 Advanced Micro Devices, Inc. Floating point stack and exchange instruction
CN1398387A (zh) * 1999-12-23 2003-02-19 瑞士电信流动电话公司 支付交易方法和支付交易系统
US8332293B2 (en) * 2004-06-10 2012-12-11 Ronald John Rosenberger End user generated billing cycles
US7597250B2 (en) * 2003-11-17 2009-10-06 Dpd Patent Trust Ltd. RFID reader with multiple interfaces
US8762263B2 (en) * 2005-09-06 2014-06-24 Visa U.S.A. Inc. System and method for secured account numbers in proximity devices
US20080121687A1 (en) * 2006-11-28 2008-05-29 Motorola, Inc. Method and system for detecting an end of transaction for contactless transactions on a mobile device
US20080162312A1 (en) * 2006-12-29 2008-07-03 Motorola, Inc. Method and system for monitoring secure applet events during contactless rfid/nfc communication
US10311427B2 (en) * 2006-12-29 2019-06-04 Google Technology Holdings LLC Method and system for monitoring secure application execution events during contactless RFID/NFC communication
ES2427239T3 (es) * 2007-03-30 2013-10-29 Orange Procedimiento de comunicación y de transmisión de un mensaje relativo a una transacción de una aplicación sin contacto, terminal, módulo seguro y sistema asociados
US9342823B2 (en) * 2007-06-18 2016-05-17 Lemon, Inc. Payment clearing network for electronic financial transactions and related personal financial transaction device
GB0904877D0 (en) 2009-03-20 2009-05-06 Global Refund Holdings Ab Interface module, system and method
WO2010127012A1 (en) * 2009-04-28 2010-11-04 Mastercard International Incorporated Apparatus, method, and computer program product for providing a quality control mechanism for the contactless interface of a dual-interface card
US10454693B2 (en) * 2009-09-30 2019-10-22 Visa International Service Association Mobile payment application architecture
US8616441B2 (en) * 2009-12-31 2013-12-31 First Data Corporation Systems and methods for processing a transaction associated with a contactless transaction card
US9390410B2 (en) * 2010-02-18 2016-07-12 Lemon, Inc. Automated transaction system and settlement processes
US8284061B1 (en) * 2010-04-12 2012-10-09 Diegane Dione System and method for exchanging information bi-directionally
EP2390817A1 (en) * 2010-05-27 2011-11-30 Gemalto SA Method of managing communications with a nfc controller
US9402278B2 (en) 2010-11-26 2016-07-26 Wireless Dynamics, Inc. Multi-mode communication system for a mobile phone
US20120143703A1 (en) 2010-12-03 2012-06-07 Google Inc. Multiple contactless device interactions and communication protocols per tap
US8335921B2 (en) * 2010-12-17 2012-12-18 Google, Inc. Writing application data to a secure element
US8360329B2 (en) * 2011-01-31 2013-01-29 Bank Of America Corporation Mobile wallet with managed active and passive payment technology
US8886119B2 (en) * 2011-02-02 2014-11-11 Nxp B.V. Coordinating multiple contactless data carriers
KR20140113722A (ko) * 2012-01-13 2014-09-24 이베이 인크. Emv 카드 판독기들과 협력하여 지불을 제공하는 시스템, 방법 및 컴퓨터 프로그램 제품
US10354247B2 (en) * 2012-03-20 2019-07-16 First Data Corporation Systems and methods for processing payment transactions
US9760939B2 (en) * 2012-03-23 2017-09-12 The Toronto-Dominion Bank System and method for downloading an electronic product to a pin-pad terminal using a directly-transmitted electronic shopping basket entry
GB201209232D0 (en) 2012-05-25 2012-07-04 Secure Electrans Ltd Card payment unit and method
US9357332B2 (en) 2012-06-08 2016-05-31 Broadcom Corporation Near field communication application identification routing in card emulation
US9852419B2 (en) * 2012-09-17 2017-12-26 Capital One Financial Corporation Systems and methods for providing near field communications
US20140136350A1 (en) 2012-11-14 2014-05-15 Risto K. Savolainen System and method for secure mobile contactless payment
GB2508015A (en) * 2012-11-19 2014-05-21 Mastercard International Inc Method and apparatus for secure card transactions
US9038894B2 (en) * 2012-11-20 2015-05-26 Cellco Partnership Payment or other transaction through mobile device using NFC to access a contactless transaction card
US9621252B2 (en) * 2013-03-11 2017-04-11 Nagravision S.A. Method and apparatus for selecting an application of a device having an NFC interface
GB201310084D0 (en) * 2013-06-06 2013-07-17 Mastercard International Inc Improvements to electronic authentication systems
US9400977B2 (en) 2014-05-29 2016-07-26 Apple Inc. User device enabling access to payment information in response to mechanical input detection
US9654903B2 (en) 2014-12-23 2017-05-16 Intel Corporation System for securing an NFC transaction
US9799032B2 (en) 2015-01-26 2017-10-24 International Business Machines Corporation Client-side security for tokenized transactions
US9330383B1 (en) 2015-09-23 2016-05-03 Square, Inc. Message dispatcher for payment system

Patent Citations (11)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US20030208443A1 (en) * 2001-02-05 2003-11-06 Dean Mersky Electronic payment systems and methods
CN101753523A (zh) * 2008-12-12 2010-06-23 华为技术有限公司 数据处理方法、装置及系统
CN102317963A (zh) * 2009-02-14 2012-01-11 网络文本有限公司 使用移动电话号码或帐户的安全支付和计费方法
US20100312692A1 (en) * 2009-06-03 2010-12-09 Mordechai Teicher Compact payment terminal
CN103067335A (zh) * 2011-10-18 2013-04-24 中国移动通信集团公司 一种非接触方式实现信息交互的方法、相关设备及系统
CN103198399A (zh) * 2012-01-04 2013-07-10 国民技术股份有限公司 共享式移动支付管理单元、终端和业务方法
WO2013126996A1 (en) * 2012-02-29 2013-09-06 Mobeewave, Inc. Method, device and secure element for conducting a secured financial transaction on a device
WO2014174342A1 (en) * 2013-04-25 2014-10-30 Elharras Mohamed Mobile payment with strong authentication and non repudiation
CN104657852A (zh) * 2013-11-22 2015-05-27 宏达国际电子股份有限公司 电子装置及其授权方法
CN104408619A (zh) * 2014-11-14 2015-03-11 中国建设银行股份有限公司 Ic卡支付终端交易流程配置、实现方法及装置和业务系统
CN104766375A (zh) * 2015-03-11 2015-07-08 惠州Tcl移动通信有限公司 一种高速公路收费的支付方法、放行系统及支付系统

Cited By (11)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US10248940B1 (en) 2015-09-24 2019-04-02 Square, Inc. Modular firmware for transaction system
US10684848B1 (en) 2016-03-30 2020-06-16 Square, Inc. Blocking and non-blocking firmware update
US10417628B2 (en) 2016-06-29 2019-09-17 Square, Inc. Multi-interface processing of electronic payment transactions
US10817869B2 (en) 2016-06-29 2020-10-27 Square, Inc. Preliminary enablement of transaction processing circuitry
US11010765B2 (en) 2016-06-29 2021-05-18 Square, Inc. Preliminary acquisition of payment information
CN109074560A (zh) * 2018-07-10 2018-12-21 威富通科技有限公司 支付结果信息处理方法及终端设备
US10762196B2 (en) 2018-12-21 2020-09-01 Square, Inc. Point of sale (POS) systems and methods with dynamic kernel selection
US10990969B2 (en) 2018-12-21 2021-04-27 Square, Inc. Point of sale (POS) systems and methods for dynamically processing payment data based on payment reader capability
US11049095B2 (en) 2018-12-21 2021-06-29 Square, Inc. Point of sale (POS) systems and methods with dynamic kernel selection
CN109743137A (zh) * 2019-01-10 2019-05-10 浙江小泰科技有限公司 一种支持更新的分布式延迟消息队列处理系统
CN109743137B (zh) * 2019-01-10 2022-01-14 浙江小泰科技有限公司 一种支持更新的分布式延迟消息队列处理系统

Also Published As

Publication number Publication date
CA2997776A1 (en) 2017-03-30
US20170083879A1 (en) 2017-03-23
EP3329438B1 (en) 2020-04-15
JP6505948B2 (ja) 2019-04-24
JP2018533785A (ja) 2018-11-15
EP3329438A1 (en) 2018-06-06
CN108140182B (zh) 2022-06-14
CA2997776C (en) 2020-08-11
US9330383B1 (en) 2016-05-03
US9613350B1 (en) 2017-04-04
US10083437B2 (en) 2018-09-25
US20170083904A1 (en) 2017-03-23
WO2017053699A1 (en) 2017-03-30

Similar Documents

Publication Publication Date Title
CN108140182A (zh) 用于支付系统的消息分派器
CN106940849B (zh) 数据交互方法及装置、离线信用支付方法及装置
AU2017245244B2 (en) Compressed firmware update
US10248940B1 (en) Modular firmware for transaction system
JP6731080B2 (ja) 電子支払いトランザクションの至急処理
CN106104604A (zh) 可分离电子支付设备
CN109644021B (zh) 近场通信柔性电路
EP3563328B1 (en) Partial data object acquisition and processing
CN109690593A (zh) 预交易处理技术
US20170243198A1 (en) Multi card generation method, multi card use method and multi card system
CN103400461A (zh) Pos机、卡片业务实现的系统及方法
WO2017095602A1 (en) System and method for transacting via two-party model
KR101099441B1 (ko) 신용카드 결제데이터의 불법조작을 방지하기 위한 신용카드 결제 시스템 및 그 방법
KR20130105356A (ko) 모바일 쿠폰 교환 시스템 및 방법
KR20120088015A (ko) 결제단말을 이용한 포인트 사용방법 및 시스템과 결제단말 및 이를 위한 프로그램 기록매체
US20140201014A1 (en) Process for payment by cell phone to a merchant object of the invention
CN103679979A (zh) 数据处理方法及设备
KR20120087199A (ko) 결제단말을 이용한 쿠폰(또는 상품권) 발급/운용방법 및 시스템과 결제단말 및 이를 위한 프로그램 기록매체
KR20100103761A (ko) 결제서비스 제공을 위한 통신요금 결제처리 방법과 이를 위한 기록매체

Legal Events

Date Code Title Description
PB01 Publication
PB01 Publication
SE01 Entry into force of request for substantive examination
SE01 Entry into force of request for substantive examination
CB02 Change of applicant information

Address after: California, USA

Applicant after: Block and Co.,Inc.

Address before: California, USA

Applicant before: SQUARE, Inc.

CB02 Change of applicant information
GR01 Patent grant
GR01 Patent grant