Patent ID: 12223495

DETAILED DESCRIPTION

Various embodiments of the disclosure are discussed in detail below. While specific implementations are discussed, it should be understood that this is done for illustration purposes only. A person skilled in the relevant art will recognize that other components and configurations may be used without parting from the spirit and scope of the disclosure.

The present disclosure addresses the need in the art for a payment terminal having the ability to perform a polling loop to communicate its capabilities to other communication devices. Systems, methods and non-transitory computer-readable media are disclosed which transmit, as part of a polling loop, a value added services (VAS) command that includes capability data for the payment terminal. Also, systems, methods, and non-transitory computer-readable media are disclosed which receive and respond to a VAS command that includes capability data for the payment terminal.

Payment terminals can communicate with an electronic device using a contactless communication interface and a radio link with a contactless communication interface of the electronic device. For example, a payment terminal can use near field communication (NFC) technology to communicate with an NFC-enabled device, e.g., having a storage medium that contains encrypted payment information. According to the present technology, the payment terminal can also be configured to perform one or more additional value added services. For example, in addition to storing payment information, an electronic device can store information relating to one or more consumer loyalty programs. A consumer loyalty program can provide advantages to a consumer, such as affecting a price of an item, resulting in the accrual of loyalty points, trigger special offers, etc.

Payment terminals can also operate in a variety of modes depending on a number of factors including the type of transaction, the type of merchant, a customer preference, etc. For example, in some cases, a payment terminal can be in a VAS-only mode and can perform VAS-only transactions (e.g., determining whether the consumer is entitled to redeem a loyalty reward) before subsequently processing a payment. Also, a terminal can be in a VAS-plus-payment mode and can perform a VAS-transaction and a payment transaction in a single interaction, e.g., using a loyalty card to obtain deals and automatically processing a payment using a card linked with the loyalty program. In some cases, a payment terminal that is VAS-enabled can also operate in a Payment-only mode.

As introduced above, there is a need for a payment terminal to be able to communicate its capabilities to an NFC-enabled device before a handshake between the payment terminal and the device. This allows the device communicating with the terminal to prepare to transmit the appropriate VAS information and/or payment information, depending on whether the payment terminal supports VAS transactions and depending on the mode in which the payment terminal is operating. Accordingly, some embodiments of the present technology introduce a VAS command that also includes a message advertising the payment terminal's capabilities into the payment terminal's polling loop. The VAS command can be read by a payment device, but a handshake with the payment device may not be initiated until the payment device responds to the VAS command. By causing the terminal to wait for a response to the VAS command, the electronic device may be able to prepare to perform a VAS transaction with the payment terminal according to the mode in which the payment terminal is operating.FIG.1illustrates an example method100of polling for devices that have VAS capabilities, according to some embodiments of the present technology.

As illustrated inFIG.1A, the method can progress through two levels, Level 1 and Level 2. In some embodiments these levels can correspond to a standard established by EMVCo for processing payment transactions using an NFC card reader and an NFC-enabled payment object. The EMVCo standard sets forth that, in Level 1, a payment terminal can advertise communication protocols supported by the card reader in a polling loop. These protocols can be advertised as commands, such as a Wake-Up-A command or Wake-Up-B command, corresponding to communication protocols A & B, respectively. Other protocols, such as Type-F (of FeliCa) also can be supported. Once a card or other NFC-enabled object responds to one of the advertised communication protocols, the card reader and NFC-enabled object may initiate a communication session using the communication protocol that is designated in the advertised command. The EMVCo standard sets forth that, in Level 2, one or more payment kernels can be advertised, e.g., kernels for Visa, MasterCard, AMEX, etc. The NFC-enabled object can respond to the advertisement corresponding to the issuer of the payment object that is to be used in the transaction.

The present technology can work within existing standards, but can add an additional advertisement to the Level 1 polling loop, herein called a VAS-Up command or VAS command. The VAS-Up command can utilize an existing communication protocol, such as communication protocol Type-A (or Type-B or Type-F), but also include additional data. An NFC-enabled object that also supports VAS can respond to the VAS-Up command, if it is available. The present technology can also utilize a new kernel added to Level 2 for VAS.

The method100ofFIG.1Ainvolves a payment terminal performing a polling loop105as part of Level 1 to advertise the type(s) of communication protocol(s) supported by the payment terminal. The polling loop can involve advertising a communication standard by transmitting commands using the advertised protocol(s) and listening for responses. A response can indicate that a device is trying to communicate with the payment terminal using the standard that was last advertised by the payment terminal. One example standard known to those of skill in the art, ISO14443, defines at least two communication standards—type A and type B. Additionally, as recognized by the present technology, further poll signals can be employed to communicate that the terminal has certain other capabilities. For example, a VAS-Up command can be used to specify that the terminal supports VAS. The VAS-Up command can also be used to specify a mode the terminal is operating in, e.g., VAS-only mode, VAS-plus-payment mode, payment only mode, etc.

