CROSS-REFERENCE TO RELATED APPLICATIONThis application claims the benefit of U.S. Provisional Patent Application No. 63/223,477, filed Jul. 19, 2021. The disclosure of this application is incorporated by reference herein in its entirety.
BACKGROUNDAs user devices have developed, the operations that may be performed by the user devices have expanded. Many of these operations benefit from the ability to transfer data between the user devices. Accordingly, the user devices have developed to allow the transfer of data to and from the user devices.
BRIEF SUMMARYThe approaches described herein may allow a user to utilize a data originating device associated with a first account to complete a data transfer with a data receiving device associated with a second account. In particular, a data transfer from the data originating device to a data receiving device may be initiated by positioning an electronic element of the data originating device within a proximity of a data receiving device. The data originating device and the data receiving device may communicate to enable display of a user input field for completing the data transfer on the data originating device. The user input field is configured to receive a user input including value data on the data originating device and may provide the value data to the receiving device for completion of the data transfer. In some instances, completion of the data transfer occurs on a second communication channel established between the devices for secure exchange of the data value between the devices.
In some embodiments, a method may include detecting on a first communication channel, by a data receiving device, an initiation of a data transfer with a data originating device. The method may further include providing on the first communication channel, by the data receiving device to the data originating device, an indication that the data receiving device supports a communication handover on a second communication channel for the data transfer and determining, by the data receiving device, that the data originating device supports the communication handover on the second communication channel based at least in part on an indication that the data originating device supports the communication handover on the second communication channel received on the first communication channel. The method may further include determining, by the data receiving device, a value data based on an indication of the value data received on the second communication channel, determining, by the data receiving device, a transfer value for the data transfer based at least in part on the value data, and completing, by the data receiving device, the data transfer with the transfer value.
In some embodiments, a method may include detecting, by a data receiving device, an initiation of a data transfer with a data originating device based on a first time that the data originating device has entered a proximity of the data receiving device. The method may further include providing, by the data receiving device to the data originating device, an indication that the data receiving device supports a double tap data transfer and determining, by the data receiving device, that the data originating device supports the double tap data transfer based at least in part on an indication that the data originating device supports the double tap data transfer received from the data originating device. The method may further include determining, by the data receiving device, a value data based on an indication of the value data received from the data originating device during a second time that the data originating device has entered the proximity of the data receiving device, determining, by the data receiving device, a transfer value for the data transfer based at least in part on the value data, and completing, by the data receiving device, the data transfer with the transfer value.
In some embodiments, a method may include determining, by a data originating device based at least in part on an indication received on a first communication channel, that a data receiving device supports a communication handover on a second communication channel for a data transfer. The method may further include providing on the first communication channel, by the data originating device to the data receiving device, an indication that the data originating device supports the communication handover on the second communication channel, and providing, by the data originating device to the data receiving device, an indication of a value data on the second communication channel, the value data to be utilized for completion of the data transfer with a transfer value based at least in part on the value data.
In some embodiments, a method may include determining, by a data originating device, that a data receiving device supports a double tap data transfer based at least in part on an indication that the data receiving device supports the double tap data transfer received from the data receiving device during a first time that the data originating device has entered a proximity of the data receiving device. The method may include providing, by the data originating device, an indication that the data originating device supports the double tap data transfer, and providing, by the data originating device to the data receiving device, an indication of a value data during a second time that the data originating device has entered the proximity of the data receiving device.
BRIEF DESCRIPTION OF THE DRAWINGSFIG.1 illustrates an example data transfer display arrangement in accordance with some embodiments.
FIG.2A illustrates a first portion of an example device display sequence for a single tap approach in accordance with some embodiments.
FIG.2B illustrates a second portion of the example device display sequence for the single tap approach in accordance with some embodiments.
FIG.2C illustrates a third portion of the example device display sequence for the single tap approach in accordance with some embodiments.
FIG.3A illustrates an example first communication channel signal flow for the single tap approach in accordance with some embodiments.
FIG.3B illustrates an example second communication channel signal flow in accordance with some embodiments.
FIG.4A illustrates an example first communication channel signal flow in accordance with some embodiments.
FIG.4B illustrates an example second communication channel signal flow in accordance with some embodiments.
FIG.5A illustrates an example first communication channel signal flow with value added services (VAS) in accordance with some embodiments.
FIG.5B illustrates an example second communication channel signal flow in accordance with some embodiments.
FIG.6 illustrates an example proximity illustration for communication channels of devices in accordance with some embodiments.
FIG.7 illustrates an example double tap signal flow in accordance with some embodiments.
FIG.8A illustrates a first portion of an example device display sequence for the double tap approach in accordance with some embodiments.
FIG.8B illustrates a second portion of the example device display sequence for the double tap approach in accordance with some embodiments.
FIG.9 illustrates an example command frame in accordance with some embodiments.
FIG.10 illustrates example bit arrangements for the fourth byte of the command frame ofFIG.9 in accordance with some embodiments.
FIG.11 illustrates example tags for a fourth byte according to some embodiments.
FIG.12 illustrates example bit arrangements for the fifth tag in accordance with some embodiments.
FIG.13 illustrates example codes for a VAS frame in accordance with some embodiments.
FIG.14 illustrates example tags for a VAS frame in accordance with some embodiments.
FIG.15 illustrates example tags for a VAS frame in accordance with some embodiments.
FIG.16 illustrates an example procedure for a data receiving device within a data transfer with a second communication channel in accordance with some embodiments.
FIG.17 illustrates an example procedure for a data originating device within a data transfer with a second communication channel in accordance with some embodiments.
FIG.18 illustrates an example procedure for a data receiving device within a data transfer with a double tap data transfer in accordance with some embodiments.
FIG.19 illustrates an example procedure for a data originating device within a data transfer with a double tap data transfer in accordance with some embodiments.
FIG.20 illustrates an example procedure for a device within a data transfer with user input field in accordance with some embodiments.
FIG.21 illustrates an example procedure for a data originating device within a data transfer with user input field in accordance with some embodiments.
FIG.22 illustrates an example procedure for a device within a data transfer with a second communication channel in accordance with some embodiments.
FIG.23 illustrates an example procedure for a data originating device within a data transfer with a second communication channel in accordance with some embodiments.
FIG.24 illustrates an example system arrangement in accordance with some embodiments.
DETAILED DESCRIPTIONSystems, computer-readable media, methods, and approaches described throughout this disclosure may provide establishment of a second communication channel between a data receiving device and a data originating device and/or may provide for user input at the data originating device for a data transfer. A user may be able to interact with the data originating device during the data transfer to complete the data transfer with the data receiving device. For example, the data originating device may display a tip amount input field on a display of the user device and receive a user input of a tip amount related to the data transfer. The data originating device may provide an indication of the tip amount to the data receiving device for the data receiving device to complete the data transfer.
The following detailed description refers to the accompanying drawings. The same reference numbers may be used in different drawings to identify the same or similar elements. In the following description, for purposes of explanation and not limitation, specific details are set forth such as particular structures, architectures, interfaces, techniques, etc. in order to provide a thorough understanding of the various aspects of various embodiments. However, it will be apparent to those skilled in the art having the benefit of the present disclosure that the various aspects of the various embodiments may be practiced in other examples that depart from these specific details. In certain instances, descriptions of well-known devices, circuits, and methods are omitted so as not to obscure the description of the various embodiments with unnecessary detail.
I. User Input Field DisplayThe approaches described herein may include display of a user input field on a data originating device for completing a data transfer with a data receiving device. The data transfer may be initiated based on the data originating device being positioned within a proximity of the data receiving device. The data originating device may display the user input field on a display the data originating device, where the data originating device may receive a value data within the user input field. The data originating device may provide an indication of the value data to the data receiving device for completion of the data transfer. In some embodiments, a second communication channel may be established between the data originating device and the data receiving device for communication between the data originating device and the data receiving device, including transmission of the indication of the value data to the data receiving device.
FIG.1 illustrates an example datatransfer display arrangement100 in accordance with some embodiments. In particular, the datatransfer display arrangement100 displays adata receiving device102 and adata originating device104 with example displays in accordance with some embodiments. In some instances, thedata receiving device102 may comprise a merchant device and the data originating device may comprise a customer device.
In the illustrated instance, thedata receiving device102 and thedata originating device104 may be involved in a data transfer. The data transfer may be for a good and/or service provided by a first user associated with thedata receiving device102 being acquired by a second user associated with thedata originating device104. Thedata receiving device102 may have entered information related to the data transfer, such as a value of the data transfer. Thedata receiving device102 may display adata transfer request106 that requests interaction of an electronic element, the electronic element being associated with an account for completing the data transfer. Thedata receiving device102 may begin sensing for the electronic element in response to the entry of information at thedata receiving device102 related to the data transfer. Thedata originating device104 may be associated with an account and may act as an electronic element. Thedata receiving device102 may detect when thedata originating device104 is moved within a proximity of thedata receiving device102 and the data transfer between thedata receiving device102 and thedata originating device104 may be initiated based on the detection, by thedata receiving device102, of thedata originating device104 being within the proximity of thedata receiving device102.
As part of the data transfer, thedata originating device104 may display auser input field108 for user input of information for the data transfer. For example, thedata receiving device102 may cause thedata originating device104 to display theuser input field108 on a display of thedata originating device104 as part of the data transfer. Thedata receiving device102 may provide a transmission to thedata originating device104, wherein the transmission causes thedata originating device104 to display theuser input field108. Thedata receiving device102 may provide the transmission to thedata originating device104 via a first communication channel or a second communication channel, where the first communication channel may implement near field communication (NFC) and the second communication channel may implement a different communication protocol than the NFC, such as Wi-Fi, ultra-wideband, Bluetooth, or another wireless communication protocol. In some embodiments, the second communication channel may be established via a network (e.g., wide area and/or public), such as the Internet. The transmission provided by thedata receiving device102 may indicate theuser input field108 to be displayed on thedata originating device104 and/or include information for theuser input field108 to be displayed on thedata originating device104.
Thedata originating device104 may detect a user input within theuser input field108. In particular, thedata originating device104 may detect a user input provided within theuser input field108 by a user of thedata originating device104. In some embodiments, thedata originating device104 may further detect an indication that the user has completed entering the user input into theuser input field108, such as thedata originating device104 detecting that the user has clicked aconfirm button110 in the illustrated embodiment. Thedata originating device104 may determine a value data of theuser input field108 based on the user input. Thedata originating device104 may transmit an indication of the value data to thedata receiving device102 for completion of the data transfer. For example, thedata originating device104 may transmit the indication of the value data via the NFC or the second communication channel. Thedata receiving device102 may complete the data transfer in accordance with the value data provided by thedata originating device104.
Thedata receiving device102 and thedata originating device104 may establish one or more communication channels between thedata receiving device102 and thedata originating device104 for performance of the data transfer. Thedata receiving device102 and thedata originating device104 may exchange communications via the communication channels to perform the operations to complete the data transfer. In the illustrated embodiment, afirst communication channel112 and asecond communication channel114 are shown established between thedata receiving device102 and thedata originating device104. Thefirst communication channel112 and thesecond communication channel114 may be established in accordance with the establishment of first communication channels and second communication channels, respectively, described throughout this disclosure. In some embodiments, thesecond communication channel114 may comprise a secure channel. The secure channel may implement different security than thefirst communication channel112. In some embodiments, thesecond communication channel114 may be omitted. Procedures related to the data transfer and display of theuser input field108 are described further throughout this disclosure.
II. Single Tap ApproachIn some embodiments, a procedure for performing a data transfer may be performed using a single tap between a data receiving device (such as the data receiving device102 (FIG.1)) and a data originating device (such as the data originating device104 (FIG.1)). The single tap approach may provide for a user input field being displayed on a display of the data originating device as part of the data transfer. In some embodiments, the data receiving device may be functioning as a point of sale (POS) device and the data originating device may be functioning as a near field communication (NFC) payment device in the data transfer. A value data input by a user of the data originating device into the user input field may be utilized for completing the data transfer. The single tap approach may further provide for establishment of a second communication channel between the data receiving device and the data originating device. For example, the single tap approach may support communication handover on the second communication channel for the data transfer. The second communication channel may be utilized for transmission of communications between the data receiving device and the data originating device related to the data transfer, such as transmission of communications related to the user input field.
FIG.2A illustrates a first portion of an exampledevice display sequence200 for a single tap approach in accordance with some embodiments,FIG.2B illustrates a second portion of the exampledevice display sequence200 for the single tap approach in accordance with some embodiments, andFIG.2C illustrates a third portion of the exampledevice display sequence200 for the single tap approach in accordance with some embodiments. Thedevice display sequence200 illustrates a sequence of displays that may be displayed on adata receiving device202 and adata originating device204 during a data transfer with a single tap approach. Thedata receiving device202 may host the data transfer and may be associated with a first user. Thedata originating device204 may be associated with a second user in the data transfer.FIG.3A illustrates an example first communicationchannel signal flow300 for the single tap approach in accordance with some embodiments andFIG.3B illustrates an example second communicationchannel signal flow350 in accordance with some embodiments. The first communicationchannel signal flow300 may establish the second communication channel (such as the second communication channel114 (FIG.1)) for the second communicationchannel signal flow350 as described further below. The first communicationchannel signal flow300 and the second communicationchannel signal flow350 may cause the displays, or a portion thereof, to be displayed on the devices in thedevice display sequence200 as described further below.
At a beginning of the data transfer, a user of thedata receiving device202 may input a value for the data transfer. The value may be a value that the user of thedata receiving device202 is charging for one or more goods and/or services that have been provided to or will be provided to a user of thedata originating device204. Thedata receiving device202 may display an electronicelement request interface206 on a display of thedata receiving device202 based on the user inputting the value for the data transfer. In particular, thedata receiving device202 may detect the input of the value and may display the electronicelement request interface206 in response to thedata receiving device202 detecting the input of the value. The electronicelement request interface206 may request an electronic element be positioned within a proximity of thedata receiving device202. For example, the electronicelement request interface206 recites “Please tap your card on top” in the illustrated embodiment. The electronic element may be associated with an account of a user of thedata originating device204, where the value is transferred from the account of the user of thedata originating device204 to an account associated with a user of thedata receiving device202 for the data transfer. In some instances, the electronic element may comprise a proximity integrated circuit card (PICC). The PICC may comprise thedata originating device204 in some embodiments. The electronicelement request interface206 may further display the value due in some embodiments. Thedata receiving device202 may monitor for the electronic element being positioned within the proximity of thedata receiving device202 after the user has input the value into thedata receiving device202. In some embodiments, thedata receiving device202 may monitor for the electronic element while the electronicelement request interface206 is being displayed. Thedata receiving device202 may monitor for the electronic element by transmitting a signal one or more times and waiting for a response from an electronic element.
Thedata originating device204 may operate as an electronic element for the data transfer with thedata receiving device202. For example, thedata originating device204 may be associated with an account of the user of thedata originating device204 that may transfer the value to an account associated with thedata receiving device202. In some embodiments, thedata receiving device202 may be functioning as a POS device and thedata originating device204 may be functioning as a NFC payment device. Thedata originating device204 may display anelectronic element interface208 to indicate that thedata originating device204 is operating as an electronic element. In some embodiments, thedata originating device204 may begin operating as an electronic element based on a user interaction with thedata originating device204 indicating that thedata originating device204 is to be operating as an electronic element, or thedata originating device204 being moved within the proximity of thedata receiving device202 while thedata receiving device202 is monitoring for the electronic element. The proximity may be defined by a communication protocol for the communication between thedata receiving device202 and thedata originating device204. For example, thedata receiving device202 may utilize a first communication channel to transmit the signal during monitoring for the electronic element and thedata originating device204 may respond via the first communication channel. The first communication channel may implement NFC. The first communication channel that implements NFC may have a proximity of 20 cm or less, where thedata receiving device202 and thedata originating device204 are to be within 20 cm or less of each other to communicate via the first communication channel. When located within the proximity of thedata receiving device202, thedata originating device204 may detect the signal transmitted by thedata receiving device202 when monitoring for the electronic element and thedata originating device204 may respond as the electronic element.
Thedata receiving device202 may detect the response from thedata originating device204 and detect that thedata originating device204 has entered the proximity of thedata receiving device202. Further, thedata receiving device202 may detect an initiation of the data transfer based on thedata receiving device202 detecting that thedata originating device204 has entered the proximity of thedata receiving device202. In some embodiments, thedata receiving device202 may display an electronic elementcomplete interface210 that indicates thedata receiving device202 has detected the electronic element, which is thedata originating device204 in this instance. In other embodiments, thedata receiving device202 may display the electronic elementcomplete interface210 later in the data transfer procedure.
Thedata receiving device202 may further transmit ahandover support indication302 to thedata originating device204 in response to detection of thedata originating device204 being within the proximity of thedata receiving device202. Thedata receiving device202 may transmit thehandover support indication302 via a first communication channel, which is via NFC in the illustrated embodiment. Thehandover support indication302 transmitted by thedata receiving device202 may indicate that thedata receiving device202 supports communication handover to a second communication channel for at least a part of the data transfer. In some embodiments, thehandover support indication302 may further indicate services, such as tipping, that thedata receiving device202 supports being performed via the second communication channel.
Thedata originating device204 may detect thehandover support indication302 received from thedata receiving device202. In response to detecting thehandover support indication302, thedata originating device204 may respond with asupport indication304. Thedata originating device204 may transmit thesupport indication304 via the first communication channel. Thesupport indication304 may indicate whether thedata originating device204 supports the communication handover to the second communication channel. In some embodiments, thesupport indication304 may further indicate whether thedata originating device204 supports the services via the second communication channel indicated as being supported in thehandover support indication302. Thehandover support indication302 and thesupport indication304 may be part of an enhanced contactless polling (ECP)procedure306. TheECP procedure306 may be utilized to determine whether both thedata receiving device202 and thedata originating device204 support the second communication channel. If one or both of thedata receiving device202 and thedata originating device204 do not support the second communication channel, the data transfer may proceed without establishing the second communication channel. If both of thedata receiving device202 and thedata originating device204 indicate that the second communication channel is supported, the second communication channel may be established as part of the data transfer.
Thedata receiving device202 may detect thesupport indication304 received from thedata originating device204. Thedata receiving device202 may determine, based on thesupport indication304, whether thedata receiving device202 and thedata originating device204 both support the second communication channel. In some embodiments, thedata receiving device202 may further determine, based on thesupport indication304, which of the services both thedata receiving device202 and thedata originating device204 support being performed via the second communication channel. In response to thedata receiving device202 determining that both thedata receiving device202 and thedata originating device204 support communication handover to the second communication channel, thedata receiving device202 may initiate ahandover procedure308. Thehandover procedure308 may be utilized to establish a second communication channel between thedata receiving device202 and thedata originating device204.
Thedata receiving device202 may transmit aselection handover message310 to thedata originating device204 as part of thehandover procedure308. Theselection handover message310 may indicate an application selected for establishing the second communication channel. Theselection handover message310 may include a first elliptic curve cryptography (ECC) key to be utilized for establishing the second communication channel. In some embodiments, the first ECC key may comprise a merchant ECC key. The first ECC key may comprise a public key in some embodiments. Theselection handover message310 may further indicate a communication protocol for the second communication channel, where the communication protocol may be a different communication protocol from NFC. For example, theselection handover message310 may indicate that the second communication channel is to implement Wi-Fi, ultra-wideband, Bluetooth, or another wireless communication protocol other than NFC. In other embodiments, the communication protocol may be predefined for the second communication channel and theselection handover message310 may omit the indication of the communication protocol. In some embodiments, the second communication channel may be established via a wide area and/or public network, such as the Internet. In these embodiments, theselection handover message310 may include an indication of a network construct (such as an internet protocol (IP) address) that may be utilized for the second communication channel. In some embodiments, the second communication channel may implement different security from the first communication channel. For example, the communication protocol implemented by the second communication channel may provide different security from the communication protocol implemented by the first communication channel. Further, the second communication channel may be referred to as a secure channel in some instances.
Thedata originating device204 may detect theselection handover message310 received from thedata receiving device202. In response to detecting theselection handover message310, thedata originating device204 may transmit a handover response message312 to thedata receiving device202. The handover response message312 may include a second ECC key to be utilized for establishing the second communication channel. The second ECC key may be a customer ECC key in some embodiments. In some embodiments, the second ECC key may comprise a public key. The handover response message312 may acknowledge indication of the application selected for establishing the second communication channel and may indicate approval of establishing the second communication channel via the application. Further, the handover response message312 may indicate approval of the communication protocol indicated in theselection handover message310 in some embodiments.
Thedata receiving device202 and thedata originating device204 may transition to the second communication channel to establish the second communication channel between thedata receiving device202 and thedata originating device204. For example, thedata receiving device202 and thedata originating device204 may enter achannel setup procedure352 to establish the second communication channel, as shown inFIG.3B. In particular, the procedures of the data transfer performed via the second communication channel may be illustrated via the second communicationchannel signal flow350. Thedata receiving device202 and thedata originating device204 may utilize the first ECC key from theselection handover message310 and/or the second ECC key from the handover response message312 to establish the second communication channel. For example, thedata receiving device202 and/or thedata originating device204 may derive information from the first ECC key and/or the second ECC key to establish the second communication channel. In some embodiments, the second communication channel may be established between thedata receiving device202 and thedata originating device204 based further on a session name for the second communication channel, a password for the second communication channel, or some combination thereof. Thedata receiving device202 and thedata originating device204 may exchange one or more messages via the second communication channel to establish the second communication channel.
Establishing the second communication channel may further include setting up the communication protocol for the second communication channel. The communication protocol for the second communication channel may be a different communication protocol from the NFC of the first communication channel. In some embodiments, the communication protocol may be the communication protocol defined in theselection handover message310. The communication protocol for the second communication channel may be Wi-Fi, ultra-wideband, Bluetooth, or another wireless communication protocol. The communication protocol for the second communication channel may provide communication over a greater distance than the NFC utilized for the first communication channel. For example, the NFC may provide for proximity of 20 cm in which thedata receiving device202 and thedata originating device204 may communicate, whereas the communication protocol for the second communication channel may provide a proximity of greater than 20 cm in which thedata receiving device202 and thedata originating device204 may communicate. In some embodiments, the communication protocol for the second communication channel may be Wi-Fi, where the Wi-Fi may provide communication between thedata receiving device202 and thedata originating device204 up to300 feet in some instances.
Establishing the second communication channel may further include setting up security for the second communication channel. For example, transmissions between thedata receiving device202 and thedata originating device204 via the second communication channel may be encrypted. An encryption for the transmissions may be determined based on the first ECC key, the second ECC key, or some combination thereof. The encryption of the transmissions via the second communication channel may protect the communications transmitted between thedata receiving device202 and thedata originating device204. In some embodiments, the second communication channel may implement different security than the first communication channel. For example, the security of second communication channel may provide greater security than the first communication channel in some embodiments. The second communication channel may be referred to as a secure channel in some embodiments.
Once the second communication channel has been established, thedata originating device204 may transmit a fetchmessage354 to thedata receiving device202 via the second communication channel. The fetchmessage354 may request a service from thedata receiving device202. In the illustrated embodiment, the fetchmessage354 may request preliminary receipt data from thedata receiving device202 for the data transfer. The preliminary receipt data may include a preliminary receipt in some embodiments. In some embodiments, the fetchmessage354 may further provide information regarding the account associated with the user of thedata originating device204.
Thedata receiving device202 may detect the fetchmessage354 received from thedata originating device204. Thedata receiving device202 may respond to the fetchmessage354 with aservice response message356 via the second communication channel. Theservice response message356 may provide the service requested by the fetchmessage354. For example, theservice response message356 may include the preliminary receipt data for the data transfer. Thedata receiving device202 may generate the preliminary receipt data based on the value of the data transfer. Theservice response message356 may further include an indication of a user input field to be displayed on a display of thedata originating device204. In the illustrated embodiment, theservice response message356 includes a tip support indication, which may indicate that a user input field, or a plurality of user input fields, associated with a value data that may be entered by a user of thedata originating device204. The user input fields may comprise one or more button inputs, bubble inputs, slider inputs, text field inputs, other user input fields, or some combination thereof. Theservice response message356 may cause thedata originating device204 to provide the service and/or display the user input field. For example, thedata originating device204 may display the preliminary receipt and/or the user input fields, or the plurality of user input fields, in response to detecting theservice response message356 in the illustrated embodiment.
In response to detecting theservice response message356, adisplay procedure372 may be initiated. In particular, thedata originating device204 may display a firstpreliminary receipt interface212 in response to detecting the fetchmessage354 in the illustrated embodiment, as illustrated inFIG.2B. The firstpreliminary receipt interface212 may be displayed on a display of thedata originating device204. The firstpreliminary receipt interface212 may include apreliminary receipt214. Thepreliminary receipt214 may be included in or generated based at least in part of the preliminary receipt data. Thepreliminary receipt214 may include an indication of an initial value of the data transfer. The initial value may be a value of the data transfer without any tipping included. The initial value may be referred to as a preliminary receipt value. The firstpreliminary receipt interface212 may further include a firstuser input field216. In the illustrated embodiment, the firstuser input field216 comprises two buttons that allow a user of thedata originating device204 to indicate whether a value data is to be added to the data transfer. In some embodiments, the value data may be a tip for the data transfer. In particular, the firstuser input field216 includes an “Add Tip” button and a “No Tip” button in the illustrated embodiment. Thedata originating device204 may detect an interaction with the firstuser input field216 from a user of thedata originating device204 to determine whether the user would like to add a value data to the data transfer. Thedata originating device204 may determine that the user would like to add a value data based on a detected user interaction with the “Add Tip” button and may determine that the user would not like to add a value data based on a detected user interaction with the “No Tip” button in the illustrated embodiment.
Thedata originating device204 may display a secondpreliminary receipt interface218 in response to the data originating device determining that the user would like to add a value data to the data transfer. For example, thedata originating device204 may display the secondpreliminary receipt interface218. The secondpreliminary receipt interface218 may include thepreliminary receipt214 or a modified version of thepreliminary receipt214. For example, the secondpreliminary receipt interface218 includes an indication of the initial value of the data transfer in the illustrated embodiment. The secondpreliminary receipt interface218 may further include a seconduser input field220. The seconduser input field220 may comprise atext input222 that provides for input of a value data by a user of thedata originating device204, where the value data may be a tip amount. In the illustrated embodiment, the seconduser input field220 further includes a plurality of buttons224 (including number buttons, a decimal point button, and a clear button) for inputting the value data into thetext input222. The seconduser input field220 may further include an entry button226 (labeled with “Complete” in the illustrated embodiment) that a user of thedata originating device204 may utilize to indicate that the value data has been entered in thetext input222. In particular, thedata originating device204 may detect a user interaction with theentry button226 and may determine that the value data has been entered based on detecting the user interaction with theentry button226.
In some embodiments, the firstpreliminary receipt interface212 and/or the secondpreliminary receipt interface218 may be provided within theservice response message356. For example, theservice response message356 may include data to define the firstpreliminary receipt interface212 and/or the secondpreliminary receipt interface218 to be displayed on thedata originating device204. In some embodiments, the firstpreliminary receipt interface212 and/or the secondpreliminary receipt interface218 may be stored on thedata originating device204 and theservice response message356 may indicate that thedata originating device204 is to display the firstpreliminary receipt interface212 and/or the secondpreliminary receipt interface218. Theservice response message356 may include information to be displayed within the firstpreliminary receipt interface212 and/or the secondpreliminary receipt interface218, such as thepreliminary receipt214 and/or the value to be included in thepreliminary receipt214.
While one example of preliminary receipt interfaces and user input fields are described above, it should be understood that other preliminary receipt interfaces and/or other user input fields may be displayed in other embodiments. For example, the firstpreliminary receipt interface212 may be omitted and the secondpreliminary receipt interface218 may be displayed in response to detecting the fetchmessage354 in some embodiments. Further, different versions of the preliminary receipts and/or user input fields may be displayed in other embodiments.
Based on the entry of the value data, thedata originating device204 may transmit an indication of the value data to thedata receiving device202 via the second communication channel. In particular, thedata originating device204 may transmit avalue data message374 to thedata receiving device202 in response to the user interaction with theentry button226 indicating that the user has entered a value data in thetext input222. Thevalue data message374 may include an indication of the value data entered by the user of thedata originating device204 in thetext input222 displayed on the display of thedata originating device204.
Thedata receiving device202 may detect thevalue data message374 received from thedata originating device204. Further, thedata receiving device202 may determine the value data from the indication of the value data from thevalue data message374. Thedata receiving device202 may generate an updated receipt in accordance with the value data. For example, thedata receiving device202 may add the value data (which may be a tip amount) to the initial value of the data transfer to produce a transfer value for the data transfer. The updated receipt may include the transfer value for the data transfer. Thedata receiving device202 may transmit an updatedreceipt message376 to thedata originating device204 via the second communication channel. The updatedreceipt message376 may include an indication of the updated receipt including the transfer value for the data transfer.
Thedata originating device204 may detect the updatedreceipt message376 received from thedata receiving device202. Thedata originating device204 may extract the updated receipt and/or the transfer value for the data transfer from the updatedreceipt message376. Thedata originating device204 may further display the extracted updated receipt and/or the transfer value for the data transfer, and/or store the extracted updated receipt and/or the transfer value for the data transfer within a receipt store of thedata originating device204. For example, thedata originating device204 may implement a wallet application, where the updated receipt and/or the transfer value for the data transfer may be stored as an entry within the wallet application. Thedata originating device204 may display a datatransfer list interface228 of the wallet application that lists the entries within the wallet application. The datatransfer list interface228 may include anentry230 corresponding to the updated receipt, where theentry230 may display a portion of the information from the updated receipt on thedata originating device204.
Thedata originating device204 may detect a user interaction with theentry230 within the datatransfer list interface228. In response to the detection of the user interaction with theentry230, thedata originating device204 may display adetailed receipt interface232 associated with the updated receipt. Thedetailed receipt interface232 may display details of the updated receipt. The details of the updated receipt displayed in thedetailed receipt interface232 may include an indication of a user of the data receiving device202 (such as a merchant) associated with the data transfer, an indication of the account of the user of thedata originating device204 utilized for the data transfer, information associated with the account, itemized goods and/or services of the data transfer, the value data input by the user as part of the data transfer (such as the value data from the text input222 (FIG.2B)), any additional amounts associated with the data transfer (such as taxes), the transfer value from the updated receipt, or some combination thereof.
Thedata receiving device202 and thedata originating device204 may terminate the second communication channel after the operations to be performed via the second communication channel for the data transfer have been completed. For example, thedata receiving device202 and thedata originating device204 may perform adisconnection operation378 after the updatedreceipt message376 has been transmitted in the illustrated embodiment. Thedisconnection operation378 may result in the secure channel between thedata receiving device202 and thedata originating device204 being terminated.
The first communicationchannel signal flow300 may proceed with areset operation314. In particular, thedata receiving device202 and thedata originating device204 may perform areset operation314 for the first communication channel. Thereset operation314 may result in a context switch to a secure element of thedata receiving device202. For example, the operations performed via the first communication channel between thedata receiving device202 and thedata originating device204 prior to thereset operation314 may be performed via one or more processors of thedata receiving device202. The operations performed via the first communication channel between thedata receiving device202 and thedata originating device204 after thereset operation314 may be performed via the secure element of thedata receiving device202. The secure element may implement a security level that protects sensitive data associated with the accounts of the user of thedata receiving device202 and the user of thedata originating device204. The security level of the secure element may be in accordance with a defined security level for Europay, MasterCard, and Visa (EMV) data transfers. The secure element may prevent the sensitive data from being shared with the processors of thedata receiving device202, thereby providing a high level of protection for the sensitive data. In some embodiments, the secure element may establish a connection with thedata originating device204. Further, the secure element may establish a secure connection with a payment service provider (PSP) server to complete the data transfer. The operations performed after the reset operation may be performed via the first communication channel, the connection of the secure element with thedata originating device204, the secure connection with the PSP server, or some combination thereof.
Once thereset operation314 has been completed, thedata receiving device202 and thedata originating device204 may perform anEMV operation316. TheEMV operation316 may result in the value being transferred from the account associated with the user of the data originating device204 (which may be a customer) to the account associated with the user of the data receiving device202 (which may be a merchant).
TheEMV operation316 may initiate with apayment loop318 between thedata receiving device202 and thedata originating device204. Thepayment loop318 may be performed with the initial value of the preliminary receipt prior to taking into account the value data (such as the value data from the text input222). For example, thepayment loop318 may utilize the initial value for the data transfer before the value data is added to the initial value for the data transfer. Thepayment loop318 may include exchanging information between thedata receiving device202 and thedata originating device204 via the first communication channel, exchanging information between thedata receiving device202 and thedata originating device204 via the connection established by the secure element, exchanging information with the PSP server, or some combination thereof.
TheEMV operation316 may further have apayment authorization result320. Thepayment authorization result320 may take into account the value data (such as the value data from the text input222). For example, thepayment authorization result320 may utilize the transfer value included in the updated receipt, which may include the initial value of the data transfer plus the value data. Thepayment authorization result320 may result in the transfer of the transfer value from the account associated with the user of thedata originating device204 to the account associated with the user of thedata receiving device202. For example, thedata receiving device202 may utilize information associated with the payment authorization result320 (such as the updated value) to complete the data transfer with PSPs associated with the account of the user of thedata receiving device202 and the account of the user of thedata originating device204. In particular, thedata receiving device202 may communicate with a PSP server associated with the user of thedata receiving device202 to complete the data transfer. For example, thedata receiving device202 may communicate with the PSP server to complete the data transfer in accordance with the value data received from thedata originating device204. Thedata receiving device202 may communicate with the PSP server to have the value transferred from the account of the user of thedata originating device204 to the account of the user of thedata receiving device202. In some embodiments, the second communication channel may be terminated based on the completion of the data transfer.
Portions of thereset operation314 and theEMV operation316 may be performed concurrently with the establishment of the second communication channel and/or the operations performed via the second communication channel. For example, thereset operation314 and/or thepayment loop318 may be performed concurrently with the establishment of the second communication channel and/or the operations performed via the second communication channel in some instances. Thepayment authorization result320 of theEMV operation316 may be performed after the value data is provided to thedata receiving device202 via thevalue data message374. The completion of theEMV operation316 may result in the completion of the data transfer in accordance with the value data received from thedata originating device204. For example, the data transfer may be completed with the transfer value.
III. Second Communication ChannelIn some embodiments disclosed herein, a procedure for performing a data transfer between a data receiving device (such as the data receiving device102 (FIG.1)) and a data originating device (such as the data originating device104 (FIG.1)) may include establishing a second communication channel between the data receiving device and the data originating device and utilizing the second communication channel for transmission of a portion of the communications between the data receiving device and the data originating device for performing the data transfer. For example, the data receiving device and the data originating device may initiate the data transfer via a first communication channel and establish a separate second communication channel for transmission of communications between the data receiving device and the data originating device.
The first communication channel may implement a first communication protocol and the second communication channel may implement a second communication protocol that is different from the first communication protocol. For example, the first communication channel may implement NFC and the second communication channel may implement a communication protocol other than NFC (such as Wi-Fi, ultra-wideband, Bluetooth, or another wireless communication protocol other than NFC) in some embodiments. In some embodiments, the second communication channel may be established via a public and/or wide area network, such as the Internet. The communication protocol of the second communication channel may allow for communication between the data receiving device and the data originating device within a proximity that is larger than the proximity in which the communication protocol of the first communication channel may allow communication between the data receiving device and the data originating device. As an example, the communication protocol for the first communication channel may allow for communication between the data receiving device and the data originating device within a proximity of 20 centimeters (cm), whereas the communication protocol for the second communication channel may allow for communication between the data receiving device and the data originating device within a proximity of greater than 20 cm. In some embodiments, the second communication channel may implement different security from the first communication channel. For example, the second communication channel may implement security that is more secure than the security of the first communication channel in some embodiments. The second communication channel may be referred to as a secure channel in some embodiments.
In the case where the data receiving device is a host for a data transfer (for example, the data receiving device communicates via an external network to other entities for completing the data transfer), the data transfer may be initiated based at least in part on the data receiving device and the data originating device being located within a proximity corresponding to the first communication channel. The data receiving device may function as a POS device and the data originating device may function as a NFC payment device. For example, the data receiving device may detect when the data originating device has moved within the proximity of the data receiving device. The data receiving device and the data originating device may communicate via the first communication channel to setup the second communication channel with a different communication protocol than the first communication channel. The second communication channel may provide for communication between the data receiving device and the data originating device at a greater distance than the first communication channel. Being able to communicate at a greater distance may allow for one or more user input fields to be displayed on the data originating device and indications of value data to be transmitted from the data originating device to the data receiving device when located within the proximity provided by the second communication channel. Accordingly, a user of the data originating device may interact with the data originating device to provide value data, and/or other data, for completing the data transfer hosted by the data receiving device rather than having to interact with the data receiving device to provide the value data, and/or other data.
FIG.4A illustrates an example first communicationchannel signal flow400 in accordance with some embodiments andFIG.4B illustrates an example second communicationchannel signal flow450 in accordance with some embodiments. The first communicationchannel signal flow400 may occur via a first communication channel (such as the first communication channel112 (FIG.1)) between adata receiving device402 and adata originating device404. Thedata receiving device402 may include one or more of the features of the data receiving device102 (FIG.1) and/or the data receiving device202 (FIG.2). Thedata originating device404 may include one or more of the features of the data originating device104 (FIG.1) and/or the data originating device204 (FIG.2). The first communicationchannel signal flow400 may establish the second communication channel (such as the second communication channel114 (FIG.1)) between thedata receiving device402 and thedata originating device404 for second communicationchannel signal flow450 as described further below.
A user of thedata receiving device402 may input an amount for a data transfer. Thedata receiving device402 may monitor for entry of thedata originating device404 within a proximity of thedata receiving device402 via a first communication channel associated with the first communicationchannel signal flow400 based on the input of the amount for the data transfer being input by the user of thedata receiving device402. The proximity may be based on the communication protocol of the first communication channel, which may be NFC in the illustrated embodiment. Thedata receiving device402 may transmit ahandover support indication406 to thedata originating device404 in response to detection of thedata originating device404 being within the proximity of thedata receiving device402. Thedata receiving device402 may transmit thehandover support indication406 via the first communication channel. Thehandover support indication406 transmitted by thedata receiving device402 may indicate that thedata receiving device402 supports communication handover to a second communication channel for at least a part of the data transfer. In some embodiments, thehandover support indication406 may further indicate services, such as tipping, that thedata receiving device402 supports being performed via the second communication channel.
Thedata originating device404 may detect thehandover support indication406 received from thedata receiving device402. In response to detecting thehandover support indication406, thedata originating device404 may respond with asupport indication408. Thedata originating device404 may transmit thesupport indication408 via the first communication channel. Thesupport indication408 may indicate whether thedata originating device404 supports the communication handover to the second communication channel. In some embodiments, thesupport indication408 may further indicate whether thedata originating device404 supports the services via the second communication channel indicated as being supported in thehandover support indication406. Thehandover support indication406 and thesupport indication408 may be part of anECP procedure410. TheECP procedure410 may be utilized to determine whether both thedata receiving device402 and thedata originating device404 support the second communication channel. If one or both of thedata receiving device402 and thedata originating device404 indicate that the second communication channel is not supported, the data transfer may proceed without establishing the second communication channel. If both of thedata receiving device402 and thedata originating device404 indicate that the second communication channel is supported, the second communication channel may be established as part of the data transfer.
Thedata receiving device402 may detect thesupport indication408 received from thedata originating device404. Thedata receiving device402 may determine based on thesupport indication408 whether thedata receiving device402 and thedata originating device404 both support the second communication channel. In some embodiments, thedata receiving device402 may further determine based on thesupport indication408 which of the services both thedata receiving device402 and thedata originating device404 support being performed via the second communication channel. In response to thedata receiving device402 determining that both thedata receiving device402 and thedata originating device404 support communication handover to the second communication channel, thedata receiving device402 may initiate ahandover procedure412. Thehandover procedure412 may be utilized to establish a second communication channel between thedata receiving device402 and thedata originating device404.
Thedata receiving device402 may transmit a selection handover message414 to thedata originating device404 as part of thehandover procedure412. The selection handover message414 may indicate an application selected for establishing the second communication channel. The selection handover message414 may include a first ECC key to be utilized for establishing the second communication channel. In some embodiments, the first ECC key may comprise a merchant ECC key. The first ECC key may comprise a public key. The selection handover message414 may further indicate a communication protocol for the second communication channel, where the communication protocol may be a different communication protocol from NFC. For example, the selection handover message414 may indicate that the second communication channel is to implement Wi-Fi, ultra-wideband, Bluetooth, or another wireless communication protocol. In some embodiments, the second communication channel may be established via a wide area and/or public network, such as the Internet. In these embodiments, the selection handover message414 may include an indication of a network construct (such as an internet protocol (IP) address) that may be utilized for the second communication channel. In other embodiments, the communication protocol may be predefined for the second communication channel and the selection handover message414 may omit the indication of the communication protocol.
Thedata originating device404 may detect the selection handover message414 received from thedata receiving device402. In response to detecting the selection handover message414, thedata originating device404 may transmit ahandover response message416 to thedata receiving device402. Thehandover response message416 may include a second ECC key to be utilized for establishing the second communication channel. The second ECC key may be a customer ECC key in some embodiments. In some embodiments, the second ECC key may comprise a public key. Thehandover response message416 may acknowledge indication of the application selected for establishing the second communication channel and may indicate approval of establishing the second communication channel via the application. Further, thehandover response message416 may indicate approval of the communication protocol indicated in the selection handover message414 in some embodiments.
Thedata receiving device402 and thedata originating device404 may transition to the second communication channel to establish the second communication channel between thedata receiving device402 and thedata originating device404. For example, thedata receiving device402 and thedata originating device404 may enter achannel setup procedure452 to establish the second communication channel, as shown inFIG.4B. In particular, the procedures of the data transfer performed via the second communication channel may be illustrated via the second communicationchannel signal flow450. Thedata receiving device402 and thedata originating device404 may utilize the first ECC key from the selection handover message414 and/or the second ECC key from thehandover response message416 to establish the second communication channel. For example, thedata receiving device402 and/or thedata originating device404 may derive information from the first ECC key and/or the second ECC key to establish the second communication channel. In some embodiments, the second communication channel may be established between thedata receiving device402 and thedata originating device404 based further on a session name for the second communication channel, a password for the second communication channel, or some combination thereof. Thedata receiving device402 and thedata originating device404 may exchange one or more messages via the second communication channel to establish the second communication channel.
Establishing the second communication channel may further include setting up the communication protocol for the second communication channel. The communication protocol for the second communication channel may be a different communication protocol from the NFC of the first communication channel. In some embodiments, the communication protocol may be the communication protocol defined in the selection handover message414. The communication protocol for the second communication channel may be Wi-Fi, ultra-wideband, Bluetooth, or another wireless communication protocol. In some embodiments, the second communication channel may be established via a wide area and/or public network, such as the Internet. The communication protocol for the second communication channel may provide communication over a greater distance than the NFC utilized for the first communication channel. For example, the NFC may provide of proximity of 20 cm in which thedata receiving device402 and thedata originating device404 may communicate, whereas the communication protocol for the second communication channel may provide a proximity of greater than 20 cm in which thedata receiving device402 and thedata originating device404 may communicate. In some embodiments, the communication protocol for the second communication channel may be Wi-Fi, where the Wi-Fi may provide communication between thedata receiving device402 and thedata originating device404 up to 300 feet in some instances.
Establishing the second communication channel may further include setting up security for the second communication channel. For example, transmissions between thedata receiving device402 and thedata originating device404 via the second communication channel may be encrypted. An encryption for the transmissions may be determined based on the first ECC key, the second ECC key, or some combination thereof. The encryption of the transmissions via the second communication channel may protect the communications transmitted between thedata receiving device402 and thedata originating device404. In some embodiments, the second communication channel may implement different security than the first communication channel. For example, the security of second communication channel may provide greater security than the first communication channel in some embodiments. The second communication channel may be referred to as a secure channel in some embodiments.
Once the second communication channel has been established, thedata originating device404 may transmit aservice query message454 to thedata receiving device402. Theservice query message454 may request an indication of the services provided by thedata receiving device402. For example, theservice query message454 may query thedata receiving device402 to indicate which services are provided by thedata receiving device402 via the second communication channel.
Thedata receiving device402 may detect theservice query message454 received from thedata originating device404. Based on theservice query message454, thedata receiving device402 may determine which services thedata receiving device402 can provide to thedata originating device404 via the second communication channel. Thedata receiving device402 may transmit a supportedservices message456 to thedata originating device404 via the second communication channel. The supportedservices message456 may indicate the services, such as tipping and/or presenting a receipt, that can be provided by thedata receiving device402 to thedata originating device404 via the second communication channel.
One or more services may be provided via the second communication channel. The services may be initiated by thedata receiving device402 or thedata originating device404. For example, the second communicationchannel signal flow450 shows a data originating device initiatedservice procedure458. The data originating device initiatedservice procedure458 illustrates signals that may be transmitted as part of a service initiated by thedata originating device404. In the data originating device initiatedservice procedure458, thedata originating device404 may transmit aget service message460 to thedata receiving device402 to initiate a service via the second communication channel. Theget service message460 may indicate a service to be provided via the second communication channel. In some instances, theget service message460 may include information for providing the service. For example, theget service message460 may indicate a value data indicated by a user of thedata originating device404.
Thedata receiving device402 may detect theget service message460 received from thedata originating device404. Thedata receiving device402 may determine a service to be provided via the second communication channel based on theget service message460. In some instances, thedata receiving device402 may further extract the information from theget service message460 for performance of the service. Thedata receiving device402 may respond with aservice response message462 that provides the service.
The second communicationchannel signal flow450 further shows a data receiving device initiatedservice procedure464. The data receiving device initiatedservice procedure464 illustrates signals that may be transmitted as part of a service initiated by thedata receiving device402. In the data receiving device initiatedservice procedure464, thedata originating device404 may transmit aget message466 to thedata receiving device402. Theget message466 request an indication of a service being initiated by thedata receiving device402.
Thedata receiving device402 may detect theget message466 received from thedata originating device404. Thedata receiving device402 may transmit a service indication message468 to thedata originating device404 in response to detecting theget message466. The service indication message468 may indicate a service being initiated by thedata receiving device402.
In some instances, the service indication message468 may include information for performing the service.
Thedata originating device404 may detect the service indication message468 received from thedata receiving device402. Thedata originating device404 may determine the service to be provided via the second communication channel based on the service indication message468. In some instances, thedata originating device404 may perform one or more operations for the service in response to the service indication message468. Thedata originating device404 may transmit aget service message470 to thedata receiving device402 in response to the service indication message468. Theget service message470 may indicate the service to be provided via the second communication channel and/or may indicate that thedata originating device404 supports the service. In some instances, theget service message470 may include information for providing the service.
Thedata receiving device402 may detect theget service message470 received from thedata originating device404. Thedata receiving device402 may determine that thedata originating device404 supports the service via the second communication channel based on theget service message470. In some instances, thedata receiving device402 may further extract the information from theget service message470 for performance of the service. Thedata receiving device402 may respond with aservice response message472 that provides the service. Theservice response message472 may provide the service (such as a receipt) from thedata receiving device402 to thedata originating device404.
Thedata receiving device402 and thedata originating device404 may terminate the second communication channel after the operations to be performed via the second communication channel for the data transfer have been completed. For example, thedata receiving device402 and thedata originating device404 may perform adisconnection operation474 after theservice response message472 has been transmitted in the illustrated embodiment. Thedisconnection operation474 may result in the second communication channel between thedata receiving device402 and thedata originating device404 being terminated.
The first communicationchannel signal flow400 may proceed with areset operation418. In particular, thedata receiving device402 and thedata originating device404 may perform areset operation418 for the first communication channel. Thereset operation418 may result in a context switch to a secure element of thedata receiving device402. For example, the operations performed via the first communication channel between thedata receiving device402 and thedata originating device404 prior to thereset operation418 may be performed via one or more processors of thedata receiving device402. The operations performed via the first communication channel between thedata receiving device402 and thedata originating device404 may be performed via the secure element of thedata receiving device402. The secure element may implement a security level that protects sensitive data associated with the accounts of the user of thedata receiving device402 and the user of thedata originating device404. The security level of the secure element may be in accordance with a defined security level for EMV data transfers. The secure element may prevent the sensitive data from being shared with the processors of thedata receiving device402, thereby providing a high level of protection for the sensitive data. In some embodiments, the secure element may establish a connection with thedata originating device404 via another communication protocol that provides for communication between thedata receiving device402 and thedata originating device404 at a greater distance than the first communication channel. Further, the secure element may establish a secure connection with a PSP server to complete the data transfer. The operations performed after the reset operation may be performed via the first communication channel, the connection of the secure element via the other communication protocol, the secure connection with the PSP server, or some combination thereof.
Once thereset operation418 has been completed, thedata receiving device402 and thedata originating device404 may perform anEMV operation420. TheEMV operation420 may result in the transfer value being transferred from the account associated with the user of the data originating device404 (which may be a customer) to the account associated with the user of the data receiving device402 (which may be a merchant).
TheEMV operation420 may initiate with apayment loop422 between thedata receiving device402 and thedata originating device404. Thepayment loop422 may be performed with the initial value of the preliminary receipt prior to taking into account any values that exchanged via the second communication channel. For example, thepayment loop422 may utilize the initial value for the data transfer before the value data is added to the initial value for the data transfer. Thepayment loop422 may include exchanging information between thedata receiving device402 and thedata originating device404 via the first communication channel, exchanging information between thedata receiving device402 and thedata originating device404 via the connection established by the secure element, exchanging information with the PSP server, or some combination thereof.
TheEMV operation420 may further have apayment authorization result424. Thepayment authorization result424 may take into account any values exchanged via the second communication channel. Thepayment authorization result424 may result in the transfer of the transfer value from the account associated with the user of thedata originating device404 to the account associated with the user of thedata receiving device402. For example, thedata receiving device402 may utilize information associated with thepayment authorization result424 to complete the data transfer with PSPs associated with the account of the user of thedata receiving device402 and the account of the user of thedata originating device404. In particular, thedata receiving device402 may communicate with a PSP server associated with the user of thedata receiving device402 to complete the data transfer. Thedata receiving device402 may communicate with the PSP server to have the value transferred from the account of the user of thedata originating device404 to the account of the user of thedata receiving device402. In some embodiments, the second communication channel may be terminated based on the completion of the data transfer.
Portions of thereset operation418 and theEMV operation420 may be performed concurrently with the establishment of the second communication channel and/or the operations performed via the second communication channel. For example, thereset operation418 and/or thepayment loop422 may be performed concurrently with the establishment of the second communication channel and/or the operations performed via the second communication channel in some instances. Thepayment authorization result424 of theEMV operation420 may be performed after operations performed via the second communication channel. The completion of theEMV operation420 may result in the completion of the data transfer in accordance with at least some of the information exchanged via the second communication channel.
IV. Second Communication Channel with Value Added ServicesIn some embodiments disclosed herein, a procedure for performing a data transfer between a data receiving device (such as the data receiving device102 (FIG.1)) and a data originating device (such as the data originating device104 (FIG.1)) may include value added services (VAS) in addition to establishing a second communication channel. For example, the data transfer may allow for use of loyalty numbers, coupons, and/or VAS within the data transfer.
FIG.5A illustrates an example first communicationchannel signal flow500 with VAS in accordance with some embodiments andFIG.5B illustrates an example second communicationchannel signal flow550 in accordance with some embodiments. The first communicationchannel signal flow500 may occur via a first communication channel (such as the first communication channel112 (FIG.1)) between adata receiving device502 and adata originating device504. Thedata receiving device502 may include one or more of the features of the data receiving device102 (FIG.1), the data receiving device202 (FIG.2), and/or the data receiving device402 (FIG.4A). The first communicationchannel signal flow500 may establish the second communication channel (such as the second communication channel114 (FIG.1)) between thedata receiving device502 and thedata originating device504 for the second communicationchannel signal flow550 as described further below.
The first communicationchannel signal flow500 may include one or more of the features of the first communication channel signal flow400 (FIG.4A). In particular, the first communicationchannel signal flow500 may include one or more the procedures described in relation to the first communicationchannel signal flow400. For example, the first communicationchannel signal flow500 may include anECP procedure506, ahandover procedure508, and anEMV operation512. TheECP procedure506 may include one or more of the features of the ECP procedure410 (FIG.4A). Thehandover procedure508 may include one or more of the features of the handover procedure412 (FIG.4A). TheEMV operation512 may include one or more of the features of the EMV operation420 (FIG.4A). The first communicationchannel signal flow500 may further perform a communication handover to the second communicationchannel signal flow550, which may include one or more features of the communication handovers from the first communicationchannel signal flow400 to the second communication channel signal flow450 (FIG.4B).
The second communicationchannel signal flow550 may include one or more of the features of the second communicationchannel signal flow450. In particular, the second communicationchannel signal flow550 may include one or more of the procedures described in relation to the second communicationchannel signal flow450. For example, the second communicationchannel signal flow550 may include achannel setup procedure552, aservice query message554, a supportedservices message556, a data originating device initiatedservice procedure558, a data receiving device initiatedservice procedure560, and adisconnection operation562. Thechannel setup procedure552 may include one or more of the features of the channel setup procedure452 (FIG.4B). Theservice query message554 may include one or more of the features of the service query message454 (FIG.4B). The supportedservices message556 may include one or more of the features of the supported services message456 (FIG.4B). The data originating device initiatedservice procedure558 may include one or more of the features of the data originating device initiated service procedure458 (FIG.4B). The data receiving device initiatedservice procedure560 may include one or more of the features of the data receiving device initiated service procedure464 (FIG.4B). Thedisconnection operation562 may include one or more of the features of the disconnection operation474 (FIG.4B).
The first communicationchannel signal flow500 may further include aVAS procedure514. TheVAS procedure514 may be performed for providing one or more VAS for the data transfer. TheVAS procedure514 may be performed in response to a completion of thehandover procedure508. Thereset procedure510 may be performed in response to a completion of theVAS procedure514. Further, theVAS procedure514 may be performed while one or more of the procedures of the second communicationchannel signal flow550 is being performed, or after thedisconnection operation562 has been completed.
The first communicationchannel signal flow500 may include a select identifier (ID)message516. In particular, thedata receiving device502 may transmit theselect ID message516 via the NFC to thedata originating device504. Theselect ID message516 may indicate a user of thedata receiving device502. For example, theselect ID message516 may comprise a first ID in some embodiments. In some embodiments, the first ID may be a merchant ID that indicates a merchant associated with thedata receiving device502. Thedata receiving device502 may transmit theselect ID message516 in response to thedata receiving device502 detecting that thehandover procedure508 has been completed.
Thedata originating device504 may detect theselect ID message516 received from thedata receiving device502. Thedata originating device504 may determine the user of thedata receiving device502 based at least in part on theselect ID message516. For example, thedata originating device504 may determine the merchant associated with thedata receiving device502 based on the first ID included in theselect ID message516. Thedata originating device504 may transmit aresponse message518 via the NFC to thedata receiving device502 in response to theselect ID message516. Theresponse message518 may indicate that thedata originating device504 recognizes the user of thedata receiving device502.
Thedata receiving device502 may detect theresponse message518 received from thedata originating device504. Thedata receiving device502 may transmit a getVAS data message520 via the first communication channel to thedata originating device504. The getVAS data message520 may indicate VAS supported by thedata receiving device502. The getVAS data message520 may further include a request for information related to the VAS from thedata originating device504.
Thedata originating device504 may detect the getVAS data message520 received from thedata receiving device502. Thedata originating device504 may determine what VAS is supported by thedata receiving device502 based at least on part on the getVAS data message520. Based on the determined supported VAS and/or the request for information, thedata originating device504 may determine whether information related to the VAS is stored by thedata originating device504. In response to the getVAS data message520, thedata originating device504 may transmit aVAS indication message522 via the first communication channel to thedata receiving device502. TheVAS indication message522 may indicate whether thedata originating device504 has information related to the VAS stored. If thedata originating device522 has the information related to the VAS stored, theVAS indication message522 may further include the information related to the VAS. For example, theVAS indication message522 may include one or more loyalty numbers, coupons, and/or other information related to the VAS. Thedata receiving device502 may provide the VAS with the information provided in theVAS indication message522.
V. Proximity for Second Communication ChannelAs described throughout this disclosure, a proximity of the second communication channel between a data receiving device and a data originating device may be greater than a proximity of another communication channel between the data receiving device and the data originating device. For example, a communication protocol for the second communication channel may allow for communication between the data receiving device and the data originating device at a greater distance than a communication protocol for the other communication channel. Having the greater proximity for the second communication channel may allow for the communication at a greater distance between the data receiving device and the data originating device than if the second communication channel was not established.
FIG.6 illustrates anexample proximity illustration600 for communication channels of devices in accordance with some embodiments. In particular, theproximity illustration600 illustrates example proximities for a second communication channel (such as the second communication channels described throughout the disclosure) and another communication channel (such as the first communication channel described throughout the disclosure). The different proximities for the second communication channel and the other communication channel may be due to different communication protocols implemented by the channels.
Theproximity illustration600 includes adata receiving device602. Thedata receiving device602 may include one or more of the features of the data receiving device102 (FIG.1), the data receiving device202 (FIG.2), the data receiving device402 (FIG.4A), and/or the data receiving device502 (FIG.5A). Thedata receiving device602 may be associated with a merchant and may be utilized in a data transfer for sale and/or transfer of goods and/or services to a customer.
Thedata receiving device602 may detect a user input of an initial value for the data transfer. In response to the detection of the user input, thedata receiving device602 may begin monitoring for devices within afirst proximity604 of thedata receiving device602. A range of thefirst proximity604 may be defined based on a communication protocol implemented by a first communication channel associated with thefirst proximity604. In some embodiments, the first communication channel may implement NFC that defines the range of thefirst proximity604. Thefirst proximity604 may have a proximity of 20 cm or less, where thedata receiving device602 may detect devices located within thefirst proximity604. Thefirst proximity604 being relatively small may limit an amount of devices that may be detected by thedata receiving device602, which may be beneficial for thedata receiving device602 identifying another device to establish a connection. In particular, it may be relatively uncommon for devices to be located within thefirst proximity604 of thedata receiving device602, such that having another device within thefirst proximity604 may indicate that a connection is to be established between thedata receiving device602 and the other device.
Theproximity illustration600 further includes a data originating device606. The data originating device606 may include one or more of the features of the data originating device104 (FIG.1), the data originating device204 (FIG.2), the data originating device404 (FIG.4A), and/or the data originating device504 (FIG.5A). The data originating device606 may be associated with a customer and may be utilized in the data transfer for transfer of a transfer value to an account associated with the user of thedata receiving device602 for the goods and/or services.
Thedata receiving device602 may detect when the data originating device606 is located within thefirst proximity604 while monitoring for devices within thefirst proximity604. For example, thedata receiving device602 may detect when the data originating device606 enters thefirst proximity604, as indicated byarrow610. Thedata receiving device602 may determine whether a first communication channel is to be established with the data originating device606. For example, thedata receiving device602 may determine whether the data originating device606 has been configured as an electronic element when located within thefirst proximity604. The data originating device606 may be configured as an electronic element by a user of the data originating device606 interacting with the data originating device606 to indicate that the data originating device606 is to operate as an electronic element. In some embodiments, thedata receiving device602 may function as a POS device and the data originating device606 may function as a NFC payment device. Thedata receiving device602 may establish a first communication channel with the data originating device606 in response to determining that the data originating device606 is located within thefirst proximity604, is configured to operate as an electronic element, and/or thedata receiving device602 is monitoring for a device within thefirst proximity604 for the data transfer. The first communication channel may be established via the communication protocol associated with thefirst proximity604 and may have a range of thefirst proximity604.
Thedata receiving device602 and the data originating device606 may utilize the first communication channel to establish a second communication channel in some embodiments. For example, thedata receiving device602 and the data originating device606 may perform the ECP procedure306 (FIG.3A), the ECP procedure410 (FIG.4A), the handover procedure308 (FIG.3A), and/or the handover procedure412 (FIG.4A) to establish the second communication channel. Thedata receiving device602 and the data originating device606 may establish the second communication channel via a different communication protocol from the communication protocol of the first communication channel. The communication protocol of the second communication channel may be Wi-Fi, ultra-wideband, Bluetooth, or another wireless communication protocol different from the communication protocol of the first communication channel. Based on the communication protocol, the second communication channel may have asecond proximity608. Thedata receiving device602 and the data originating device606 may communicate via the second communication channel when the data originating device606 is located within the second proximity of thedata receiving device602. Thesecond proximity608 may be larger than thefirst proximity604. In some embodiments, thesecond proximity608 may have a proximity of up to300 feet. In some embodiments, the second communication channel may be established via a wide area and/or public network, such as the Internet. In these embodiments, the second communication channel may provide for communication at any location that has access to the network, thereby providing for thesecond proximity608 being an area from which the network can be accessed. The second communication channel having thesecond proximity608 that is larger than thefirst proximity604 of the first communication channel may allow thedata receiving device602 and the data originating device606 to communicate with each other at greater distances than if the second communication channel was not established. One or more operations (such as the operations described in relation to the second communication channel signal flow350 (FIG.3B) and/or the operations described in relation to the second communication channel signal flow450 (FIG.4B)) may be performed via the second communication channel. The second communication channel may allow for one or more user input fields related to the data transfer to be displayed on the data originating device606. Accordingly, a user of the data originating device606 may interact with the data originating device606 to enter information for the data transfer rather than having the interact with thedata receiving device602.
For an example of the single tap approach with the second communication channel, a customer may be purchasing a hot dog from a merchant. The merchant may enter a cost for the hot dog into a smart phone of the merchant, where the smart phone may be functioning as a POS device for the merchant. The smart phone of the merchant may correspond to the data receiving device. The smart phone of the merchant may be linked to account of the merchant that can receive payments. The smart phone of the merchant may begin to monitor for a payment element.
The customer may have a smart phone that is linked to a payment account of the customer, where the account can be utilized to pay for items. The smart phone of the customer may function as a payment element for the customer. The smart phone of the customer may be functioning as an NFC payment device for the customer. The smart phone of the customer may correspond to the data originating device. The customer may move the smart phone of the customer within a first proximity of the smart phone of the merchant to initiate a payment for the hot dog.
The smart phone of the merchant may detect the smart phone of the customer being moved within the first proximity. The smart phone of the merchant and the smart phone of the customer may exchange data related to the purchase of the hot dog and for establishing a second communication channel between the smart phone of the merchant and the smart phone of the customer. The second communication channel may provide a greater range of communication than the first communication channel, such that the smart phone of the customer may continue to communicate with the smart phone of the merchant when the smart phone of the customer is within a second proximity of the smart phone of the merchant that is larger than the first proximity.
The smart phone of the customer may display a receipt showing the cost for the hot dog based on data received from the smart phone of the merchant. The smart phone of the customer may also provide the customer with the option to input a tip for the purchase of the hot dog. The smart phone of the customer may transmit an indication of any tip entered by the customer to the smart phone of the merchant via the second communication channel. The smart phone of the merchant then may complete the sale of the hot dog with the tip resulting in transfer of funds from the account associated with the customer to the account associated with the merchant.
VI. Double Tap ApproachIn some embodiments, a procedure for performing a data transfer may be performed using a double tap between a data receiving device (such as the data receiving device102 (FIG.1)) and a data originating device (such as the data originating device104 (FIG.1)). The double tap approach may provide for a user input field being displayed on a display of the data originating device as part of the data transfer. A value data input by a user of the data originating device into the user input field may be utilized for completing the data transfer. The double tap approach may allow for exchange of information related to the data transfer during a first tap between the data receiving device and the data originating device and exchange of additional information related to the data transfer during a second tap between the data receiving device and the data originating device. The user input field may be displayed on a display of the data originating device between the first tap and the second tap, thereby allowing a user of the data originating device to input information utilized for the data transfer that can be transmitted from the data originating device to the data receiving device during the second tap.
FIG.7 illustrates an example doubletap signal flow700 in accordance with some embodiments. The doubletap signal flow700 may be part of a data transfer between adata receiving device702 and adata originating device704. Thedata receiving device702 may include one or more of the features of the data receiving device102 (FIG.1), the data receiving device202 (FIG.2), the data receiving device402 (FIG.4A), and/or the data receiving device502 (FIG.5). Thedata receiving device702 may host the data transfer and may be associated with a first user. Thedata originating device704 may include one or more of the features of the data originating device104 (FIG.1), the data originating device204 (FIG.2), the data originating device404 (FIG.4A), and/or the data originating device504 (FIG.5).
FIG.8A illustrates a first portion of an exampledevice display sequence800 for the double tap approach in accordance with some embodiments, andFIG.8B illustrates a second portion of the exampledevice display sequence800 for the double tap approach in accordance with some embodiments. Thedevice display sequence800 illustrates a sequence of displays that may be displayed on thedata receiving device702 and thedata originating device704 during a data transfer with a double tap approach.
At a beginning of the data transfer, a user of thedata receiving device702 may input an initial value for the data transfer. The initial value may be a value that the user of thedata receiving device702 is charging for one or more goods and/or services that have been provided to or will be provided to a user of thedata originating device704. Thedata receiving device702 may display an electronicelement request interface802 on a display of thedata receiving device702 based on the user inputting the initial value for the data transfer. In particular, thedata receiving device702 may detect the input of the initial value and may display the electronicelement request interface802 in response to thedata receiving device702 detecting the input of the value. The electronicelement request interface802 may request an electronic element be positioned within a proximity of thedata receiving device702. For example, the electronicelement request interface802 recites “Please tap your card on top” in the illustrated embodiment. Thedata receiving device702 may monitor for an electronic element being positioned within a proximity of thedata receiving device702 after the user has input the initial value into thedata receiving device702. In some embodiments, thedata receiving device702 may monitor for the electronic element by transmitting a signal one or more times and waiting for a response from an electronic element. The electronic element may be associated with an account of a user of thedata originating device704, where the transfer value is transferred from the account of the user of thedata originating device704 to an account associated with a user of thedata receiving device702 for the data transfer. In some instances, the electronic element may comprise a PICC. The PICC may comprise thedata originating device704 in some embodiments.
Thedata originating device704 may operate as an electronic element for the data transfer with thedata receiving device702. For example, thedata originating device704 may be associated with an account of the user of thedata originating device704 that may transfer the transfer value to an account associated with thedata receiving device702. In some embodiments, thedata receiving device702 may function as a POS device and thedata originating device704 may function as a NFC payment device. Thedata originating device704 may display anelectronic element interface804 to indicate that thedata originating device704 is operating as an electronic element. In some embodiments, thedata originating device704 may begin operating as an electronic element based on a user interaction with thedata originating device704 indicating that thedata originating device704 is to be operating as an electronic element, or thedata originating device704 being moved within the proximity of thedata receiving device702 while thedata receiving device702 is monitoring for the electronic element. The proximity may be defined by a communication protocol for a communication channel established between thedata receiving device702 and thedata originating device704. For example, thedata receiving device702 may utilize NFC for the communication channel to transmit the signal during monitoring for the electronic element and thedata originating device704 may respond via the communication channel. The communication channel may have a proximity of 20 cm or less, where thedata receiving device702 and thedata originating device704 are to be within 20 cm or less of each other to communicate via the communication channel. When located within the proximity of thedata receiving device702, thedata originating device704 may detect the signal transmitted by thedata receiving device702 when monitoring for the electronic element and thedata originating device704 may respond as the electronic element.
Thedata receiving device702 may detect the response from thedata originating device704 and detect that thedata originating device704 has entered the proximity of thedata receiving device702. Further, thedata receiving device702 may detect an initiation of the data transfer based on thedata receiving device702 detecting that thedata originating device704 has entered the proximity of thedata receiving device702.
Thedata receiving device702 may transmit a doubletap support indication706 to thedata originating device704 in response to detection of thedata originating device704 being within the proximity of thedata receiving device702. Thedata receiving device702 may transmit the doubletap support indication706 via the communication channel, which is via NFC in the illustrated embodiment. The doubletap support indication706 transmitted by thedata receiving device702 may indicate that thedata receiving device702 supports a double tap data transfer. In some embodiments, the doubletap support indication706 may further indicate services, such as tipping, that thedata receiving device702 supports with the double tap data transfer. For example, the doubletap support indication706 may indicate thatdata receiving device702 supports setup of the services in a first tap and transfer of information related to the services in the second tap.
Thedata originating device704 may detect the doubletap support indication706 received from thedata receiving device702. In response to detecting the doubletap support indication706, thedata originating device704 may respond with asupport indication708. Thedata originating device704 may transmit thesupport indication708 via the NFC. Thesupport indication708 may indicate whether thedata originating device704 supports the double tap data transfer. In some embodiments, thesupport indication708 may further indicate whether thedata originating device704 supports the services indicated as being supported in the doubletap support indication706. The doubletap support indication706 and thesupport indication708 may be part of anECP procedure710. TheECP procedure710 may be utilized to determine whether both thedata receiving device702 and thedata originating device704 support a double tap data transfer. If one or both of thedata receiving device702 and thedata originating device704 indicate that a double tap data transfer is not supported, the data transfer may proceed without the double tap data transfer. If both thedata receiving device702 and thedata originating device704 indicate that a double tap data transfer is supported, the data transfer may proceed according to the double tap data transfer.
Thedata receiving device702 may detect thesupport indication708 received from thedata originating device704. Thedata receiving device702 may determine, based on thesupport indication708, whether thedata receiving device702 and thedata originating device704 support the double tap data transfer. In some embodiments, thedata receiving device702 may further determine, based on thesupport indication708 which of the services both thedata receiving device702 and thedata originating device704 support being performed via the double tap data transfer. In response to thedata receiving device702 determining that both thedata receiving device702 and thedata originating device704 support the double tap data transfer, thedata receiving device702 may initiate aVAS procedure712. TheVAS procedure712 may provide the information for providing the services on thedata originating device704 in the double tap data transfer.
Thedata receiving device702 may transmit aselection message714 to thedata originating device704 via the communication channel as part of theVAS procedure712. Theselection message714 may provide information for one or more user input fields to be displayed on thedata originating device704. For example, theselection message714 may include an initial value for the data transfer and/or a transaction ID.
Thedata originating device704 may detect theselection message714. Thedata originating device704 may extract the information for the one or more user input fields, such as the initial value for the data transfer and/or the transaction ID. Thedata originating device704 may transmit aresponse message716 via the communication channel to thedata receiving device702 in response to theselection message714. Theresponse message716 may indicate a value data entry process to be utilized for the data transfer. For example, theresponse message716 may indicate that the double tap data transfer is to be utilized for the data transfer. In some embodiments, theresponse message716 may define the procedure for completing the data transfer, such as the transmissions and/or resets described further in the doubletap signal flow700.
Thedata receiving device702 may detect theresponse message716 received from thedata originating device704. Thedata receiving device702 may proceed in accordance with the tip entry process indicated in theresponse message716. Thedata receiving device702 and thedata originating device704 may perform areset718 based on theresponse message716. For example, thedata receiving device702 and thedata originating device704 may complete a first portion of the doubletap signal flow700 that corresponds to a first tap of thedata originating device704 to thedata receiving device702. In particular, the first portion of the doubletap signal flow700 may correspond to a first time that thedata originating device704 is located within the proximity of thedata receiving device702. Thedata originating device704 may be located outside of the proximity of thedata receiving device702 to initiate thereset718 and/or during thereset718. The communication channel may be terminated during thereset718.
Thedata originating device704 may display a firstpreliminary receipt interface806 on a display of thedata originating device704. Thedata originating device704 may display the firstpreliminary receipt interface806 in response to detecting theselection message714, in response to transmitting theresponse message716, during thereset718, or some combination thereof. Thedata originating device704 may display the firstpreliminary receipt interface806 while thedata originating device704 is outside of the proximity of thedata receiving device702 and/or the firstpreliminary receipt interface806 may be displayed by thedata originating device704 while the communication channel is not present between thedata receiving device702 and thedata originating device704. Further, thedata originating device704 may display the firstpreliminary receipt interface806 when a communication channel is not present between thedata receiving device702 and thedata originating device704.
The firstpreliminary receipt interface806 may include one or more of the features of the first preliminary receipt interface212 (FIG.2). For example, the firstpreliminary receipt interface806 may include apreliminary receipt808. Thepreliminary receipt808 may include an indication of an initial value of the data transfer without any tipping included. The firstpreliminary receipt interface806 may further include a firstuser input field810. The firstuser input field810 may allow a user of thedata originating device704 to indicate whether a value data is to be added to the data transfer. In some embodiments, the value data may comprise a tip.
In response to thedata originating device704 determining that user indicated a value data is to be added to the data transfer in the firstpreliminary receipt interface806, thedata originating device704 may display a secondpreliminary receipt interface812 on the display of thedata originating device704. The secondpreliminary receipt interface812 may include one or more of the features of the second preliminary receipt interface218 (FIG.2). For example, the secondpreliminary receipt interface812 may include thepreliminary receipt808 or a modified version of thepreliminary receipt808. Further, the secondpreliminary receipt interface812 may further include a seconduser input field814. The seconduser input field814 may allow a user of thedata originating device704 to provide a value data related to the data transfer. In the illustrated embodiment, the value data may comprise a tip to be added to the data transfer. Thedata originating device704 may detect the user input of the value data and determine the value data related to the data transfer.
Thedata originating device704 may display a secondelectronic element interface816 on a display of thedata originating device704. The secondelectronic element interface816 may indicate that thedata originating device704 is to be moved within the proximity of thedata receiving device702 to continue the data transfer. In particular, the secondelectronic element interface816 may indicate that thedata originating device704 is to be moved within the proximity of thedata receiving device702 to establish a communication channel via the NFC between thedata receiving device702 and thedata originating device704. The proximity in which thedata originating device704 is to be moved may be the same proximity in which thedata originating device704 was moved to start the doubletap signal flow700.
Thedata receiving device702 may detect thedata originating device704 being moved within the proximity of thedata receiving device702. In response to detecting that thedata originating device704 has moved within the proximity of thedata receiving device702, thedata receiving device702 may transmit asupport indication720 to thedata originating device704 via the communication channel. Thesupport indication720 may include one or more of the features of the doubletap support indication706. For example, thesupport indication720 may indicate that thedata receiving device702 supports the double tap data transfer.
Thedata originating device704 may detect thesupport indication720 received from thedata receiving device702. Thedata originating device704 may determine whether thedata receiving device702 supports the double tap data transfer based on thesupport indication720. In response to thedata originating device704 determining that thedata receiving device702 supports the double tap data transfer, thedata originating device704 may transmit asupport indication722 to thedata receiving device702 via the communication channel. Thesupport indication722 may include one or more of the features of thesupport indication708. Thesupport indication722 may indicate whether thedata originating device704 supports the double tap data transfer. In some embodiments, thesupport indication722 may further indicate that thedata originating device704 has entered the proximity of the data receiving device702 a second time for the data transfer. Thesupport indication722 may further include the transaction ID received in theselection message714.
Thesupport indication720 and thesupport indication722 may be part of anECP procedure724. TheECP procedure724 may include one or more of the features of theECP procedure710. TheECP procedure724 may be utilized to determine whether both thedata receiving device702 and thedata originating device704 support the double tap data transfer. In one or both of thedata receiving device702 and thedata originating device704 indicate that the double tap data transfer is not supported, the data transfer may proceed without the double tap data transfer. If both thedata receiving device702 and thedata originating device704 indicate that the double tap data transfer is supported, the data transfer may proceed according to the double tap data transfer.
Thedata receiving device702 may detect thesupport indication722 received from thedata originating device704. Thedata receiving device702 may determine, based on thesupport indication722, whether thedata receiving device702 and thedata originating device704 support the double tap data transfer. In some embodiments, thedata receiving device702 may further determine, based on thesupport indication722 which of the services both thedata receiving device702 and thedata originating device704 support being performed via the double tap data transfer. In response to thedata receiving device702 determining that both thedata receiving device702 and thedata originating device704 support the double tap data transfer, thedata receiving device702 may initiate aVAS procedure726. TheVAS procedure726 may include one or more of the features of theVAS procedure712. TheVAS procedure726 may provide the information for providing the services on thedata originating device704 in the double tap data transfer.
Thedata receiving device702 may transmit aselection message728 to thedata originating device704 via the communication channel as part of theVAS procedure726. Theselection message728 may include one or more of the features of theselection message714. Theselection message728 may include an initial value for the data transfer and/or the transaction ID.
Thedata originating device704 may detect theselection message728. Thedata originating device704 may extract the initial value for the data transfer and/or the transaction ID. Thedata originating device704 may transmit aresponse message730 via the NFC to thedata receiving device702 in response to theselection message728. Theresponse message730 may include the transaction ID and an indication of the value data. For example, theresponse message730 may include an indication of a value data. The indication of the value data comprises an indication of a tip amount in the illustrated embodiment.
Based on theECP procedure724, theVAS procedure726, or portions thereof, thedata originating device704 may display a data transfer complete interface818. The data transfer complete interface818 may indicate that theECP procedure724, theVAS procedure726, or portions thereof have been completed.
Thedata receiving device702 may detectresponse message730 received from thedata originating device704. Thedata receiving device702 may extract the transaction ID and/or the value data from theresponse message730. Thedata receiving device702 may determine a transfer value for the data transfer based on the value data extracted from theresponse message730. For example, thedata receiving device702 may determine the transfer value to be the initial value for the data transfer plus the value data in some embodiments.
The doubletap signal flow700 may proceed with areset operation732 after theresponse message730. Thereset operation732 may include one or more of the features of the reset operation314 (FIG.3). For example, thedata receiving device702 and thedata originating device704 may perform areset operation732 for the communication channel in response to theresponse message730. Thereset operation732 may result in a context switch to a secure element of thedata receiving device702. For example, the operations performed via the communication channel between thedata receiving device702 and thedata originating device704 prior to thereset operation732 may be performed via one or more processors of thedata receiving device702. The operations performed via the communication channel between thedata receiving device702 and thedata originating device704 after thereset operation732 may be performed via the secure element of thedata receiving device702. The secure element may implement a security level that protects sensitive data associated with the accounts of the user of thedata receiving device702 and the user of thedata originating device704. The security level of the secure element may be in accordance with a defined security level for EMV data transfers. The secure element may prevent the sensitive data from being shared with the processors of thedata receiving device702, thereby providing a high level of protection for the sensitive data. In some embodiments, the secure element may establish a connection with thedata originating device704. Further, the secure element may establish a secure connection with a PSP server to complete the data transfer. The operations performed after the reset operation may be performed via the communication channel, the connection of the secure element with thedata originating device704, the secure connection with the PSP server, or some combination thereof.
Once thereset operation732 has been completed, thedata receiving device702 and thedata originating device704 may perform anEMV operation734. TheEMV operation734 may include one or more of the features of the EMV operation316 (FIG.3). TheEMV operation734 may result in the transfer value being transferred from the account associated with the user of the data originating device704 (which may be a customer) to the account associated with the user of the data receiving device702 (which may be a merchant).
TheEMV operation734 may initiate with apayment loop736 between thedata receiving device702 and thedata originating device704. Thepayment loop736 may be performed with the transfer value with the value data taken into account. Thepayment loop736 may include exchanging information between thedata receiving device702 and thedata originating device704 via the communication channel, exchanging information between thedata receiving device702 and thedata originating device704 via the connection established by the secure element, exchanging information with the PSP server, or some combination thereof.
TheEMV operation734 may further have apayment authorization result738. Thepayment authorization result738 may utilize the transfer value, which may include the initial value of the data transfer plus the value data. Thepayment authorization result738 may result in the transfer of the transfer value from the account associated with the user of thedata originating device704 to the account associated with the user of thedata receiving device702. For example, thedata receiving device702 may utilize information associated with the payment authorization result738 (such as the transfer value) to complete the data transfer with PSPs associated with the account of the user of thedata receiving device702 and the account of the user of thedata originating device704. In particular, thedata receiving device702 may communicate with a PSP server associated with the user of thedata receiving device702 to complete the data transfer. For example, thedata receiving device702 may communicate with the PSP server to complete the data transfer in accordance with the value data received from thedata originating device704. Thedata receiving device702 may communicate with the PSP server to have the transfer value transferred from the account of the user of thedata originating device704 to the account of the user of thedata receiving device702.
Thedata receiving device702 may display a datatransfer result interface820. Thedata receiving device702 may display the datatransfer result interface820 in response to detection of theresponse message730, completion of theVAS procedure726, completion of thereset operation732, completion of theEMV operation734, or some portion thereof. The datatransfer result interface820 may include aninitial value822, antransfer value824, the value data, or some combination thereof. The datatransfer result interface820 may indicate the value data extracted from theresponse message730 to a user of thedata receiving device702. Theinitial value822 may be the initial value for the data transfer without the value data taken into account and thetransfer value824 may be the value for the data transfer with the value data taken into account. For example, theinitial value822 may be a value for the data transfer without a tip and thetransfer value824 may be the value for the data transfer with the tip in some embodiments. Thedata receiving device702 may generate thetransfer value824 in accordance with the value data.
Thedata receiving device702 may further display a data transfercomplete interface826. The data transfercomplete interface826 may be displayed by thedata receiving device702 after the data transfer results interface820 has been displayed by thedata receiving device702. For example, thedata receiving device702 may display the data transfercomplete interface826 in response to a user interaction with the datatransfer result interface820, an expiration of a predefined amount of time that the datatransfer result interface820, or some combination thereof. The data transfercomplete interface826 may indicate that the data transfer has been completed.
Based on the value data, thedata originating device704 may generate an updated receipt in accordance with the value data in some embodiments. In other embodiments, thedata receiving device702 may generate the updated receipt in accordance with the value data and transmit the updated receipt to thedata originating device704 via the communication channel in response to theresponse message730. Thedata originating device704 may display the updated receipt and/or the transfer value for the data transfer, and/or store the updated receipt and/or the transfer value for the data transfer within a receipt store of thedata originating device704. For example, thedata originating device704 may implement a wallet application, where the updated receipt and/or the transfer value for the data transfer may be stored as an entry within the wallet application. Thedata originating device704 may display a datatransfer list interface828 of the wallet application that lists the entries within the wallet application. The datatransfer list interface828 may include anentry830 corresponding to the updated receipt, where theentry830 may display a portion of the information from the updated receipt on thedata originating device704.
Thedata originating device704 may detect a user interaction with theentry830 within the datatransfer list interface828. In response to the detection of the user interaction with theentry830, thedata originating device704 may display adetailed receipt interface832 associated with the updated receipt. Thedetailed receipt interface832 may display details of the updated receipt. The details of the updated receipt displayed in thedetailed receipt interface832 may include an indication of a user of the data receiving device702 (such as a merchant) associated with the data transfer, an indication of the account of the user of thedata originating device704 utilized for the data transfer, information associated with the account, itemized goods and/or services of the data transfer, the value data input by the user as part of the data transfer (such as the value data from the second user input field814), any additional amounts associated with the data transfer (such as taxes), the updated value from the updated receipt, or some combination thereof.
For an example of the double tap approach with the second communication channel, a customer may be purchasing a hot dog from a merchant. The merchant may enter a cost for the hot dog into a smart phone of the merchant, where the smart phone may be functioning as a POS device for the merchant. The smart phone of the merchant may correspond to the data receiving device. The smart phone of the merchant may be linked to account of the merchant that can receive payments. The smart phone of the merchant may begin to monitor for a payment element.
The customer may have a smart phone that is linked to a payment account of the customer, where the account can be utilized to pay for items. The smart phone of the customer may function as a payment element for the customer. The smart phone of the customer may be functioning as an NFC payment device for the customer. The smart phone of the customer may correspond to the data originating device. The customer may move the smart phone of the customer within a proximity of the smart phone of the merchant a first time to initiate a payment for the hot dog.
The smart phone of the merchant may detect the smart phone of the customer being moved within the proximity. The smart phone of the merchant and the smart phone of the customer may exchange data related to the purchase of the hot dog between the smart phone of the merchant and the smart phone of the customer during the first time that the smart phone of the customer is located within the proximity of the smart phone of the merchant. For example, the smart phone of the merchant may provide an indication of the cost for the hot dog to the smart phone of the customer.
The smart phone of the customer may display a receipt showing the cost for the hot dog based on data received from the smart phone of the merchant. The smart phone of the customer may also provide the customer with the option to input a tip for the purchase of the hot dog. The customer may move the smart phone of the customer into the proximity of the smart phone of the merchant a second time subsequent to the first time. The smart phone of the customer may transmit an indication of any tip entered by the customer during the second time that the smart phone of the customer was located within the proximity of the smart phone of the merchant. The smart phone of the merchant then may complete the sale of the hot dog with the tip resulting in transfer of funds from the account associated with the customer to the account associated with the merchant.
VII. VAS FrameTo perform a data transfer between a data receiving device and a data originating device with VAS, one or more VAS frames may be exchanged between the data receiving device and the data originating device. The VAS frames may be exchanged between the data receiving device and the data originating device in one or more of the communications exchanged between the data receiving device and the data originating device, such as any of the communications described throughout this disclosure. The VAS frames may include particular features to support the single tap approach, double tap approach, the second communication channel, and/or the VAS as described throughout this disclosure. Accordingly, the VAS frames may be modified from legacy VAS frames to include the particular features.
FIG.9 illustrates anexample command frame900 in accordance with some embodiments. Thecommand frame900 may comprise a Type A standard frame as defined in section 6.2.3.2 of ISO/IEC 14443-3. (The International Organization for Standardization. (2018-07).International Standard; ISO/IEC14443-3;Cards and Security Devices for Personal Identification—Contactless Proximity Objects—Part3:Initialization and Anticollision). Thecommand frame900 may be utilized for waking up a PICC for a data transfer.
Thecommand frame900 may include afirst byte902, asecond byte904, athird byte906, and afourth byte908. The first byte, thesecond byte904, thethird byte906, thefourth byte908, or some combination thereof may define operation of devices associated with the data transfer, such as the devices and data transfers described throughout this disclosure. For example, thefirst byte902, thesecond byte904, thethird byte906, thefourth byte908, or some combination thereof may define whether the devices are to perform the single tap approach, the double tap approach, the second communication channel, and/or the VAS as described throughout the disclosure.
FIG.10 illustratesexample bit arrangements1000 for thefourth byte908 of thecommand frame900 ofFIG.9 in accordance with some embodiments. For example, thebit arrangements1000 illustrated provide possible values for the bits of thefourth byte908 and the description of the operation or definition of the associated bits. Each of thebit arrangements1000 may show a portion of the bits of thefourth byte908 corresponding to the operation or the definition, where the bits of thefourth byte908 not utilized for determining the operation or definition may be omitted (as indicated by dashes or ‘x’s).
Thebit arrangements1000 include afirst bit arrangement1002. Thefirst bit arrangement1002 may correspond to the devices operating in a VAS application and payment mode. In the VAS application and payment mode, the devices may perform VAS operations and payment operations (for example, the transfer of value between accounts) during a data transfer. As shown, thefirst bit arrangement1002 may have a first bit (b1) within thefourth byte908 having a value of 1 and a second bit (b2) within thefourth byte908 having a value of 0. Accordingly, a command frame (such as the command frame900 (FIG.9)) having afourth byte908 with the b1 having the value of 1 and the b2 having the value of 0 may indicate to devices performing the data transfer that VAS operations and payment operations are to be performed during the data transfer. As indicated by a third bit (b3) through an eighth bit (b8) being omitted from thefirst bit arrangement1002, the values of the b3 through the b8 may not affect the determination of whether the devices are to operate in the VAS application and payment mode.
Thebit arrangements1000 include asecond bit arrangement1004. Thesecond bit arrangement1004 may correspond to the devices operating in a VAS application mode. In the VAS application mode, the devices may perform VAS operations during a data transfer. Further, the payment operations may be omitted from the VAS application mode. As shown, thesecond bit arrangement1004 may have the b1 within thefourth byte908 having a value of 0 and the b2 with thefourth byte908 having a value of 1. Accordingly, a command frame (such as the command frame900) having afourth byte908 with the b1 having the value of 0 and the b2 having the value of 1 may indicate to devices performing the data transfer that VAS operations are to be performed during the data transfer and payment operations may not be performed during the data transfer. As indicated bya b3 througha b8 being omitted from thesecond bit arrangement1004, the values of the b3 through the b8 may not affect the determination of whether the devices are to operate in the VAS application mode.
Thebit arrangements1000 include athird bit arrangement1006. Thethird bit arrangement1006 may correspond to the devices operating in a payment mode. In the payment mode, the devices may perform payment operations during a data transfer. Further, the VAS operations may be omitted from the payment mode. As shown, thethird bit arrangement1006 may have the b1 within thefourth byte908 having a value of 1 and the b2 with thefourth byte908 having a value of 1. Accordingly, a command frame (such as the command frame900) having afourth byte908 with the b1 having the value of 1 and the b2 having the value of 1 may indicate to devices performing the data transfer that payment operations are to be performed during the data transfer and VAS operations may not be performed during the data transfer. As indicated bya b3 througha b8 being omitted from thesecond bit arrangement1004, the values of the b3 through the b8 may not affect the determination of whether the devices are to operate in the VAS application mode.
Thebit arrangements1000 include afourth bit arrangement1008. In thefourth bit arrangement1008,a b3 througha b8 may have a value of 0. In particular, thefourth bit arrangement1008 may indicate that the b3 through the b8 are to be set to a value of 0, whereasa b1 anda b2 may be set in accordance with thefirst bit arrangement1002, thesecond bit arrangement1004, or thethird bit arrangement1006 to indicate a mode for the devices within a data transfer. For example, the values of the b1 and the b2 of thefirst bit arrangement1002, thesecond bit arrangement1004, or thethird bit arrangement1006 into the b1 and the b2 positions of the fourth bit arrangement1008 (where the b3 through b8 have values of 0) to indicate the mode in which the devices in a data transfer are to operate. All other bit arrangements of thebit arrangements1000 may be reserved for future use.
FIG.11 illustratesexample tags1100 for a fourth byte according to some embodiments. For example, thetags1100 may be for the fourth byte908 (FIG.9). Thetags1100 may correspond to a response message, such as the response message518 (FIG.5A), the response message716 (FIG.7), and/or the response message730 (FIG.7). For example, thetags1100 may be utilized with theresponse message518, theresponse message716, and/or theresponse message730.
Thetags1100 include afirst tag1102. Thefirst tag1102 may comprise a file control information (FCI) template. As shown, thefirst tag1102 may have a value of ‘6F’. A length of thefirst tag1102 may vary.
Thetags1100 may include asecond tag1104. Thesecond tag1104 may comprise an application label. For example, thesecond tag1104 may include an application label that indicates an application which is utilized during a data transfer. In some embodiments, the application label may indicate that ApplePay is the application to be utilized during the data transfer. As shown, thesecond tag1104 may have a value of ‘50’. A length of thesecond tag1104 may be8 bytes in some embodiments.
Thetags1100 may include athird tag1106. Thethird tag1106 may comprise an application version number. For example, thethird tag1106 may include an application version number for a device in a data transfer where the device is a mobile device. The application version number may be in Big Endian format. As shown, thethird tag1106 may have a value of ‘9F21’. A length of thethird tag1106 may be 2 bytes in some embodiments.
Thetags1100 may include afourth tag1108. Thefourth tag1108 may comprise an unpredictable number. For example, thefourth tag1108 may include an unpredictable number for a device in a data transfer where the device is a mobile device. As shown, thefourth tag1108 may have a value of ‘9F24’. A length of thefourth tag1108 may be 4 bytes in some embodiments.
Thetags1100 may include afifth tag1110. Thefifth tag1110 may comprise mobile capabilities information. For example, thefifth tag1110 may indicate capabilities of a mobile device in a data transfer. Some mobile capabilities that may be indicated by thefifth tag1110 are described further in relation toFIG.12. As shown, thefifth tag1110 may have a value of ‘9F23’. A length of thefifth tag1110 may be 4 bytes in some embodiments.
FIG.12 illustratesexample bit arrangements1200 for thefifth tag1110 in accordance with some embodiments. For example, thebit arrangements1200 may be implemented in a byte of thefifth tag1110. The values of thebit arrangements1200 may indicate mobile capabilities of a device in a data transfer.
Thebit arrangements1200 may include afirst bit arrangement1202. Thefirst bit arrangement1202 shows values that may be set fora b1 anda b2 of thefifth tag1110. As shown, the b1 may be set with a value of 1 and the b2 may be set with a value of 0 for thefirst bit arrangement1202. The values of b1 and b2 may be set as shown for the byte of thefifth tag1110.
Thebit arrangements1200 may include asecond bit arrangement1204. Thesecond bit arrangement1204 shows values that may be set fora b3 and a fourth bit (b4) of thefifth tag1110. The b3 and the b4 of thefifth tag1110 may indicate whether loyalty operations (such as VAS related to a merchant loyalty club) are supported by a device within a data transfer. As shown, the b3 may be set with a value of 1 and the b4 may be set with a value of 0 for thesecond bit arrangement1204. The b3 having a value of 1 and the b4 having a value of 0 may indicate that loyalty operations are supported and a loyalty protocol is to be skipped.
Thebit arrangements1200 may include athird bit arrangement1206. Thethird bit arrangement1206 shows values that may be set fora b3 and b4 of thefifth tag1110. The b3 and the b4 of thefifth tag1110 may indicate whether loyalty operations (such as VAS related to a merchant loyalty club) are supported by a device within a data transfer. As shown, the b3 may be set with a value of 1 and the b4 may be set with a value of 1 for thethird bit arrangement1206. The b3 having a value of 1 and the b4 having a value of 1 may indicate that loyalty operations are supported and the device is to proceed with a loyalty protocol.
Thebit arrangements1200 may include afourth bit arrangement1208. Thefourth bit arrangement1208 shows values that may be set for a fifth bit (b5) and a sixth bit (b6) of thefifth tag1110. The b5 and the b6 of thefifth tag1110 may indicate whether payment operations (such as the transfer of value between accounts) are supported by a device within a data transfer. As shown, the b5 may be set with a value of 1 and the b6 may be set with a value of 0 for thefourth bit arrangement1208. The b5 having a value of 1 and the b6 having a value of 0 may indicate that payment operations are supported and no payment data is forthcoming.
Thebit arrangements1200 may include afifth bit arrangement1210. Thefifth bit arrangement1210 shows values that may be set fora b5 anda b6 of thefifth tag1110. The b5 and the b6 of thefifth tag1110 may indicate whether payment operations (such as the transfer of value between accounts) are supported by a device within a data transfer. As shown, the b5 may be set with a value of 1 and the b6 may be set with a value of 1 for thefifth bit arrangement1210. The b5 having a value of 1 and the b6 having a value of 1 may indicate that payment operations are supported and payment data is forthcoming.
Thebit arrangements1200 may include asixth bit arrangement1212. Thesixth bit arrangement1212 may indicate whether a value data (such as tipping) and/or communication handover are supported. In particular, thesixth bit arrangement1212 may indicate whether the value data at a data originating device (such as the entry of the value data by the data originating devices as described throughout this disclosure) and/or whether handover from a first communication channel to a second communication channel (such as the establishment of and transmissions via the second communication channel as described throughout this disclosure) are supported. Thesixth bit arrangement1212 indicates that values of a seventh bit (b7) and an eighth bit (b8) of thefifth tag1110 may be utilized to indicate whether the value data and/or the handover are supported, as indicated by the asterisks shown in positions for the b7 and the b8 in thesixth bit arrangement1212. Particular values for the b7 and the b8 may indicate whether a device within a data transfer support the value data and/or communication handover. For example, a first combination of values for the b7 and the b8 may indicate that the value data is supported and a second combination of values for the b7 and the b8 may indicate that both the value data and the communication handover are indicated in some embodiments. In some of these embodiments, the b7 having a value of 1 and the b8 having a value of 0 may indicate that the value data is supported, and the b7 having a value of 1 and the b8 having a value of 1 may indicate that the value data and the communication handover is supported. In other embodiments, one of the b7 or the b8 may indicate whether the value data is supported and the other of the b7 or the b8 may indicate whether the handover is supported. For example, a value of the b7 may indicate whether the value data is supported and a value of the b8 may indicate whether the handover is supported.
As the byte represented thebit arrangements1200 are included in thefifth tag1110, the bits may be transmitted in a response message, such as the response message518 (FIG.5A), the response message716 (FIG.7), and/or the response message730 (FIG.7). In particular, bit values within a byte of thefifth tag1110 included in the response message may be set in accordance with thefirst bit arrangement1202, thesecond bit arrangement1204, thethird bit arrangement1206, thefourth bit arrangement1208, thefifth bit arrangement1210, and/or thesixth bit arrangement1212 to indicate whether loyalty operations are supported, payment operations are supported, value data is supported, communication handover is supported, or some combination thereof is supported by a device in data transfer. In particular, the response message with the byte may be transmitted from a device to another device in the data transfer to indicate whether the device supports the loyalty operations, the payment operations, the value data, and/or the communication handover. Having the byte indicate whether the value data and/or communication handover are supported may enable the entry of the value data at the data originating device and the communication handover to the second communication channel as described throughout this disclosure.
FIG.13 illustratesexample codes1300 for a VAS frame in accordance with some embodiments. In particular, thecodes1300 may correspond to a get VAS data message, such as the get VAS data message520 (FIG.5A). Accordingly, the information included in each of the codes, or some portion thereof, may be transmitted in a get VAS data message during a data transfer.
Thecodes1300 may include aCLA code1302, anINS code1304, aP1 code1306, aP2 code1308, anLc code1310, adata code1312, anLe code1314, or some combination thereof. The codes may indicate that data is to be retrieved, VAS data is to be retrieved, mobile capabilities information, length of a data field, command data, or some combination thereof in a data transfer.
TheP2 code1308 may be utilized to indicate whether an value data is supported. In particular, theP2 code1308 may indicate the mobile capabilities information of a device in a data transfer, such as whether uniform resource locator (URL) VAS protocol is supported, whether full VAS protocol is supported, whether entry of a value data at a data originating device is supported, or some combination thereof. Particular values of theP2 code1308 may indicate the mobile capabilities information of a device within a data transfer. For example, theP2 code1308 having a value of ‘10’ may indicate that entry of a value data at a data originating device is supported. Having theP2 code1308 indicate whether entry of the value data is supported may enable entry of a value data during a data transfer.
FIG.14 illustratesexample tags1400 for a VAS frame in accordance with some embodiments. In particular, thetags1400 may correspond to a get VAS data message, such as the get VAS data message520 (FIG.5A). Accordingly, each of thetags1400, or some portion thereof, may be transmitted in a get VAS data message during a data transfer.
Each of thetags1400 may correspond to certain information included in a get VAS data message. For example, thetags1400 may include afirst tag1402, asecond tag1404, athird tag1406, afourth tag1408, afifth tag1410, asixth tag1412, aseventh tag1414, and aneighth tag1416, where each of thetags1400 may correspond to different information. For example, thefirst tag1402 may correspond to an application version number, where thefirst tag1402 may indicate the application version number. The application number version may correspond to a terminal (such as one of the devices described throughout this disclosure) and may be in Big Endian format. Thesecond tag1404 may correspond to a first ID, where thesecond tag1404 may indicate the first ID. In some embodiments, the first ID may be a merchant ID. Thethird tag1406 may correspond to an unpredictable number, where thethird tag1406 may indicate an unpredictable number associated with the terminal. Thefourth tag1408 may correspond to terminal capabilities information, where thefourth tag1408 may indicate the terminal capabilities information for the terminal. Thefifth tag1410 may correspond to a VAS filter, where thefifth tag1410 may indicate a VAS filter to be utilized. Thesixth tag1412 may correspond to a first URL, where thesixth tag1412 may indicate a first URL associated with a data receiving device. In some embodiments, the first URL may be a merchant URL.
Theseventh tag1414 may correspond to a value data, where theseventh tag1414 may indicate a value data for a data transfer. In particular, theseventh tag1414 may be utilized for value data entered at a data originating device as described throughout this disclosure. Theseventh tag1414 may be utilized for transmission of the value data between devices in a data transfer. Theseventh tag1414 may have a unique value that is utilized to identify theseventh tag1414. The unique value may indicate theseventh tag1414 in the get VAS data message to allow a device to identify the value data in the message. Theseventh tag1414 may facilitate the entry of the value data at the data originating device.
Theeighth tag1416 may correspond to a universally unique identifier (UUID), where theeighth tag1416 may indicate a UUID for a data transfer. For example, theeighth tag1416 may provide a UUID for a communication handover to a second communication channel, such as the communication handovers described throughout this disclosure. The UUID may uniquely define a second communication channel associated with a data transfer. For example, the devices may utilize the UUID to match a value data transmitted via the second communication channel with a VAS performed via a first communication channel. Theeighth tag1416 may have a unique value that is utilized to identify theeighth tag1416. The unique value may indicate theeighth tag1416 in the get VAS data message to allow a device to identify the UUID in the message. Theeighth tag1416 may facilitate the entry of the value data at the data originating device. In particular, theeighth tag1416 may facilitate the entry of the value data via the single tap approach described throughout this disclosure.
FIG.15 illustratesexample tags1500 for a VAS frame in accordance with some embodiments. In particular, thetags1500 may correspond to a VAS response message, such as the VAS indication message522 (FIG.5A). Accordingly, each of thetags1500, or some portion thereof, may be transmitted in a VAS response message during a data transfer.
Each of thetags1500 may correspond to certain information included in a VAS response message. For example, thetags1500 may include afirst tag1502, asecond tag1504, athird tag1506, and afourth tag1508, where each of thetags1500 may correspond to different information. For example, thefirst tag1502 may correspond to a VAS data template, where thefirst tag1502 may indicate a VAS data template to be utilized in a data transfer. Thesecond tag1504 may correspond to a mobile token, where thesecond tag1504 may indicate a mobile token associated with a device in a data transfer. Thethird tag1506 may correspond to VAS data, where thethird tag1506 may indicate VAS data for a data transfer.
Thefourth tag1508 may correspond to a value data, where thefourth tag1508 may indicate a value data. For example, thefourth tag1508 may indicate a value data entered via a data originating device in a data transfer. For example, the value data may be a value entered by a user of a data originating device as described throughout this disclosure. Thefourth tag1508 may be utilized for transmission of the value data between devices in a data transfer. Thefourth tag1508 may have a unique value that is utilized to identify thefourth tag1508. Thefourth tag1508 may indicate thefourth tag1508 in the VAS response message to allow a device to identify the value data in the message. Thefourth tag1508 may facilitate the entry of the value data at the data originating device.
VIII. Data Transfer ProceduresFIG.16 illustrates anexample procedure1600 for a data receiving device within a data transfer with a second communication channel in accordance with some embodiments. For example, theprocedure1600 may be performed by the data receiving device102 (FIG.1), the data receiving device202 (FIG.2A), the data receiving device402 (FIG.4A), the data receiving device502 (FIG.5A), and/or the data receiving device702 (FIG.7) as part of a data transfer. The data receiving device may be associated with a merchant selling goods and/or services for value. In some embodiments, the data transfer may be a payment transaction where monetary value is exchanged for goods and/or services being provided by the merchant. Theprocedure1600, or portions thereof, may be performed as part of the data transfers described throughout this disclosure on the data receiving device and/or the data originating device.
In1602, the data receiving device may detect an initiation of a data transfer. The data receiving device may detect an initiation of a data transfer in accordance with any of the approaches of detecting an initiation of a data transfer as described throughout this disclosure. A user of the data receiving device may have interacted with the data receiving device to indicate that the data receiving device is to monitor for an initiation of the data transfer. For example, the user of the data receiving device may have entered a value for the data transfer. The data receiving device may be functioning as a POS device in some embodiments. In response to the entry of the value for the data transfer by the user, the data receiving device may begin to monitor for the initiation of the data transfer. In some embodiments, the data receiving device may detect a data originating device being located within, or entering, a first proximity (such as the first proximity604 (FIG.6)) of the data receiving device. The data originating device may be functioning as a NFC payment device in some embodiments. The data receiving device may detect the data originating device via a first communication channel, where the first communication channel may implement NFC. The data originating device may be acting as an electronic element when detected by the data receiving device. The initiation of the data transfer may be detected by the data receiving device based on the detection that the data originating device is within the first proximity of the data receiving device in some embodiments.
In1604, the data receiving device may provide an indication that the data receiving device supports a communication handover. In particular, the data receiving device may provide to the data originating device an indication that the data receiving device supports a communication handover on a second communication channel for the data transfer. The data receiving device may provide the indication via the first communication channel. For example, the data receiving device may provide an indication (such as the handover support indication302 (FIG.3A) and/or the handover support indication406 (FIG.4A)) that the data receiving device supports a communication handover on a second communication channel for the data transfer. In some embodiments, providing the indication that the data receiving device supports the communication handover may include providing an indication that the data receiving device supports input of a value data (such as a tip amount) for the data transfer at the data originating device.
In1606, the data receiving device may determine that the data originating device supports the communication handover. In particular, the data receiving device may determine that the data originating device supports the communication handover on the second communication. The data receiving device may determine that the data originating device supports the communication handover based at least in part on an indication, receiving from the data originating device, that the data originating device supports the communication handover on the second communication channel. The data receiving device may receive the indication on the first communication channel. In some embodiments, the data receiving device may receive the indication in a support indication, such as the support indication304 (FIG.3A) and/or the support indication408 (FIG.4A). In some embodiments, determining that the data originating device supports the communication handover includes determining that the data originating device supports input of the value data (such as a tip amount) for the data transfer at the data originating device.
In1608, the data receiving device may provide a selection handover message. For example, the data receiving device may provide a selection handover message to the data originating device. The data receiving device may provide the selection handover message on the first communication channel. The selection handover may include a first ECC key. The first ECC key may be a merchant ECC key in some embodiments. The selection handover message may comprise the selection handover message310 (FIG.3A) and/or the selection handover message414 (FIG.4A). In some embodiments,1608 may be omitted.
In1610, the data receiving device may identify a second ECC key. In particular, the data receiving device may identify a second ECC key received in a handover response message received from the data originating device. The data receiving device may receive the handover response message on the first communication channel. The second ECC key may be a customer ECC key in some embodiments. The handover response message may comprise the handover response message312 (FIG.3A) and/or the handover response message416 (FIG.4A). In some embodiments,1610 may be omitted.
In1612, the data receiving device may establish the second communication channel. In particular, the data receiving device may establish the second communication channel (such as the second communication channel114 (FIG.1)) between the data receiving device and the data originating device. The second communication channel may be established via a channel setup procedure, such as the channel setup procedure352 (FIG.3B), the channel setup procedure452 (FIG.4B), and/or the channel setup procedure552 (FIG.5B). In some embodiments, the second communication channel may be established based on the first ECC key, the second ECC key, a session name, a password, or some combination thereof.
The second communication channel may implement a communication protocol different from the first communication channel. For example, the first communication channel may implement NFC and the second communication channel may implement a communication protocol different from the NFC. The second communication channel may implement Wi-Fi, ultra-wideband, Bluetooth, or another wireless communication protocol different from the NFC in some embodiments. In some embodiments, the second communication channel may be established via a wide area and/or public network, such as the Internet. The use of the different protocol for the second communication channel may provide for a greater range of communication between the data receiving device and the data originating device. For example, the second communication channel may have a second proximity (such as the second proximity608 (FIG.6)) for communication that is greater than the first proximity for communication via the first communication channel. Accordingly, the data receiving device and the data originating device may communicate via the second communication channel at a greater distance than they can communicate via the NFC. In some embodiments, the second communication channel may implement different security from the security implemented by the first communication channel. The security implemented by the second communication channel may provide stronger security than the security implemented by the first communication channel in some embodiments. In some embodiments,1612 may be omitted.
In1614, the data receiving device may provide preliminary receipt data. In particular, the data receiving device may provide the preliminary receipt data to the data originating device on the second communication channel. The preliminary receipt data may include a preliminary receipt (such as the preliminary receipt214 (FIG.2B) and/or the preliminary receipt808 (FIG.8A)), or data to produce a preliminary receipt at the data originating device. The preliminary receipt may indicate a preliminary receipt value of the data transfer. In some embodiments, the preliminary receipt value may be an amount that a merchant is charging for goods and/or services being purchased by a user of the data originating device. The data receiving device may provide the preliminary receipt data in a service message (such as the service response message356 (FIG.3B), the supported services message456 (FIG.4B), and/or the supported services message556 (FIG.5B)). In some embodiments,1614 may be omitted.
In1616, the data receiving device may determine a value data. In particular, the data receiving device may determine the value data based on an indication of the value data received on the second communication channel. The indication of the value data may be received in a value data message (such as the value data message374 (FIG.3B)) or a get service message (such as the get service message460 (FIG.4B), and/or a get service message470 (FIG.4B)). The value data may comprise a value entered into a user input field (such as the user input field108 (FIG.1), the first user input field216 (FIG.2B), and/or the second user input field814 (FIG.8A)) at the data originating device by a user of the data originating device. In some embodiments, the value data may be a tip amount for the data transfer. The data receiving device may receive the indication of the value data via the second communication channel in some embodiments.
In1618, the data receiving device may determine a transfer value. In particular, the data receiving device may determine a transfer value for the data transfer based at least in part on the value data. The data receiving device may determine the transfer value by adding the value data to the preliminary receipt value in some embodiments. In these embodiments, the transfer value may be equal to the preliminary receipt value plus the tip amount.
In1620, the data receiving device may complete the data transfer. In particular, the data receiving device may complete the data transfer with the transfer value. The data receiving device may perform a payment loop (such as the payment loop318 (FIG.3A) and/or the payment loop422 (FIG.4A)) and a payment authorization result (such as the payment authorization result320 (FIG.3A) and/or the payment authorization result424 (FIG.4A)) to complete the data transfer. In some embodiments, the data receiving device may perform the payment loop with the preliminary receipt value without the value data, may perform the payment loop with the transfer value, or may perform portions of the payment loop with the preliminary receipt value without the value data and other portions of the payment loop with the transfer value. The data receiving device may complete the data transfer via the first communication channel. The completion of the data transfer may result in transfer of the transfer value (such as monetary compensation) from an account associated with the user of the data originating device to an account associated with the user of the data receiving device.
In1622, the data receiving device may terminate the second communication channel. In particular, the data receiving device may terminate the second communication channel based at least in part on the completion of the data transfer. For example, the data receiving device may terminate the second communication channel between the data receiving device and the data originating device in response to the completion of the data transfer.
FIG.17 illustrates anexample procedure1700 for a data originating device within a data transfer with a second communication channel in accordance with some embodiments. For example, theprocedure1700 may be performed by the data originating device104 (FIG.1), the data originating device204 (FIG.2A), the data originating device404 (FIG.4A), the data originating device504 (FIG.5A), and/or the data originating device704 (FIG.7) as part of a data transfer. The data originating device may be associated with a customer purchasing goods and/or services from a merchant for value. In some embodiments, the data transfer may be a payment transaction where monetary value is exchanged for the goods and/or services being provided by the merchant. Theprocedure1700, or portions thereof, may be performed as part of the data transfers described throughout this disclosure and may result in the display of the interfaces described throughout this disclosure on the data receiving device and/or the data originating device.
In1702, the data originating device may determine that a data receiving device supports a communication handover. In particular, the data originating device may determine that the data receiving device supports a communication handover on a second communication channel for the data transfer. The data originating device may determine that the data receiving device supports the communication handover based at least in part on an indication received from the data receiving device. The data originating device may receive the indication on a first communication channel. The first communication channel may implement NFC. The data originating device may receive the indication via the handover support indication302 (FIG.3A) and/or the handover support indication406 (FIG.4). In some embodiments, the data originating device may be functioning as a NFC payment device and the data receiving device may be functioning as a POS device.
In1704, the data originating device may provide an indication that the data originating device supports the communication handover. In particular, the data originating device may provide an indication that the data originating device supports the communication handover on the second communication channel to the data receiving device. The data originating device may provide the indication on the first communication channel. The data originating device may provide the indication in a support indication, such as the support indication304 (FIG.3A) and/or the support indication408 (FIG.4A).
In1706, the data originating device may identify a first ECC key. In particular, the data originating device may identify the first ECC key received in a selection handover message (such as the selection handover message310 (FIG.3A) and/or the selection handover message414 (FIG.4A)) received from the data receiving device. The selection handover message may be received In some embodiments, the first ECC key may be a merchant ECC key. In some embodiments,1706 may be omitted.
In1708, the data originating device may provide a handover response message. In particular, the data originating device may provide a handover response message (such as the handover response message312 (FIG.3A) and/or the handover response message416 (FIG.4A)) to the data receiving device on the first communication channel. The data originating device may transmit the handover response message in response to the selection handover message. The data originating device may provide the handover response message on the second communication channel. The handover response message may include a second ECC key. The second ECC key may be a customer ECC key in some embodiments. In some embodiments,1708 may be omitted.
In1710, the data originating device may establish a second communication channel. In particular, the data originating device may establish the second communication channel between the data receiving device and the data originating device. The second communication channel may be established via a channel setup procedure, such as the channel setup procedure352 (FIG.3B), the channel setup procedure452 (FIG.4B), and/or the channel setup procedure552 (FIG.5B). The second communication channel may be established based on the first ECC key, the second ECC key, a session name, a password, or some combination thereof. The second communication channel may implement a different communication protocol from the first communication channel. For example, the first communication channel may implement NFC in some embodiments. The second communication channel may implement Wi-Fi, ultra-wideband, Bluetooth, or another wireless communication protocol different from the NFC. In some embodiments, the second communication channel may be established via a wide area and/or public network, such as the Internet. The use of the different protocol for the second communication channel may provide for a greater range of communication between the data receiving device and the data originating device. For example, the second communication channel may have a second proximity (such as the second proximity608 (FIG.6)) for communication that is greater than the first proximity for communication via the first communication channel. Accordingly, the data originating device and the data receiving device may communicate via the second communication channel at a greater distance than they can communicate via the first communication channel. In some embodiments, the second communication channel may implement different security from the security implemented by the first communication channel. The security implemented by the second communication channel may provide stronger security than the security implemented by the first communication channel in some embodiments. In some embodiments,1710 may be omitted.
In1712, the data originating device may identify preliminary receipt data. In particular, the data originating device may identify preliminary receipt data received from the data receiving device. The data originating device may receive the preliminary receipt data on the second communication channel. The preliminary receipt data may include a preliminary receipt (such as the preliminary receipt214 (FIG.2B) and/or the preliminary receipt808 (FIG.8A)), or data to produce a preliminary receipt at the data originating device. The preliminary receipt may include a preliminary receipt value of the data transfer. In some embodiments, the preliminary receipt value may be an amount that a merchant is charging for goods and/or services being purchased by a user of the data originating device. The preliminary receipt data may be received in a service message (such as the service response message356 (FIG.3B), the supported services message456 (FIG.4B), and/or the supported services message556 (FIG.5B)). In some embodiments,1712 may be omitted.
In1714, the data originating device may display a user input field. In particular, the data originating device may display a user input field for input of a value data for the data transfer. The data originating device may display the user input field on a display of the data originating device. The user input field may comprise the user input field108 (FIG.1), the first user input field216 (FIG.2B), the second user input field220 (FIG.2B), the first user input field810 (FIG.8A), and/or the second user input field814 (FIG.8A). In some embodiments, the data originating device may receive an indication of the user input field in a service response message (such as the service response message356 (FIG.3B), the service response message462 (FIG.4B), the service response message472 (FIG.4B)) received from the data receiving device. The data originating device may receive the service response message on the first communication channel or the second communication channel. In some embodiments,1714 may be omitted.
In1716, the data originating device may display the preliminary receipt data. For example, the data originating device may display the preliminary receipt data with the user input field. In some embodiments, displaying the preliminary receipt data may include displaying the preliminary receipt, such as thepreliminary receipt214 and/or thepreliminary receipt808. In some embodiments,1716 may be omitted.
In1718, the data originating device may identify a value data. In particular, the data originating device may identify a value data of the user input field received at the data originating device. For example, the data originating device may identify a value data entered into the user input field displayed on the data originating device. The value data, or some portion thereof, may be entered into the user input field by a user of the data originating device via user interaction with the data originating device. In some embodiments, the user input field may comprise a tip amount input field and the value data may comprise a tip amount for the data transfer. In some embodiments,1718 may be omitted.
In1720, the data originating device may provide an indication of the value data. In particular, the data originating device may provide the indication of the value data to the data receiving device on the second communication channel. The data originating device may transmit the indication of the value data in a value data message (such as the value data message374 (FIG.3B)) or a get service message (such as the get service message460 (FIG.4B), and/or a get service message470 (FIG.4B)). The data originating device may transmit the value data message or the get service message on the first communication channel or the second communication channel.
FIG.18 illustrates anexample procedure1800 for a data receiving device within a data transfer with a double tap data transfer in accordance with some embodiments. For example, theprocedure1800 may be performed by the data receiving device102 (FIG.1), the data receiving device202 (FIG.2A), the data receiving device402 (FIG.4A), the data receiving device502 (FIG.5A), and/or the data receiving device702 (FIG.7) as part of a data transfer. The data receiving device may be associated with a merchant selling goods and/or services for value. In some embodiments, the data transfer may be a payment transaction where monetary value is exchanged for the goods and/or services being provided by the merchant. Theprocedure1800, or portions thereof, may be performed as part of the data transfers described throughout this disclosure and may result in the display of the interfaces described throughout this disclosure on the data receiving device and/or the data originating device.
In1802, the data receiving device may detect an initiation of a data transfer. In particular, the data receiving device may detect an initiation of a data transfer with a data originating device. The data receiving device may detect the initiation based at least in part on a first time that the data originating device has entered a proximity of the data receiving device. A user of the data receiving device may have interacted with the data receiving device to indicate that the data receiving device is to monitor for an initiation of the data transfer. For example, the user of the data receiving device may have entered a value for the data transfer. In response to the entry of the value of the data transfer by the user, the data receiving device may begin to monitor for the initiation of the data transfer. In some embodiments, the data receiving device may detect a data originating device being located within, or entering, a proximity (such as the first proximity604 (FIG.6)) of the data receiving device. The data receiving device may detect the data originating device via a communication channel, where the communication channel may implement NFC. The data originating device may be acting as an electronic element when detected by the data receiving device. In some embodiments, the data receiving device may be functioning as a POS device and the data originating device may be functioning as a NFC payment device. The initiation of the data transfer may be detected by the data receiving device based on the detection that the data originating device is within the proximity of the data receiving device in some embodiments.
In1804, the data receiving device may provide an indication that a data receiving device supports a double tap data transfer. In particular, the data receiving device may provide the indication to the data originating device. The data receiving device may provide the indication based at least in part on the detection that the data originating device has entered the proximity of the data receiving device. In some embodiments, the indication may be provided during a first time that the data originating device has entered the proximity of the data receiving device. The data receiving device may provide the indication via a double tap support indication, such as the double tap support indication706 (FIG.7). The indication that the data receiving device supports the double tap data transfer may indicate that the data receiving devices supports receipt of an indication of value data during by the data receiving device during a second time that the data originating device has entered the proximity of the data receiving device. The value data may comprise a tip amount in some embodiments. In some embodiments, the data receiving device may provide the indication via NFC.
In1806, the data receiving device may determine that the data originating device supports the double tap data transfer. In particular, the data receiving device may determine that the data originating device supports the double tap data transfer based at least in part on an indication that the data originating device supports the double tap data transfer received from the data originating device. In some embodiments, the indication may be received during the first time that the data originating device has entered the proximity of the data receiving device. The data receiving device may receive the indication via a support indication, such as the support indication708 (FIG.7). The indication that the data originating device supports the double tap data transfer may indicate that the data originating device supports transmission of the indication of the value data during the second time that the data originating device has entered the proximity of the data receiving device. In some embodiments, the data receiving device may receive the indication via NFC.
In1808, the data receiving device may provide a transaction ID. In particular, the data receiving device may provide a transaction ID during the first time that the data originating device has entered the proximity of the data receiving device. The data receiving device may provide the transaction ID in a selection message, such as the selection message714 (FIG.7). The transaction ID may correspond to the data transfer, such that the data transfer may be identified from the transaction ID. In some embodiments,1808 may be omitted.
In1810, the data receiving device may provide preliminary receipt data. In particular, the data receiving device may provide the preliminary receipt data to the data originating device. The data receiving device may provide the preliminary receipt data during the first time that the data originating device has entered the proximity of the data receiving device. The preliminary receipt data may include a preliminary receipt (such as the preliminary receipt214 (FIG.2B) and/or the preliminary receipt808 (FIG.8A)), or data to produce a preliminary receipt at the data originating device. The preliminary receipt may indicate a preliminary receipt value of the data transfer. In some embodiments, the preliminary receipt value may be an amount that a merchant is charging for goods and/or services being purchased by a user of the data originating device. The data receiving device may provide the preliminary receipt data in a selection message, such as theselection message714. In some embodiments,1810 may be omitted.
In1812, the data receiving device may determine that the data originating device has entered the proximity of the data receiving device a second time. The second time that the data originating device has entered the proximity may be subsequent to the first time that the data originating device has entered the proximity of the data receiving device. In some embodiments,1812 may be omitted.
In1814, the data receiving device may determine a value data. In particular, the data receiving device may determine a value data based at least in part on an indication of the value data received from the data originating device. The data receiving device may receive the indication during the second time that the data originating device has entered the proximity of the data receiving device. The data receiving device may receive the indication of the value data in a response message, such as the response message730 (FIG.7). In some embodiments, the response message may further include the transaction ID. The data receiving device may utilize the transaction ID to determine that the value data corresponds to the particular data transfer. In some embodiments, the value data may be a tip amount for the data transfer.
In1816, the data receiving device may determine a transfer value. In particular, the data receiving device may determine the transfer value based at least in part on the value data. The data receiving device may determine the transfer value by adding the value data to the preliminary receipt value in some embodiments. In these embodiments, the transfer value may be equal to the preliminary receipt value plus the tip amount.
In1818, the data receiving device may complete the data transfer. In particular, the data receiving device may complete the data transfer with the transfer value. The data receiving device may perform a payment loop (such as the payment loop736 (FIG.7)) and a payment authorization result (such as the payment authorization result738 (FIG.7)) to complete the data transfer. In some embodiments, the data receiving device may perform the payment loop with the preliminary receipt value without the value data, may perform the payment loop with the transfer value, or may perform portions of the payment loop with the preliminary receipt value without the value data and other portions of the payment loop with the transfer value. The completion of the data transfer may result in transfer of the transfer value (such as monetary compensation) from an account associated with the user of the data originating device to an account associated with the user of the data receiving device.
FIG.19 illustrates anexample procedure1900 for a data originating device within a data transfer with a double tap data transfer in accordance with some embodiments. For example, theprocedure1900 may be performed by the data originating device104 (FIG.1), the data originating device204 (FIG.2A), the data originating device404 (FIG.4A), the data originating device504 (FIG.5A), and/or the data originating device704 (FIG.7) as part of a data transfer. The data originating device may be associated with a customer purchasing goods and/or services from a merchant for value. In some embodiments, the data transfer may be a payment transaction where monetary value is exchanged for the goods and/or services being provided by the merchant. Theprocedure1900, or portions thereof, may be performed as part of the data transfers described throughout this disclosure and may result in the display of the interfaces described throughout this disclosure on the data receiving device and/or the data originating device.
In1902, the data originating device may determine that a data receiving device supports a double tap data transfer. In particular, the data originating device may determine that a data receiving device supports the double tap data transfer based at least in part on an indication that the data receiving device supports the double tap data transfer received from the data receiving device. The data originating device may receive the indication during a first time that the data originating device has entered a proximity (such as the first proximity604 (FIG.6)) of the data receiving device. The data originating device may receive the indication via a double tap support indication, such as the double tap support indication706 (FIG.7). The indication that the data receiving device supports the double tap data transfer may indicate that the data receiving devices supports receipt of an indication of value data by the data receiving device during a second time that the data originating device has entered the proximity of the data receiving device. In some embodiments, the data receiving device may be functioning as a POS device and the data originating device may be functioning as a NFC payment device. The value data may comprise a tip amount in some embodiments. In some embodiments, the data originating device may receive the indication via NFC.
In1904, the data originating device may provide an indication that the data originating device supports the double tap data transfer. For example, the data originating device may provide the indication that the data originating device supports the double tap data transfer to the data receiving device during the first time that the data originating device has entered the proximity of the data receiving device. The data originating device may provide the indication via a support indication, such as the support indication708 (FIG.7). The indication that the data originating device supports the double tap data transfer may indicate that the data originating device supports transmission of the indication of the value data during the second time that the data originating device has entered the proximity of the data receiving device. In some embodiments, the data originating device may provide the indication via NFC.
In1906, the data originating device may identify an indication of a transaction identifier. In particular, the data originating device may identify an indication of a transaction identifier received from the data receiving device during the first time that the data originating device has entered the proximity of the data receiving device. The data originating device receive the transaction ID in a selection message, such as the selection message714 (FIG.7). The transaction ID may correspond to the data transfer, such that the data transfer may be identified from the transaction ID. In some embodiments,1906 may be omitted.
In1908, the data originating device may identify preliminary receipt data. In particular, the data originating device may identify preliminary receipt data received from the data receiving device. The data originating device may receive the preliminary receipt data during the first time that the data originating device has entered the proximity of the data receiving device. The preliminary receipt data may include a preliminary receipt (such as the preliminary receipt214 (FIG.2B) and/or the preliminary receipt808 (FIG.8A)), or data to produce a preliminary receipt at the data originating device. The preliminary receipt may indicate a preliminary receipt value of the data transfer. In some embodiments, the preliminary receipt value may be an amount that a merchant is charging for goods and/or services being purchased by a user of the data originating device. The data originating device may receive the preliminary receipt data in a selection message, such as theselection message714. In some embodiments,1908 may be omitted.
In1910, the data originating device may display a user input field. In particular, the data originating device may display a user input field for input of a value data. The data originating device may display the user input field on a display of the data originating device. The user input field may comprise the user input field108 (FIG.1), the first user input field216 (FIG.2B), the second user input field220 (FIG.2B), the first user input field810 (FIG.8A), and/or the second user input field814 (FIG.8A). In some embodiments, the data originating device may receive an indication of the user input field in a selection message (such as the selection message728 (FIG.7)) received from the data receiving device. The data originating device may receive the indication of the user input field the first time that the data originating device has entered the proximity of the data receiving device. In some embodiments,1910 may be omitted.
In1912, the data originating device may display the preliminary receipt data. For example, the data originating device may display the preliminary receipt data with the user input field. In some embodiments, displaying the preliminary receipt data may include displaying the preliminary receipt, such as thepreliminary receipt214 and/or thepreliminary receipt808. In some embodiments,1912 may be omitted.
In1914, the data originating device may identify a value data. In particular, the data originating device may identify a value data received via the user input field displayed by the data originating device. For example, the data originating device may identify a value data entered into the user input field displayed on the data originating device. The value data, or some portion thereof, may be entered into the user input field by a user of the data originating device via user interaction with the data originating device. In some embodiments, the user input field may comprise a tip amount input field and the value data may comprise a tip amount for the data transfer. In some embodiments,1718 may be omitted.
In1916, the data originating device may provide an indication of the value data. In particular, the data originating device may provide the indication of the value data during a second time that the data originating device has entered the proximity of the data receiving device. The data originating device may transmit the indication of the value data in a response message (such as the response message730 (FIG.7)). The data originating device may transmit the response message during the second time that the data originating device has entered the proximity of the data receiving device.
In1918, the data originating device may provide the transaction identifier. In particular, the data originating device may provide the transaction identifier with the indication of the value data during the second time that the data originating device has entered the proximity of the data receiving device. For example, the data originating device may transmit the transaction identifier in the response message (such as the response message730). In someembodiments1918 may be omitted.
FIG.20 illustrates anexample procedure2000 for a first device within a data transfer with user input field in accordance with some embodiments. For example, theprocedure2000 may be performed by the data receiving device102 (FIG.1), the data receiving device202 (FIG.2A), the data receiving device402 (FIG.4A), the data receiving device502 (FIG.5A), and/or the data receiving device702 (FIG.7) as part of a data transfer. The first device may be associated with a merchant selling goods and/or services for value. In some embodiments, the data transfer may be a payment transaction where monetary value is exchanged for the goods and/or services being provided by the merchant. Theprocedure2000, or portions thereof, may be performed as part of the data transfers described throughout this disclosure and may result in the display of the interfaces described throughout this disclosure on the data receiving device and/or the data originating device.
In2002, the first device may detect an initiation of a data transfer. The first device may detect an initiation of a data transfer in accordance with any of the approaches of detecting an initiation of a data transfer as described throughout this disclosure. A user of the first device may have interacted with the first device to indicate that the first device is to monitor for an initiation of the data transfer. For example, the user of the first device may have entered a value for the data transfer. In response to the entry of the value of the data transfer by the user, the first device may begin to monitor for the initiation of the data transfer. In some embodiments, the first device may detect a second device being located within, or entering, a first proximity (such as the first proximity604 (FIG.6)) of the first device. The first device may detect the second device via a first communication channel, where the first communication channel may implement NFC.
The second device may be acting as an electronic element when detected by the first device. The initiation of the data transfer may be detected by the first device based on the detection that the second device is within the first proximity of the first device in some embodiments.
In2004, the first device may provide an indication that the first device supports a user input field. In particular, the first device may provide an indication (such as the handover support indication302 (FIG.3A), the handover support indication406 (FIG.4A), and/or the double tap support indication706 (FIG.7)) that the first device supports a user input field at the second device for the data transfer to the second device. For example, the first device may support a user input field being displayed on a display of the second device and a user of second device entering a value data related to the data transfer into the user input field. The first device may provide the indication via the NFC. In some embodiments, the user input field may be a tip input field and the user of the second device may input a tip amount into the tip input field.
In2006, the first device may detect an indication that the second device supports the user input field. In particular, the first device may detect an indication that the second device supports the user input field received from the second device. The first device may receive the indication in a support indication, such as the support indication304 (FIG.3A), the support indication408 (FIG.4A), and/or the support indication708 (FIG.7). The first device may receive the indication via the NFC.
In2008, the first device may transmit a selection handover message. In particular, the first device may transmit a selection handover message (such as the selection handover message310 (FIG.3A) and/or the selection handover message414 (FIG.4A)) to the second device. The first device may transmit the selection handover message via the NFC. The selection handover message may include a first ECC key. The first ECC key may be a merchant ECC key in some embodiments. In some embodiments,2004 may be omitted. For example,2004 may be omitted in the double tap approach where a handover to a second communication channel does not occur.
In2010, the first device may detect a handover response message. In particular, the first device may detect a handover response message (such as the handover response message312 (FIG.3A) and/or the handover response message416 (FIG.4A)) received from the second device. The first device may receive the handover response message via the NFC. The handover response message may include a second ECC key in some embodiments. The second ECC key may be a customer ECC key in some embodiments. In some embodiments,2006 may be omitted. For example,2006 may be omitted in the double tap approach where a handover to a second communication channel does not occur.
In2012, the first device may establish a second communication channel. In particular, the first device may establish a second communication channel (such as the second communication channel114 (FIG.1)) with the second device. The second communication channel may be established via a channel setup procedure, such as the channel setup procedure352 (FIG.3B), the channel setup procedure452 (FIG.4B), and/or the channel setup procedure552 (FIG.5B). The second communication channel may be established based on the first ECC key, the second ECC key, a session name, a password, or some combination thereof. The second communication channel may implement a communication protocol different from the NFC. For example, the second communication channel may implement Wi-Fi, ultra-wideband, Bluetooth, or another wireless communication protocol different from the NFC. In some embodiments, the second communication channel may be established via a public and/or wide area network, such as the Internet. The use of the different protocol for the second communication channel may provide for a greater range of communication between the first device and the second device. For example, the second communication channel may have a second proximity (such as the second proximity608 (FIG.6)) for communication that is greater than the first proximity for communication via the NFC. Accordingly, the first device and the second device may communicate via the second communication channel at a greater distance than they can communicate via the NFC. In some embodiments,2008 may be omitted. For example,2008 may be omitted in the double tap approach where a second communication channel is not established.
In2014, the first device may provide a preliminary receipt to the second device. In particular, the first device may provide a preliminary receipt (such as the preliminary receipt214 (FIG.2B), and/or the preliminary receipt808 (FIG.8A)) to the second device, where the preliminary receipt may indicate a value of the data transfer. For example, the preliminary receipt may indicate an amount that the merchant is charging for the goods and/or services. The first device may provide the preliminary receipt in a service message (such as theservice response message356, the supportedservices message456, and/or the supported services message556) or an selection message (such as the selection message714 (FIG.7) and/or the selection message728 (FIG.7)). The first device may provide the preliminary receipt via the NFC in some embodiments (such as for the double tap approach) and via the second communication channel in other embodiments (such as for the single tap approach). In some embodiments,2014 may be omitted.
In2016, the first device may detect a second time that the second device enters the first proximity. In particular, the second device may have entered the first proximity of the first device for the first time in the initiation of the data transfer in2002. After entering the first proximity for the first time, the second device may have exited the first proximity of the first device. In2016, the first device may detect the second time that the second device has entered the first proximity of the first device. The first device may have been monitoring for the second entry of the second device into the first proximity since the second device exited the first proximity after the first entry. In some embodiments,2016 may be omitted. For example,2016 may be omitted in the single tap approach where the second device does not have to enter the first proximity a second time for the data transfer.
In2018, the first device may detect an indication of a value data. In particular, the first device may detect an indication of a value data received from the second device. The value data may be a value entered into the user input field (such as the user input field108 (FIG.1), the first user input field216 (FIG.2B), the first user input field810 (FIG.8A), and/or the second user input field814 (FIG.8A)) at the second device by a user of the second device. In some embodiments, the value data may be a tip amount for the data transfer. The first device may receive the indication of the value data via the NFC in some embodiments (such as for the double tap approach) and via the second communication channel in other embodiments (such as for the single tap approach).
In2020, the first device may update the preliminary receipt. In particular, the first device may update the preliminary receipt in accordance with the value data received from the second device. The first device may update the preliminary receipt to produce a billable amount for the data transfer. In embodiments where the value data comprises a tip amount, the first device may produce the billable amount by adding the tip amount to the amount that the merchant is charging for the good and/or services. In some embodiments,2020 may be omitted.
In2022, the first device may complete the data transfer. In particular, the first device may complete the data transfer in accordance with the value data received from the second device. For example, the first device may perform a payment loop (such as the payment loop318 (FIG.3A), the payment loop422 (FIG.4A), and/or the payment loop736 (FIG.7)) and a payment authorization result (such as the payment authorization result320 (FIG.3A), the payment authorization result424 (FIG.4A), and/or the payment authorization result738 (FIG.7)) to complete the data transfer. The first device may perform the payment loop with the initial value for the data transfer without the value data, may perform the payment loop with the billable amount for the data transfer, or may perform portions of the payment loop with the initial value for the data transfer and other portions of the payment loop with the billable amount. For example, the first device may perform the payment loop with the billable amount for the data transfer for the double tap approach. For the single tap approach, the first device may perform the payment loop with the initial value for the data transfer, may perform the payment loop with the billable amount for the data transfer, or may perform portions of the payment loop with the initial value for the data transfer and other portions of the payment loop with the billable amount. The first device may complete the data transfer via the NFC. The completion of the data transfer may result in transfer of value (such as monetary compensation) from an account associated with the user of the second device to an account associated with the user of the first device.
FIG.21 illustrates anexample procedure2100 for a second device within a data transfer with user input field in accordance with some embodiments. For example, theprocedure2100 may be performed by the data originating device104 (FIG.1), the data originating device204 (FIG.2A), the data originating device404 (FIG.4A), the data originating device504 (FIG.5A), and/or the data originating device704 (FIG.7) as part of a data transfer. The second device may be associated with a customer purchasing goods and/or services from a merchant for value. In some embodiments, the data transfer may be a payment transaction where monetary value is exchanged for the goods and/or services being provided by the merchant. Theprocedure2100, or portions thereof, may be performed as part of the data transfers described throughout this disclosure and may result in the display of the interfaces described throughout this disclosure on the data receiving device and/or the data originating device.
In2102, the first device may detect an indication that a second device supports a user input field. In particular, the first device may detect an indication, received from the second device, that the second device supports a user input field being displayed on the first device and a user interaction with the first device to provide a value data for a data transfer between the first device and the second device. The first device may receive the indication via the handover support indication302 (FIG.3A), the handover support indication406 (FIG.4A), and/or the double tap support indication706 (FIG.7). The indication may be received via a first communication channel, which the first communication channel may implement NFC. In some embodiments, the user input field may be a tip input filed and the user of the first device may input a tip amount into the tip input field.
In2104, the first device may provide an indication that the first device supports the user input field. In particular, the first device may provide an indication to the second device that the first device supports the user input field. The first device may provide the indication in a support indication, such as the support indication304 (FIG.3A), the support indication408 (FIG.4A), and/or the support indication708 (FIG.7). The first device may provide the indication via the NFC.
In2106, the first device may detect a selection handover message. In particular, the first device may detect a selection handover message (such as the selection handover message310 (FIG.3A) and/or the selection handover message414 (FIG.4A)) received from the second device. The selection handover message may be received via the NFC. The selection handover message received may include a first ECC key. The first ECC key may be a merchant ECC key in some embodiments. In some embodiments,2106 may be omitted. For example,2106 may be omitted in the double tap approach where a handover to a second communication channel does not occur.
In2108, the first device may identify a first ECC key. In particular, the first device may identify the first ECC key received in the selection handover message. In some embodiments,2108 may be omitted. For example,2108 may be omitted in the double tap approach where a handover to a second communication channel does not occur.
In2110, the first device may transmit a handover response message. In particular, the first device may transmit a handover response message (such as the handover response message312 (FIG.3A) and/or the handover response message416 (FIG.4A)) to second device. The first device may transmit the handover response message in response to the selection handover message. Further, the first device may transmit the handover response message via the NFC. The handover response message may include a second ECC key. The second ECC key may be a customer ECC key in some embodiments. In some embodiments,2110 may be omitted. For example,2110 may be omitted in the double tap approach where a handover to a second communication channel does not occur.
In2112, the first device may establish a second communication channel. In particular, the first device may establish a second communication channel (such as the second communication channel114 (FIG.1)) with the second device. The second communication channel may be established via a channel setup procedure, such as the channel setup procedure352 (FIG.3B), the channel setup procedure452 (FIG.4B), and/or the channel setup procedure552 (FIG.5B). The second communication channel may be established based on the first ECC key, the second ECC key, a session name, a password, or some combination thereof. The second communication channel may implement a communication protocol different from the NFC. For example, the second communication channel may implement Wi-Fi, ultra-wideband, Bluetooth, or another wireless communication protocol different from the NFC. In some embodiments, the second communication channel may be established via a wide area and/or public network, such as the Internet. The use of the different protocol for the second communication channel may provide for a greater range of communication between the first device and the second device. For example, the second communication channel may have a second proximity (such as the second proximity608 (FIG.6)) for communication that is greater than the first proximity for communication via the NFC. Accordingly, the first device and the second device may communicate via the second communication channel at a greater distance than they can communicate via the NFC. In some embodiments,2112 may be omitted. For example,2112 may be omitted in the double tap approach where a second communication channel is not established.
In2114, the first device may detect an indication of a user input field. In particular, the first device may detect an indication of a user input field (such as the user input field108 (FIG.1), the first user input field216 (FIG.2B), the second user input field220 (FIG.2B), the first user input field810 (FIG.8A), and/or the second user input field814 (FIG.8A)), to be displayed on a display of the first device received from the second device. The first device may receive the indication of the user input field in a service response message (such as the service response message356 (FIG.3B), the service response message462 (FIG.4B), the service response message472 (FIG.4B)) or a selection message (such as the selection message728 (FIG.7)). The first device may receive the service response message or the selection message via the NFC or the second communication channel. The indication of the user input field may further include a value of the data transfer to be displayed with the user input field on the display of the first device. In some embodiment, the value of the data transfer may comprise a preliminary receipt that includes the value of the data transfer.
In2116, the first device may display the user input field. In particular, the first device may display the user input field indicated in2114 on a display of the first device. The first device may display the user input field in response to detecting the indication of the user input field. For example, the first device receiving the service response message or the selection message from the first device may cause the first device to display the user input field.
In2118, the first device may identify a value data. In particular, the first device may identify a value data entered into the user input field displayed on the first device. The value data may be entered into the user input field by a user of the first device via user interaction with the first device. In some embodiments, the user input field may comprise a tip amount input field and the value data may comprise a tip amount for the data transfer.
In2120, the first device may provide an indication of the value data. In particular, the first device may transmit an indication of the value data to the second device. The first device may transmit the indication of the value data in a value data message (such as the value data message374 (FIG.3B)), a get service message (such as the get service message460 (FIG.4B), and/or a get service message470 (FIG.4B)), or a response message (such as the response message730 (FIG.7)). The first device may transmit the value data message, the get service message, or the response message via the NFC or the second communication channel. In some embodiments, the indication of the value data may comprise an indication of the tip amount for the data transfer. The second device may utilize the value data indicated to in the indication to complete the data transfer.
FIG.22 illustrates anexample procedure2200 for a first device within a data transfer with a second communication channel in accordance with some embodiments. For example, theprocedure2200 may be performed by the data receiving device102 (FIG.1), the data receiving device202 (FIG.2A), the data receiving device402 (FIG.4A), the data receiving device502 (FIG.5A), and/or the data receiving device702 (FIG.7) as part of a data transfer. The first device may be associated with a merchant selling goods and/or services for value. In some embodiments, the data transfer may be a payment transaction where monetary value is exchanged for the goods and/or services being provided by the merchant. The first device may be referred to as a first device and a second device may be referred to as a second device in relation to theprocedure2200. Theprocedure2200, or portions thereof, may be performed as part of the data transfers described throughout this disclosure and may result in the display of the interfaces described throughout this disclosure on the data receiving device and/or the data originating device.
In2202, the first device may detect an initiation of a data transfer. The first device may detect an initiation of a data transfer in accordance with any of the approaches of detecting an initiation of a data transfer as described throughout this disclosure. A user of the first device may have interacted with the first device to indicate that the first device is to monitor for an initiation of the data transfer. For example, the user of the first device may have entered a value for the data transfer. In response to the entry of the value of the data transfer by the user, the first device may begin to monitor for the initiation of the data transfer. In some embodiments, the first device may detect a second device being located within, or entering, a first proximity (such as the first proximity604 (FIG.6)) of the first device. The first device may detect the second device via a first communication channel (such as the first communication channel112 (FIG.1)), where the first communication channel may implement NFC. The second device may be acting as an electronic element when detected by the first device. The initiation of the data transfer may be detected by the first device based on the detection that the second device is within the first proximity of the first device in some embodiments.
In2204, the first device may provide an indication that the first device supports a second communication channel. In particular, the first device may provide an indication (such as the handover support indication302 (FIG.3A), and/or the handover support indication406 (FIG.4A)) that the first device supports a second communication channel to the second device. For example, the first device may support establishment of a second communication channel (such as the second communication channel114 (FIG.1)) for a data transfer. The first device may provide the indication via a first communication channel, where the first communication channel may implement NFC.
In2206, the first device may detect an indication that the second device supports the second communication channel. In particular, the first device may detect the indication (such as the support indication304 (FIG.3A), and/or the support indication408 (FIG.4A)) that the second device supports the second communication channel received from the second device. The first device may receive the indication via the NFC.
In2208, the first device may transmit a selection handover message. In particular, the first device may transmit a selection handover message (such as the selection handover message310 (FIG.3A) and/or selection handover message414 (FIG.4A)) to the second device. The first device may transmit the selection handover message via the NFC. The selection handover message may include a first ECC key. The first ECC key may be a merchant ECC key in some embodiments. In some embodiments,2208 may be omitted.
In2210, the first device may detect a handover response message. In particular, the first device may detect a handover response message (such as the handover response message312 (FIG.3A) and/or the handover response message416 (FIG.4A)) received from the second device. The first device may receive the handover response message via the NFC. The handover response message may include a second ECC key in some embodiments. The second ECC key may be a customer ECC key in some embodiments. In some embodiments,2210 may be omitted.
In2212, the first device may establish a second communication channel. In particular, the first device may establish a second communication channel (such as the second communication channel114 (FIG.1)) with the second device. The second communication channel may be established via a channel setup procedure, such as the channel setup procedure352 (FIG.3B), the channel setup procedure452 (FIG.4B), and/or the channel setup procedure552 (FIG.5B). The second communication channel may be established based on the first ECC key, the second ECC key, a session name, a password, or some combination thereof. The second communication channel may implement a communication protocol different from the NFC. For example, the second communication channel may implement Wi-Fi, ultra-wideband, Bluetooth, or another wireless communication protocol different from the NFC. In some embodiments, the second communication channel may be established via a wide area and/or public network, such as the Internet. The use of the different protocol for the second communication channel may provide for a greater range of communication between the first device and the second device. For example, the second communication channel may have a second proximity (such as the second proximity608 (FIG.6)) for communication that is greater than the first proximity for communication via the NFC. Accordingly, the first device and the second device may communicate via the second communication channel at a greater distance than they can communicate via the NFC.
In2214, the first device may transmit a preliminary receipt. In particular, the first device may transmit a preliminary receipt (such as the preliminary receipt214 (FIG.2B) and/or the preliminary receipt808 (FIG.8A)) to the second device, where the preliminary receipt may indicate a value of the data transfer. For example, the preliminary receipt may indicate an amount that the merchant is charging for the goods and/or services. The first device may transmit the preliminary receipt in a service message (such as the service response message356 (FIG.3B), the supported services message456 (FIG.4B), and/or the supported services message556 (FIG.5B)). The first device may transmit the preliminary receipt via the second communication channel. In some embodiments,2214 may be omitted.
In2216, the first device may detect an indication of a value data. In particular, the first device may detect an indication of a value data received from the second device. The value data may be a value entered into the user input field at the second device by a user of the second device. In some embodiments, the value data may be a tip amount for the data transfer. The first device may receive the indication of the value data via the second communication channel.
In2218, the first device may complete the data transfer. In particular, the first device may complete the data transfer in accordance with the value data received from the second device. For example, the first device may perform a payment loop (such as the payment loop318 (FIG.3A), and/or the payment loop422 (FIG.4A)) and a payment authorization result (such as the payment authorization result320 (FIG.3A), and/or the payment authorization result424 (FIG.4A)) to complete the data transfer. The first device may perform the payment loop with the initial value for the data transfer without the value data, may perform the payment loop with a billable amount (which takes into account the value data) for the data transfer, or may perform portions of the payment loop with the initial value for the data transfer and other portions of the payment loop with the billable amount. In some embodiments, the billable amount may be generated by adding the value data to the initial value for the data transfer, such as where the value data is a tip amount. the first device may perform the payment loop with the billable amount for the data transfer for the double tap approach. The first device may perform the payment loop with the initial value for the data transfer, may perform the payment loop with the billable amount for the data transfer, or may perform portions of the payment loop with the initial value for the data transfer and other portions of the payment loop with the billable amount in some embodiments. The first device may complete the data transfer via the NFC. The completion of the data transfer may result in transfer of value (such as monetary compensation) from an account associated with the user of the second device to an account associated with the user of the first device.
FIG.23 illustrates anexample procedure2300 for a second device within a data transfer with a second communication channel in accordance with some embodiments. For example, theprocedure2300 may be performed by the data originating device104 (FIG.1), the data originating device204 (FIG.2A), the data originating device404 (FIG.4A), the data originating device504 (FIG.5A), and/or the data originating device704 (FIG.7) as part of a data transfer. The second device may be associated with a customer purchasing goods and/or services from a merchant for value. In some embodiments, the data transfer may be a payment transaction where monetary value is exchanged for the goods and/or services being provided by the merchant. Theprocedure2300, or portions thereof, may be performed as part of the data transfers described throughout this disclosure and may result in the display of the interfaces described throughout this disclosure on the data receiving device and/or the data originating device.
In2302, the first device may detect an indication that a second device supports a second communication channel. In particular, the first device may detect an indication (such as the handover support indication302 (FIG.3A) and/or the handover support indication406 (FIG.4A)) that a second device supports a second communication channel (such as the second communication channel114 (FIG.1)) received from the second device. The first device may receive the indication via a first communication channel, where the first communication channel may implement NFC.
In2304, the first device may provide an indication that the first devices supports the second communication channel. In particular, the first device may provide the indication (such as the support indication304 (FIG.3A) and/or the support indication408 (FIG.4A)) that the first device supports the second communication channel to the second device. The first device may provide the indication via the NFC.
In2306, the first device may detect a selection handover message. In particular, the first device may detect a selection handover message (such as the selection handover message310 (FIG.3A) and/or selection handover message414 (FIG.4A)) received from the second device. The second device may receive the selection handover message via the NFC. The selection handover message may include a first ECC key. The first ECC key may be a merchant ECC key in some embodiments. In some embodiments,2304 may be omitted.
In2308, the first device may transmit a handover response message. In particular, the first device may transmit a handover response message (such as the handover response message312 (FIG.3A) and/or the handover response message416 (FIG.4A)) to the second device. The first device may transmit the handover response message via the NFC. The handover response message may include a second ECC key in some embodiments. The second ECC key may be a customer ECC key in some embodiments. In some embodiments,2306 may be omitted.
In2310, the first device may establish the second communication channel. In particular, the first device may establish a second communication channel (such as the second communication channel114 (FIG.1)) with the second device. The second communication channel may be established via a channel setup procedure, such as the channel setup procedure352 (FIG.3B), the channel setup procedure452 (FIG.4B), and/or the channel setup procedure552 (FIG.5B). The second communication channel may be established based on the first ECC key, the second ECC key, a session name, a password, or some combination thereof. The second communication channel may implement a communication protocol different from the NFC. For example, the second communication channel may implement Wi-Fi, ultra-wideband, Bluetooth, or another wireless communication protocol different from the NFC. In some embodiments, the second communication channel may be established via a wide area and/or public network, such as the Internet. The use of the different protocol for the second communication channel may provide for a greater range of communication between the first device and the second device. For example, the second communication channel may have a second proximity (such as the second proximity608 (FIG.6)) for communication that is greater than the first proximity for communication via the NFC. Accordingly, the first device and the second device may communicate via the second communication channel at a greater distance than they can communicate via the NFC.
In2312, the first device may detect a preliminary receipt. In particular, the first device may detect a preliminary receipt (such as the preliminary receipt214 (FIG.2B) and/or the preliminary receipt808 (FIG.8A)) received from the second device, where the preliminary receipt may indicate a value of the data transfer. For example, the preliminary receipt may indicate an amount that the merchant is charging for the goods and/or services. The first device may receive the preliminary receipt in a service message (such as the service response message356 (FIG.3B), the supported services message456 (FIG.4B), and/or the supported services message556 (FIG.5B)). The first device may receive the preliminary receipt via the second communication channel. In some embodiments,2312 may be omitted.
In2314, the first device may display a user input field. In particular, the first device may display a user input field (such as the user input field108 (FIG.1), the first user input field216 (FIG.2B), the second user input field220 (FIG.2B), the first user input field810 (FIG.8A), and/or the second user input field814 (FIG.8A)) on a display of the first device. In some embodiments,2314 may be omitted.
In2316, the first device may detect a value data. In particular, the first device may detect a value data entered into the user input field displayed on the first device. The value data may be entered into the user input field by a user of the first device via user interaction with the first device. In some embodiments, the user input field may comprise a tip amount input field and the value data may comprise a tip amount for the data transfer. In some embodiments,2316 may be omitted.
In2318, the first device may provide an indication of the value data. In particular, the first device may transmit an indication of the value data to the second device. The first device may transmit the indication of the value data in a value data message (such as the value data message374 (FIG.3B)) or a get service message (such as the get service message460 (FIG.4B), and/or a get service message470 (FIG.4B)). The first device may transmit the value data message or the get service message via the second communication channel. In some embodiments, the indication of the value data may comprise an indication of the tip amount for the data transfer. The second device may utilize the value data indicated to in the indication to complete the data transfer.
IX. Example System ArrangementFIG.24 illustrates anexample system arrangement2400 in accordance with some embodiments. Thesystem arrangement2400 may perform one or more of the operations related to data transfers as described throughout this application. For example, thesystem arrangement2400 may allow devices to facilitate transfer of value from an account associated with one of the devices to an account associated with another of the devices. In some embodiments, thesystem arrangement2400 may facilitate a payment transaction where one device is associated with a merchant selling goods and/or services and another device is associated with a customer purchasing the goods and/or services with monetary value (or other legal tender).
Thesystem arrangement2400 may include adata originating device2402. Thedata originating device2402 may perform one or more of the operations performed by the data originating devices described throughout this disclosure, such as the data originating device104 (FIG.1), the data originating device204 (FIG.2A), the data originating device404 (FIG.4A), the data originating device504 (FIG.5A), and/or the data originating device704 (FIG.7). Thedata originating device2402 may comprise a computer device enabled for wireless communication.
Thedata originating device2402 may includememory2404. Thememory2404 may comprise one or more computer-readable media that can store items. In some embodiments, the computer-readable media may comprise non-transitory computer-readable media. Thememory2404 may store instructions associated with one or more of the operations described throughout this disclosure, as well as other elements described throughout this disclosure (such as value of the data transfer, the value data, the first ECC key, the second ECC key, or other elements described throughout this disclosure.
Thedata originating device2402 may further include one ormore processors2406. Theprocessors2406 may be coupled to thememory2404. Theprocessors2406 may execute the instructions stored on thememory2404 to perform one or more of the operations described throughout this disclosure. For example, the instructions, when executed by theprocessors2406 on thedata originating device2402, may cause thedata originating device2402 to perform one or more of the operations described throughout this disclosure.
Thedata originating device2402 may further include awallet application2408. Thewallet application2408 may be an application implemented by theprocessors2406 executing one or more of the instructions from thememory2404. Thewallet application2408 may store information for one or more accounts associated with a user of thedata originating device2402. Further, thewallet application2408 may store information associated with one or more data transfers performed with the accounts associated with the user of thedata originating device2402. Thewallet application2408 may facilitate the purchase of goods and/or services using thedata originating device2402, where the payment for the goods and/or services may be made from one or more of the accounts. Thewallet application2408 may interact with one or more applications on other devices to complete a data transfer.
Thesystem arrangement2400 may further include adata receiving device2410. Thedata receiving device2410 may perform one or more of the operations performed by the data receiving devices described throughout this disclosure, such as the data receiving device102 (FIG.1), the data receiving device202 (FIG.2A), the data receiving device402 (FIG.4A), the data receiving device502 (FIG.5), and/or the data receiving device702 (FIG.7). Thedata receiving device2410 may comprise a computer device enabled for wireless communication.
In some embodiments, thedata receiving device2410 may comprise essentially a same operating system as thedata originating device2402. For example, thedata receiving device2410 and thedata originating device2402 may both implement a mobile device operating system. In some embodiments, thedata receiving device2410 and thedata originating device2402 may comprise essentially the same hardware components. For example, thedata receiving device2410 and thedata originating device2402 may have the same type of core components (such as each having one or more processors, one or more memory devices, one or more wireless communication components, and a display), whereas the peripheral components may differ between thedata receiving device2410 and thedata originating device2402.
Thedata receiving device2410 may includememory2412. Thememory2412 may comprise one or more computer-readable media that can store items. In some embodiments, the computer-readable media may comprise non-transitory computer-readable media. Thememory2412 may store instructions associated with one or more of the operations described throughout this disclosure, as well as other elements described throughout this disclosure (such as value of the data transfer, the value data, the first ECC key, the second ECC key, or other elements described throughout this disclosure).
Thedata receiving device2410 may further include one ormore processors2414. Theprocessors2414 may be coupled to thememory2412. Theprocessors2414 may execute the instructions stored on thememory2412 to perform one or more of the operations described throughout this disclosure. For example, the instructions, when executed by theprocessors2414 on thedata receiving device2410, may cause thedata receiving device2410 to perform one or more of the operations described throughout this disclosure.
Thedata receiving device2410 may further include adata transfer application2416. Thedata transfer application2416 may be an application implemented by theprocessors2414 executing one or more of the instructions from thememory2412. Thedata transfer application2416 may provide a secure communication portal, or may interact with hardware of thedata receiving device2410 that provides a secure communication portal, for performance of at least a portion of the data transfer. For example, thedata transfer application2416 may communicate with thewallet application2408 via a first communication channel (such as the first communication channel112 (FIG.1)) and/or a second communication channel (such as the second communication channel114 (FIG.1)) to complete the data transfer.
Thesystem arrangement2400 may further include aPSP server2418. ThePSP server2418 may be maintained by a PSP that maintains an account associated with a user of thedata receiving device2410. For example, the PSP may be a financial institution that maintains the account associated with the user of thedata receiving device2410. ThePSP server2418 may maintain information for the account associated with the user of thedata receiving device2410 and may facilitate transfers between the account associated with the user of thedata receiving device2410 and other accounts. Thedata receiving device2410 may communicate with thePSP server2418 to complete the data transfer. For example, thedata receiving device2410 may communicate with thePSP server2418 to facilitate transfer of legal tender to or from the account associated with the user of thedata receiving device2410 in accordance with the data transfer.
Thesystem arrangement2400 may further include anacquirer server2420. Theacquirer server2420 may be associated with a financial institution that maintains an account associate with a user of thedata originating device2402. Theacquirer server2420 may maintain information for the account associated with the user of thedata originating device2402 and may facilitate transfers between the account associated with the user of thedata originating device2402 and other accounts. ThePSP server2418 may communicate with theacquirer server2420 to complete the data transfer. For example, thePSP server2418 may communicate with theacquirer server2420 to transfer legal tender from the account associated with the user of thedata originating device2402 to the account associated with the user of thedata receiving device2410 in accordance with a data transfer.
EXAMPLESIn the following sections, further exemplary embodiments are provided.
Example 1 may include a method, comprising detecting on a first communication channel, by a data receiving device, an initiation of a data transfer with a data originating device, providing on the first communication channel, by the data receiving device to the data originating device, an indication that the data receiving device supports a communication handover on a second communication channel for the data transfer, determining, by the data receiving device, that the data originating device supports the communication handover on the second communication channel based at least in part on an indication that the data originating device supports the communication handover on the second communication channel received on the first communication channel, determining, by the data receiving device, a value data based at least in part on an indication of the value data received on the second communication channel, determining, by the data receiving device, a transfer value for the data transfer based at least in part on the value data, and completing, by the data receiving device, the data transfer with the transfer value.
Example 2 may include the method of example 1, wherein the communication handover on the second communication channel provides support for available services.
Example 3 may include the method of any of examples 1 or 2, wherein the first communication channel supports communication within a first proximity, wherein the second communication channel supports communication within a second proximity, and wherein the first proximity is different from the second proximity.
Example 4 may include the method of any of examples 1-3, wherein detecting the initiation of the data transfer includes detecting, by the data receiving device, that the data originating device is located within a first proximity of the data receiving device, and wherein the method further comprises establishing, by the data receiving device, the second communication channel that allows the data receiving device to communicate with the data originating device when the data originating device is within a second proximity of the data receiving device, the second proximity larger than the first proximity.
Example 5 may include the method of any of examples 1-4, wherein the first communication channel implements first security, wherein the second communication channel implements second security, and wherein the first security is different from the second security.
Example 6 may include the method of any of examples 1-5, wherein the first communication channel implements near field communication (NFC), and wherein the method further comprises establishing, by the data receiving device, the second communication channel between the data receiving device and the data originating device, wherein the second communication channel implements a communication protocol different than the NFC.
Example 7 may include the method of example 6, wherein the communication protocol of the second communication channel is Wi-Fi.
Example 8 may include the method of example 6, further comprising providing, by the data receiving device to the data originating device, a selection handover message, wherein the selection handover message includes a first elliptic curve cryptography (ECC) key, and identifying, by the data receiving device, a second ECC key received in a handover response message received from the data originating device, wherein the second communication channel is established based at least in part on the first ECC key or the second ECC key.
Example 9 may include the method of example 6, wherein establishing the second communication channel is based at least in part on a session name and a password for the second communication channel.
Example 10 may include the method of any of examples 1-9, wherein the data receiving device is functioning as a point of sale (POS) device, and wherein the data originating device is functioning as a near field communication (NFC) payment device.
Example 11 may include the method of any of examples 1-10, wherein the data receiving device comprises essentially a same operating system as the data originating device.
Example 12 may include the method of any of examples 1-11, further comprising terminating, by the data receiving device, the second communication channel based at least in part on the completion of the data transfer.
Example 13 may include the method of any of examples 1-12, wherein providing the indication that the data receiving device supports the communication handover on the second communication channel includes providing, by the data receiving device, an indication that the data receiving device supports input of a tip amount for the data transfer at the data originating device.
Example 14 may include the method of any of examples 1-13, wherein determining that the data originating device supports the communication handover on the second communication channel includes determining, by the data receiving device, that the data originating device supports input of a tip amount for the data transfer at the data originating device.
Example 15 may include the method of any of examples 1-14, wherein the value data comprises a tip amount.
Example 16 may include the method of example 15, wherein determining the transfer value includes determining, by the data receiving device, the transfer value to be a preliminary receipt value plus the tip amount.
Example 17 may include the method of any of examples 1-16, further comprising providing, by the data receiving device to the data originating device, preliminary receipt data for display on the data originating device.
Example 18 may include one or more computer-readable media having instructions stored thereon, wherein the instructions, when executed by the data receiving device, cause the data receiving device to perform the method of any of examples 1-17.
Example 19 may include a system, comprising memory to store instructions, and one or more processors coupled to the memory, wherein the one or more processors are to execute the instructions to perform the method of any of examples 1-17.
Example 20 may include a method, comprising determining, by a data originating device based at least in part on an indication received on a first communication channel, that a data receiving device supports a communication handover on a second communication channel for a data transfer, providing on the first communication channel, by the data originating device to the data receiving device, an indication that the data originating device supports the communication handover on the second communication channel, and providing, by the data originating device to the data receiving device, an indication of a value data on the second communication channel, the value data to be utilized for completion of the data transfer with a transfer value based at least in part on the value data.
Example 21 may include the method of example 20, wherein the communication handover on the second communication channel provides support for available services.
Example 22 may include the method of any of examples 20 or 21, wherein the first communication channel supports communication within a first proximity, wherein the second communication channel supports communication within a second proximity, and wherein the first proximity is different from the second proximity.
Example 23 may include the method of any of examples 20-22, wherein the first communication channel implements first security, wherein the second communication channel implements second security, and wherein the first security is different from the second security.
Example 24 may include the method of any of examples 20-23, wherein the first communication channel implements near field communication (NFC), and wherein the method further comprises establishing, by the data originating device, the second communication channel between the data receiving device and the data originating device, wherein the second communication channel implements a communication protocol different than the NFC.
Example 25 may include the method of example 24, wherein the communication protocol of the second communication channel is Wi-Fi.
Example 26 may include the method of example 24, further comprising identifying, by the data originating device, a first elliptic curve cryptography (ECC) key included in a selection handover message received from the data receiving device, and providing, by the data originating device to the data receiving device, a handover response message that includes a second ECC key, wherein the first ECC key and the second ECC key are utilized to establish the second communication channel.
Example 27 may include the method of example 24, wherein establishing the second communication channel is based at least in part on a session name and a password for the second communication channel.
Example 28 may include the method of any of examples 20-27, wherein the data originating device is functioning as a near field communication (NFC) payment device, and wherein the data receiving device is functioning as a point of sale (POS) device.
Example 29 may include the method of any of examples 20-28, wherein the data originating device comprises essentially a same operating system as the data receiving device.
Example 30 may include the method of any of examples 20-29, wherein providing the indication that the data originating device supports the communication handover on the second communication channel includes providing, by the data originating device, an indication that the data originating device supports input of a tip amount for the data transfer at the data originating device.
Example 31 may include the method of any of examples 20-30, wherein determining that the data receiving device supports the communication handover on the second communication channel includes determining, by the data receiving device, that the data receiving device supports input of a tip amount for the data transfer at the data originating device.
Example 32 may include the method of any of examples 20-31, wherein the value data comprises a tip amount.
Example 33 may include the method of any of examples 20-32, further comprising displaying, by the data originating device, a user input field for input of the value data for the data transfer, and identifying, by the data originating device, the value data of the user input field received at the data originating device.
Example 34 may include the method of example 33, further comprising identifying, by the data originating device, preliminary receipt data received from the data receiving device, and displaying, by the data originating device, the preliminary receipt data with the user input field.
Example 35 may include one or more computer-readable media having instructions stored thereon, wherein the instructions, when executed by the data originating device, cause the data originating device to perform the method of any of examples 20-34.
Example 36 may include a system, comprising memory to store instructions, and one or more processors coupled to the memory, wherein the one or more processors are to execute the instructions to perform the method of any of examples 20-34.
Example 37 may include a method, comprising detecting, by a data receiving device, an initiation of a data transfer with a data originating device based at least in part on a first time that the data originating device has entered a proximity of the data receiving device, providing, by the data receiving device to the data originating device, an indication that the data receiving device supports a double tap data transfer, determining, by the data receiving device, that the data originating device supports the double tap data transfer based at least in part on an indication that the data originating device supports the double tap data transfer received from the data originating device, determining, by the data receiving device, a value data based at least in part on an indication of the value data received from the data originating device during a second time that the data originating device has entered the proximity of the data receiving device, determining, by the data receiving device, a transfer value for the data transfer based at least in part on the value data, and completing, by the data receiving device, the data transfer with the transfer value.
Example 38 may include the method of example 37, wherein the data receiving device provides the indication that the data receiving device supports the double tap data transfer based at least in part on the detection that the data originating device has entered the proximity of the data receiving device.
Example 39 may include the method of any of examples 37 or 38, further comprising determining, by the data receiving device, that the data originating device has entered the proximity of the data receiving device the second time, wherein the data receiving device completes the data transfer based at least in part on the determination of the second time that the data originating device has entered the proximity of the data receiving device the first time.
Example 40 may include the method of any of examples 37-39, wherein the data receiving device is functioning as a point of sale (POS) device, and wherein the data originating device is functioning as a near field communication (NFC) payment device.
Example 41 may include the method of any of examples 37-40, wherein the data receiving device comprises essentially a same operating system as the data originating device.
Example 42 may include the method of any of examples 37-41, further comprising determining, by the data receiving device, that the data originating device has entered the proximity of the data receiving device the second time, and providing, by the data receiving device to the data originating device, a transaction identifier during the first time that the data originating device has entered the proximity of the data receiving device, wherein the indication of the value data is received during the second time that the data originating device has entered the proximity of the data receiving device and is associated with the transaction identifier.
Example 43 may include the method of any of examples 37-42, wherein the value data comprises a tip amount, and wherein the indication of the value data comprises an indication of the tip amount.
Example 44 may include the method of example 43, wherein the indication that the data receiving device supports the double tap data transfer indicates that the data receiving device supports receipt of the indication of the tip amount by the data receiving device during the second time that the data originating device has entered the proximity of the data receiving device, and wherein the indication that the data originating device supports the double tap data transfer indicates that the data originating device supports transmission of the indication of the tip amount by the data originating device during the second time that the data originating device has entered the proximity of the data receiving device.
Example 45 may include the method of example 43, further comprising providing, by the data receiving device to the data originating device, preliminary receipt data during the first time that the data originating device has entered the proximity of the data receiving device, the preliminary receipt data for display on the data originating device, wherein the indication of the tip amount is received during the second time that the data originating device has entered the proximity of the data receiving device.
Example 46 may include the method of example 45, wherein the preliminary receipt data includes a preliminary receipt value, and wherein determining the transfer value includes determining, by the data receiving device, the transfer value to be the preliminary receipt value plus the tip amount.
Example 47 may include one or more computer-readable media having instructions stored thereon, wherein the instructions, when executed by the data receiving device, cause the data receiving device to perform the method of any of examples 37-46.
Example 48 may include a system, comprising memory to store instructions, and one or more processors coupled to the memory, wherein the one or more processors are to execute the instructions to perform the method of any of examples 37-46.
Example 49 may include a method, comprising determining, by a data originating device, that a data receiving device supports a double tap data transfer based at least in part on an indication that the data receiving device supports the double tap data transfer received from the data receiving device during a first time that the data originating device has entered a proximity of the data receiving device, providing, by the data originating device, an indication that the data originating device supports the double tap data transfer, and providing, by the data originating device to the data receiving device, an indication of a value data during a second time that the data originating device has entered the proximity of the data receiving device.
Example 50 may include the method of example 49, wherein the data originating device provides the indication that the data originating device supports the double tap data transfer during the first time that the data originating device has entered the proximity of the data receiving device.
Example 51 may include the method of any of examples 49 or 50, wherein the data originating device is functioning as a near field communication (NFC) payment device, and wherein the data receiving device is functioning as a point of sale (POS) device.
Example 52 may include the method of any of examples 49-51, wherein the data originating device comprises essentially a same operating system as the data receiving device.
Example 53 may include the method of any of examples 49-52, further comprising identifying, by the data originating device, an indication of a transaction identifier received from the data receiving device during the first time that the data originating device has entered the proximity of the data receiving device, and providing, by the data originating device to the data receiving device, the transaction identifier with the indication of the value data during the second time that the data originating device has entered the proximity of the data receiving device.
Example 54 may include the method of any of examples 49-53, wherein the value data comprises a tip amount, and wherein the indication of the value data comprises an indication of the tip amount.
Example 55 may include the method of example 54, wherein the indication that the data receiving device supports the double tap data transfer indicates that the data receiving device supports receipt of the indication of the tip amount by the data receiving device during the second time that the data originating device has entered the proximity of the data receiving device, and wherein the indication that the data originating device supports the double tap data transfer indicates that the data originating device supports transmission of the indication of the tip amount by the data originating device during the second time that the data originating device has entered the proximity of the data originating device.
Example 56 may include the method of any of examples 49-55, further comprising displaying, by the data originating device, a user input field for input of the value data, and identifying, by the data originating device, the value data received via the user input field displayed by the data originating device.
Example 57 may include the method of example 56, further comprising identifying, by the data originating device, preliminary receipt data received from the data receiving device, and displaying, by the data originating device, the preliminary receipt data with the user input field.
Example 58 may include one or more computer-readable media having instructions stored thereon, wherein the instructions, when executed by the data originating device, cause the data originating device to perform the method of any of examples 49-57.
Example 59 may include a system, comprising memory to store instructions, and one or more processors coupled to the memory, wherein the one or more processors are to execute the instructions to perform the method of any of examples 49-57.
Example 60 may include a method, comprising detecting, by a first device, an initiation of a data transfer with a second device, providing, by the first device to the second device, an indication that the first device supports a user input field at the second device for the data transfer, detecting, by the first device received from the second device, an indication that the second device supports the user input field at the second device, detecting, by the first device received from the second device, an indication of an value data of the user input field, the value data being entered into the user input field displayed on a display of the second device, and completing, by the first device, the data transfer in accordance with the value data received from the second device.
Example 61 may include the method of example 60, wherein providing the indication whether the first device supports a user input field includes providing, by the first device, an indication that the first device supports input of a tip amount for the data transfer at the second device.
Example 62 may include the method of any of examples 60 or 61, wherein detecting the indication that the second device supports the user input field includes detecting, by the first device, an indication that the second device supports input of a tip amount for the data transfer at the second device.
Example 63 may include the method of any of examples 60-62, wherein detecting the indication of the value data includes detecting, by the first device received from the second device, an indication of a tip amount of the user input field, the tip amount being entered into the user input field displayed on the display of the second device.
Example 64 may include the method of any of examples 60-63, wherein completing the data transfer includes completing, by the first device, the data transfer with a tip amount received from the second device, the tip amount being entered into the user input field displayed on the display of the second device.
Example 65 may include the method of any of examples 60-64, wherein the indication that the first device supports a user input field is provided via near field communication (NFC), and wherein detecting the indication of the value data includes establishing, by the first device, a secure channel between the first device and the second device via a communication protocol different than the NFC, and detecting, by the first device, the indication of the value data received from the second device via the secure channel.
Example 66 may include the method of example 65, wherein the communication protocol of the secure channel is Wi-Fi.
Example 67 may include the method of example 65, further comprising transmitting, by the first device to the second device, a selection handover message, wherein the selection handover message includes a first elliptic curve cryptography (ECC) key, and detecting, by the first device received from the second device, a handover response message, wherein the handover response message includes a second ECC key, wherein the secure channel is established based at least in part on the first ECC key or the second ECC key.
Example 68 may include the method of any of examples 60-64, wherein detecting the initiation of the data transfer with the second device includes detecting, by the first device, that the second device is located within a first proximity of the first device, and wherein detecting the indication of the value data includes establishing, by the first device, a secure channel that allows the first device to communicate with the second device when the second device is within a second proximity of the first device, the second proximity larger than the first proximity, and detecting, by the first device, the indication of the value data received from the second device via the secure channel.
Example 69 may include the method of any of examples 60-64, wherein detecting the initiation of the data transfer includes detecting, by the first device, that the second device has entered a proximity of the first device a first time, and wherein the method further comprises detecting, by the first device, a second time that the second device has entered the proximity of the first device, wherein the first device completes the data transfer based at least in part on the detection of the second time that the second device has entered the proximity of the first device.
Example 70 may include the method of any of examples 60-64, wherein detecting the initiation of the data transfer includes detecting, by the first device, that the second device has entered a proximity of the first device, wherein the first device provides the indication that the first device supports the user input field at the second device based at least on part on the detection that the second device has entered the proximity of the first device.
Example 71 may include the method of any of examples 60-64, further comprising providing, by the first device, a first elliptic curve cryptography (ECC) key to the second device, identifying, by the first device, a second ECC key received from the second device, and establishing, by the first device, a secure channel between the first device and the second device based at least in part on the first ECC key or the second ECC key, wherein the secure channel is utilized to cause the second device to display the user input field.
Example 72 may include the method of example 71, wherein establishing the secure channel is further based at least in part on a session name and a password for the secure channel.
Example 73 may include the method of example 71, wherein the user input field comprises a tip input field, and wherein the method further comprises providing, by the first device, a preliminary receipt to the second device via the secure channel to be displayed on the second device.
Example 74 may include the method of example 73, wherein completing the data transfer includes identifying, by the first device, a tip amount received from the second device via the secure channel, the tip amount being input into the tip input field at the second device by a user, and updating, by the first device, the preliminary receipt with the tip amount to produce a billable amount, wherein the billable amount is utilized for completing the data transfer.
Example 75 may include the method of example 71, wherein the indication that the first device supports a user input field at the second device is provided via near field communication (NFC), wherein the indication that the second device supports the user input field is received via the NFC, and wherein the NFC is separate from the secure channel.
Example 76 may include the method of any of examples 60-64, wherein detecting the initiation of the data transfer includes detecting, by the first device, that the second device has entered a proximity of the first device a first time, and wherein the method further comprises detecting, by the first device, that the second device has entered the proximity of the first device a second time, the second time being after the first time, and identifying, by the first device, the value data of the user input field received from the second device when the second device is within the proximity of the first device the second time.
Example 77 may include one or more computer-readable media having instructions stored thereon, wherein the instructions, when executed by the first device, cause the first device to perform the method of any of examples 60-76.
Example 78 may include a system, comprising memory to store instructions; and
one or more processors coupled to the memory, wherein the one or more processors are to execute the instructions to perform the method of any of examples 60-76.
Example 79 may include a method, comprising detecting, by a first device received from a second device, an indication that the second device supports a user input field at the first device for a data transfer, providing, by the first device to the second device, an indication that the first device supports the user input field at the first device, detecting, by the first device received from the second device, an indication of the user input field to be displayed on a display of the first device, displaying, by the first device on the display of the first device, the user input field, identifying, by the first device, a value data of the user input field received at the first device, and providing, by the first device to the second device, an indication of the value data for completion of the data transfer.
Example 80 may include the method of example 79, further comprising detecting, by the first device received from the second device, a selection handover message, identifying, by the first device, a first elliptic curve cryptography (ECC) key included in the selection handover message, and transmitting, by the first device to the second device, a handover response message, wherein the handover response message includes a second ECC key, and wherein the first ECC key and the second ECC key are utilized to establish a secure channel between the first device and the second device.
Example 81 may include the method of example 80, further comprising establishing, by the first device, the secure channel between the first device using the first ECC key and the second ECC key.
Example 82 may include the method of example 81, wherein establishing the secure channel is based at least in part on a session name and a password for the secure channel.
Example 83 may include the method of example 81, wherein the user input field comprises a tip input field, and the method further comprises detecting, by the first device received from the second device, a preliminary receipt via the secure channel, and displaying, by the first device on the display of the first device, the preliminary receipt with the user input field.
Example 84 may include the method of any of examples 79-83, further comprising establishing, by the first device, a secure channel between the first device and the second device, wherein the indication of the user input field to be displayed is received via the secure channel and the value data is provided to the second device via the secure channel.
Example 85 may include the method of example 84, wherein the indication that the second device supports the user input field is received via near field communication (NFC) and the indication that the first device supports the user input field is provided via the NFC, and a communication protocol of the secure channel is different from the NFC.
Example 86 may include the method of example 85, wherein the communication protocol of the secure channel is Wi-Fi.
Example 87 may include the method of any of examples 79-83, wherein detecting the indication that the second device supports the user input field includes detecting, by the first device, an indication that the second device supports input of a tip amount for the data transfer at the first device.
Example 88 may include the method of any of examples 79-83, wherein providing the indication that the first device supports the user input field includes providing, by the first device, an indication that the first device supports input of a tip amount for the data transfer at the first device.
Example 89 may include the method of any of examples 79-83, wherein identifying the value data includes identifying, by the first device, a tip amount of the user input field received at the first device.
Example 90 may include the method of any of examples 79-83, wherein providing the indication of the value data includes providing, by the first device, an indication of a tip amount of the user input field received at the first device, the indication of the tip amount for being provided for completion of the data transfer.
Example 91 may include the method of any of examples 79-83, wherein detecting the indication that the second device supports the user input field includes detecting, by the first device, the indication that the second device supports the user input field while the first device is located within a first proximity of the second device, and wherein the method further comprises establishing, by the first device, a secure channel between the first device and the second device, where the secure channel allows the first device to communicate with the second device when the first device is within a second proximity of the second device, wherein second proximity is larger than the first proximity, and wherein the indication of the value data is provided to the second device via the secure channel.
Example 92 may include the method of any of examples 79-83, wherein the first device is to provide the indication that the first device supports the user input field at the first device during a first time that the first device has entered a proximity of the second device, and wherein the first device is to provide the indication of the value data during a second time that the first device has entered the proximity of the second device, the second time after the first time.
Example 93 may include one or more computer-readable media having instructions stored thereon, wherein the instructions, when executed by the first device, cause the first device to perform the method of any of examples 79-92.
Example 94 may include a system, comprising memory to store instructions, and one or more processors coupled to the memory, wherein the one or more processors are to execute the instructions to perform the method of any of examples 79-92.
Example 95 may include a method, comprising detecting, by a first device, an initiation of a data transfer with a second device, providing, by the first device to the second device, an indication that the first device supports a secure channel for the data transfer, detecting, by the first device received from the second device, an indication that the second device supports the secure channel for the data transfer, and establishing, by the first device, the secure channel for communication of data related to the data transfer between the first device and the second device.
Example 96 may include the method of example 95, further comprising transmitting, by the first device to the second device, a selection handover message, wherein the selection handover message includes a first elliptic curve cryptography (ECC) key, and detecting, by the first device received from the second device, a handover response message, wherein the handover response message includes a second ECC key, and wherein the secure channel is established based at least in part on the first ECC key or the second ECC key.
Example 97 may include the method of example 96, wherein the secure channel is established based further at least in part on a session name and a password for the secure channel.
Example 98 may include the method of any of examples 95-97, wherein the initiation of the data transfer is detected via near field communication (NFC), and wherein establishing the secure channel includes establishing the secure channel via a communication protocol different than the NFC.
Example 99 may include the method of example 98, wherein the communication protocol of the secure channel is Wi-Fi.
Example 100 may include the method of any of examples 95-97, wherein detecting the initiation of the data transfer with the second device includes detecting, by the first device, that the second device is located within a first proximity of the first device, and wherein the secure channel allows the communication of the data between the first device and the second device within a second proximity, the second proximity being larger than the first proximity.
Example 101 may include the method of any of examples 95-97, further comprising transmitting, by the first device to the second device via the secure channel, a preliminary receipt for the data transfer, detecting, by the first device received from the second device via the secure channel, an indication of a tip amount for the data transfer, and completing, by the first device, the data transfer with the tip amount received from the second device.
Example 102 may include one or more computer-readable media having instructions stored thereon, wherein the instructions, when executed by the first device, cause the first device to perform the method of any of examples 95-101.
Example 103 may include a system, comprising memory to store instructions, and one or more processors coupled to the memory, wherein the one or more processors are to execute the instructions to perform the method of any of examples 95-101.
Example 104 may include a method, comprising detecting, by a first device received from a second device, an indication that a second device supports a secure channel for a data transfer, providing, by the first device to the second device, an indication that the first device supports the secure channel for the data transfer, and establishing, by the first device, the secure channel for communication of data related to the data transfer between the first device and the second device.
Example 105 may include the method of example 104, further comprising detecting, by the first device received from the second device, a selection handover message, wherein the selection handover message includes a first elliptic curve cryptography (ECC) key, and transmitting, by the first device to the second device, a handover response message, wherein the handover response message includes a second ECC key, and wherein the secure channel is established based at least in part on the first ECC key or the second ECC key.
Example 106 may include the method of example 105, wherein the secure channel is established based further at least in part on a session name and a password for the secure channel.
Example 107 may include the method of any of examples 104-106, wherein the indication that the second device supports the secure channel is received via near field communication (NFC), and wherein establishing the secure channel includes establishing the secure channel via a communication protocol different than the NFC.
Example 108 may include the method of example 107, wherein the communication protocol of the secure channel is Wi-Fi.
Example 109 may include the method of example 107, wherein the NFC has a first proximity for communication between the first device and the second device, and wherein the communication protocol of the secure channel has a second proximity for communication between the first device and the second device, the second proximity being larger than the first proximity.
Example 110 may include the method of any of examples 104-106, further comprising displaying, by the first device, a tip amount input field on a display of the first device, detecting, by the first device, a tip amount input into the tip amount input field, and providing, by the first device to the second device via the secure channel, an indication of the tip amount, the tip amount to be utilized for completion of the data transfer.
Example 111 may include the method of example 110, further comprising detecting, by the first device received from the second device via the secure channel, a preliminary receipt, and displaying, by the first device, the preliminary receipt on the display with the tip amount input field.
Example 112 may include one or more computer-readable media having instructions stored thereon, wherein the instructions, when executed by the first device, cause the first device to perform the method of any of examples 104-111.
Example 113 may include a system, comprising memory to store instructions, and one or more processors coupled to the memory, wherein the one or more processors are to execute the instructions to perform the method of any of examples 104-111.
As described above, one aspect of the present technology may relate to the gathering and use of data available from specific and legitimate sources to allow for interaction with a second device for a data transfer. The present disclosure contemplates that in some instances, this gathered data may include personal information data that uniquely identifies or can be used to identify a specific person. Such personal information data can include demographic data, location-based data, online identifiers, telephone numbers, email addresses, home addresses, data or records relating to a user's health or level of fitness (e.g., vital signs measurements, medication information, exercise information), date of birth, or any other personal information.
The present disclosure recognizes that the use of such personal information data, in the present technology, can be used to the benefit of users. For example, the personal information data can be used to provide for secure data transfers occurring between a first device and a second device. The personal information data may further be utilized for identifying an account associated with the user from a service provider for completing a data transfer.
The present disclosure contemplates that those entities responsible for the collection, analysis, disclosure, transfer, storage, or other use of such personal information data will comply with well-established privacy policies and/or privacy practices. In particular, such entities would be expected to implement and consistently apply privacy practices that are generally recognized as meeting or exceeding industry or governmental requirements for maintaining the privacy of users. Such information regarding the use of personal data should be prominent and easily accessible by users, and should be updated as the collection and/or use of data changes. Personal information from users should be collected for legitimate uses only. Further, such collection/sharing should occur only after receiving the consent of the users or other legitimate basis specified in applicable law. Additionally, such entities should consider taking any needed steps for safeguarding and securing access to such personal information data and ensuring that others with access to the personal information data adhere to their privacy policies and procedures. Further, such entities can subject themselves to evaluation by third parties to certify their adherence to widely accepted privacy policies and practices. In addition, policies and practices should be adapted for the particular types of personal information data being collected and/or accessed and adapted to applicable laws and standards, including jurisdiction-specific considerations that may serve to impose a higher standard. For instance, in the US, collection of or access to certain health data may be governed by federal and/or state laws, such as the Health Insurance Portability and Accountability Act (HIPAA); whereas health data in other countries may be subject to other regulations and policies and should be handled accordingly.
Despite the foregoing, the present disclosure also contemplates embodiments in which users selectively block the use of, or access to, personal information data. That is, the present disclosure contemplates that hardware and/or software elements can be provided to prevent or block access to such personal information data. For example, the present technology can be configured to allow users to select to “opt in” or “opt out” of participation in the collection of personal information data during registration for services or anytime thereafter. For example, a user may “opt in” or “opt out” of having information associated with an account of the user stored on a user device and/or shared by the user device. In addition to providing “opt in” and “opt out” options, the present disclosure contemplates providing notifications relating to the access or use of personal information. For instance, a user may be notified upon downloading an application that their personal information data will be accessed and then reminded again just before personal information data is accessed by the application. In some instances, the user may be notified upon initiation of a data transfer of the device accessing information associated with the account of the user and/or the sharing of information associated with the account of the user with another device.
Moreover, it is the intent of the present disclosure that personal information data should be managed and handled in a way to minimize risks of unintentional or unauthorized access or use. Risk can be minimized by limiting the collection of data and deleting data once it is no longer needed. In addition, and when applicable, including in certain health related applications, data de-identification can be used to protect a user's privacy. De-identification may be facilitated, when appropriate, by removing identifiers, controlling the amount or specificity of data stored (e.g., collecting location data at city level rather than at an address level), controlling how data is stored (e.g., aggregating data across users), and/or other methods such as differential privacy.
Therefore, although the present disclosure broadly covers use of personal information data to implement one or more various disclosed embodiments, the present disclosure also contemplates that the various embodiments can also be implemented without the need for accessing such personal information data. That is, the various embodiments of the present technology are not rendered inoperable due to the lack of all or a portion of such personal information data. For example, content can be selected and delivered to users based on aggregated non-personal information data or a bare minimum amount of personal information, such as the content being handled only on the user's device or other non-personal information available to the content delivery services.