The polling loop can iterate until an electronic device is brought into communication range, receives a command, and responds to the command to indicate that the electronic device understands a protocol used to communicate the command. For example, the polling loop can involve transmitting a Wake-Up A command, waiting for a predetermined period of time for a response, transmitting a Wake-Up B command, waiting for a predetermined period of time for a response, transmitting a VAS-Up command, waiting for a predetermined period of time for a response, and iterating the steps until a response is received. In other implementations, different sequences can be employed involving more, fewer, and/or different protocols, different transmissions, different periods, etc.

FIG.1Billustrates an example of a payment terminal199configured with Level 1 polling commands and Level 2 payment kernels according to some embodiments of the present technology. The Level 1 polling commands can include a Wake-Up A command197, a Wake-Up B command196, and a VAS-Up command195. In other implementations, more, fewer, or different polling commands can be used. The Level 2 payment kernels can include, for example, a VISA kernel194, a MasterCard kernel193, an American Express kernel192, a crypto-currency kernel191, and one or more further payment processing kernels190that are now known or developed later. In other implementations, more, fewer, or different payment kernels can be used.

The EMVCo standard can also involve certifying payment terminals before they are authorized to process a payment. In some embodiments of the present technology, the VAS-Up command195can be added to a certified payment terminal without the need to have the terminal re-certified by EMVCo. For example, the VAS-Up command195can be added to the payment terminal and the payment terminal can be configured to transmit a VAS-Up command having a standard ISO format with an extra byte that indicates that the payment terminal can perform VAS transactions and indicating the VAS mode in which the terminal is operating. Likewise, a VAS transaction command180can be added to the Level 2 kernels for performing Level 2 VAS transactions.

FIG.1Cillustrates an example of a byte189transmitted in the VAS-Up command195. As illustrated, the byte189specifies the mode that the terminal is operating in, e.g., VAS-only mode, VAS-plus-payment mode, payment only mode, etc.

Referring again toFIG.1A, Level 1 of the method100can involve receiving a response to the VAS-Up command110from a device120and performing a handshake with the device120to set up a VAS session. Additionally, Level 1 of the method100can involve receiving a response to the Wake-Up A or Wake-Up B commands115, performing a handshake116, performing one or more other loyalty transactions117, performing a VAS transaction118and progressing to a Level 2 payment polling loop155as discussed below.

When a VAS session is set up, e.g., after receiving a response to the VAS-Up command110and performing a handshake with a device120, method100may involve executing a VAS kernel as part of the Level 2 services. Executing a VAS kernel can involve transmitting a VAS identifier (e.g., a merchant identifier) to the electronic device, receiving VAS data (e.g., loyalty card information for a merchant associated with the merchant identifier) and performing a VAS transaction according to the mode in which the terminal is operating. (Note that a benefit of the terminal receiving a response to the VAS-UP command is that it can go directly to a VAS protocol and can bypass all ‘other’ loyalty protocols.)

When the terminal is in a VAS only mode, executing the VAS kernel135can involve performing a VAS transaction (e.g., determining that the customer is entitled to a free or discounted item) and resetting the communication field145.

When the terminal is in a VAS-plus-payment mode, executing the VAS kernel135can involve performing a VAS transaction (e.g., applying a discount per a loyalty program), resetting the communication field150, and progressing to a Level 2 payment polling loop155.

The ISO14443 standard also specifies a Level 2 transaction in which a specific payment-processing kernel is executed (e.g., Visa, MasterCard, Amex, etc.). Accordingly, the payment polling loop155can involve polling the device with payment type commands corresponding to the supported payment-processing kernels. Note that method100may involve receiving a response to the payment polling command160and performing a handshake165to set up a payment session. Once the payment session is set up, method100can involve performing a payment transaction170and resetting the communication field145.

FIG.2illustrates an example of a method200in which an electronic device listens for a VAS-Up command205, detects another known communication protocol command210, and waits to determine whether a VAS-Up command is detected215. For example, waiting to determine whether a VAS-Up command is detected215can involve receiving and not responding to one or more protocol commands until the VAS-Up command is detected or until the known communication protocol command is received a subsequent time (e.g., a second time) without having detected a VAS-Up command. For example, an electronic device can wait until it either receives a VAS-Up command or has observed at least one complete polling loop before responding. In another example, waiting to determine whether a VAS-Up command is detected215can involve waiting a predetermined period of time. In other examples, waiting to detect a VAS-Up command can include both waiting a predetermined period of time and detecting a known command at least twice.

When a VAS-Up command is detected, method200may involve determining the terminal's capabilities220based on data transmitted as part of the VAS-Up command (as shown inFIG.1Cfor example) and preparing the device for a VAS transaction225. For example, preparing the device for a VAS transaction can involve the device activating an application that stores VAS data, caching one or more frequently used VAS loyalty card, etc.

Next, the method involves performing a VAS transaction230. When a VAS protocol signal is not detected, method200may involve performing a payment transaction using the known payment protocol235. Note that the VAS transaction may be performed prior to the payment transaction.

FIG.3illustrates an example of a system300for sending VAS commands between a payment terminal310and an electronic device320, e.g., to discover the terminal's310and the device's320respective capabilities, as well as performing a VAS transaction according to some embodiments of the present technology. The payment terminal310includes a processor311, a contactless communications interface315, and a storage medium313having instructions stored thereon for performing a polling loop and for performing VAS and payment transactions. In some embodiments, the instructions cause the payment terminal to transmit VAS commands as part of the polling loop. The VAS commands can include a VAS protocol signal that specifies a mode that the payment terminal is operating in, e.g., VAS-only transaction mode, VAS-plus-payment transaction mode, etc.

Note that electronic device320can be any device configured to communicate with the contactless network interface315. For example, electronic device320can be a phone, a smart phone, a wearable electronic device, a tablet computer, a notebook (or laptop) computer, any other such portable computing device, a programmable universal card, etc.

Moreover, electronic device320includes a processor321, a communications interface325, and a storage medium323having instructions stored thereon for detecting payment and VAS-Up commands, and for performing VAS and payment transactions. When electronic device320detects a known payment protocol signal poll, electronic device320can wait to determine whether a VAS-Up command is subsequently detected. If a VAS-Up command is detected, electronic device320can determine the payment terminal's310capabilities, prepare for a VAS transaction, and initiate a VAS transaction by responding to payment terminal310with a VAS protocol signal. Furthermore, electronic device320can perform the VAS transaction before performing a payment transaction.

FIG.4AandFIG.4Billustrate examples of possible system embodiments. Persons of ordinary skill in the art will also readily appreciate that other system embodiments are possible.

FIG.4Aillustrates an example of a system-bus computing system architecture400in which the components of the system are in electrical communication with each other using a bus405. In particular, system400may include a processing unit (CPU or processor)410and a system bus405that couples various system components including system memory415, such as read-only memory (ROM)420and random-access memory (RAM)425, to processor410.

Moreover, system400can include a cache of high-speed memory connected directly with, in close proximity to, or integrated as part of processor410. Furthermore, system400can copy data from memory415and/or storage device430to cache412for quick access by processor410. In this way, cache412can provide a performance boost that avoids processor410delays while waiting for data. These and other modules can control or be configured to control processor410to perform various actions. Other system memory415may be available for use as well. Note that memory415can include multiple different types of memory with different performance characteristics. In addition, processor410can include any general purpose processor and a hardware module or software module, such as module1432, module2434, and module3436stored in storage device430, configured to control processor410as well as a special-purpose processor where software instructions are incorporated into the actual processor design. The processor410may essentially be a completely self-contained computing system, containing multiple cores or processors, a bus, memory controller, cache, etc. A multi-core processor may be symmetric or asymmetric.

To enable user interaction with computing device400, an input device445can represent any number of input mechanisms, such as a microphone for speech, a touch-sensitive screen for gesture or graphical input, keyboard, mouse, motion input, speech and so forth. Moreover, an output device435can also be one or more of a number of output mechanisms known to those of skill in the art. In some instances, multimodal systems can enable a user to provide multiple types of input to communicate with computing device400. Furthermore, communications interface440, including NFC interface442, can generally govern and manage the user input and system output. For example, via NFC interface442, system400may receive a VAS command as part of a polling loop, where the VAS command includes payment terminal capabilities data that allows system400to determine whether the payment terminal supports VAS operation. There is no restriction on operating on any particular hardware arrangement and therefore the basic features here may easily be substituted for improved hardware or firmware arrangements as they are developed.

Storage device430may be a non-volatile memory and can be a hard disk or other types of computer readable media which can store data that are accessible by a computer, such as magnetic cassettes, flash memory cards, solid state memory devices, digital versatile disks, cartridges, random-access memories (RAMs)425, read-only memory (ROM)420, and hybrids thereof.

Additionally, storage device430can include software modules432,434,436to control processor410. Other hardware or software modules are contemplated. Note that storage device430can be connected to system bus405. In one aspect, a hardware module that performs a particular function can include the software component stored in a computer-readable medium in connection with the necessary hardware components, such as processor410, bus405, display435, and so forth, to carry out this and/or other functions.

FIG.4Billustrates an example of a computer system450having a chipset architecture that can be used in executing the described method and generating and displaying a graphical user interface (GUI). Computer system450is an example of computer hardware, software, and firmware that can be used to implement the disclosed technology. System450can include a processor455, representative of any number of physically and/or logically distinct resources capable of executing software, firmware, and hardware configured to perform identified computations. Processor455can communicate with a chipset460that can control input to and output from processor455. In this example, chipset460outputs information to output465, such as a display, and can read and write information to storage device470, which can include magnetic media, and solid state media, for example. Chipset460can also read data from and write data to RAM475. A bridge480for interfacing with a variety of user-interface components485can be provided for interfacing with chipset460. Such user interface components485can include a keyboard, a microphone, touch detection and processing circuitry, a pointing device, such as a mouse, and so on. In general, inputs to system450can come from any of a variety of sources, machine generated and/or human generated.

Chipset460can also interface with one or more communication interfaces490that can have different physical interfaces. Such communication interfaces can include interfaces for wired and wireless local area networks, for broadband wireless networks, as well as personal area networks. For example, via NFC interface492, computer system450may receive a VAS command as part of a polling loop, where the VAS command includes payment terminal capabilities data that allows computer system450to determine whether the payment terminal supports VAS operation. Some applications of the methods for generating, displaying, and using the GUI disclosed herein can include receiving ordered datasets over the physical interface or may be generated by the machine itself, e.g., by processor455, to analyze data stored in storage470or475. Furthermore, the machine can receive inputs from a user via user-interface components485and may execute appropriate functions, such as browsing functions by interpreting these inputs using processor455.

It can be appreciated that systems400and450can have more than one processor410or be part of a group or cluster of computing devices networked together to provide greater processing capability.

For clarity of explanation, in some instances the present technology may be presented as including individual functional blocks including functional blocks comprising devices, device components, steps or routines in a method embodied in software, or combinations of hardware and software.

In some embodiments the computer-readable storage devices, mediums, and memories can include a cable or wireless signal containing a bit stream and the like. However, when mentioned, non-transitory computer-readable storage media expressly exclude media such as energy, carrier signals, electromagnetic waves, and signals per se.

Methods according to the above-described examples can be implemented using computer-executable instructions that are stored or otherwise available from computer readable media. Such instructions can comprise, for example, instructions and data which cause or otherwise configure a general purpose computer, special purpose computer, or special purpose processing device to perform a certain function or group of functions. Portions of computer resources used can be accessible over a network. The computer executable instructions may be, for example, binaries, intermediate format instructions such as assembly language, firmware, or source code. Examples of computer-readable media that may be used to store instructions, information used, and/or information created during methods according to the described embodiments, may include: magnetic or optical disks, flash memory, USB devices provided with non-volatile memory, networked storage devices, and so on.

Devices implementing methods according to these disclosures can comprise hardware, firmware and/or software, and can take any of a variety of form factors. Typical examples of such form factors include laptops, smart phones, small form factor personal computers, personal digital assistants, and so on. Functionality described herein also can be embodied in peripherals or add-in cards. Such functionality can also be implemented on a circuit board among different chips or different processes executing in a single device, by way of further example.

The instructions, media for conveying such instructions, computing resources for executing them, and other structures for supporting such computing resources are means for providing the functions described in these disclosures.

Although a variety of examples and other information was used to explain aspects within the scope of the appended claims, no limitation of the claims should be implied based on particular features or arrangements in such examples, as one of ordinary skill would be able to use these examples to derive a wide variety of implementations. Further and although some subject matter may have been described in language specific to examples of structural features and/or method steps, it is to be understood that the subject matter defined in the appended claims is not necessarily limited to these described features or acts. For example, such functionality can be distributed differently or performed in components other than those identified herein. Rather, the described features and steps are disclosed as examples of components of systems and methods within the scope of the appended claims.

The various embodiments described above are provided by way of illustration only and should not be construed to limit the scope of the disclosure. Those skilled in the art will readily recognize various modifications and changes that may be made to the principles described herein without following the example embodiments and applications illustrated and described herein, and without departing from the spirit and scope of the disclosure.