Speculative transaction operations for recognized devices
Techniques are disclosed relating to speculatively processing transactions. A transaction processing system may receive an indication of a trigger event associated with an electronic transaction not yet initiated by a client computing device. In some embodiments, in response to the indication of the trigger event and prior to receiving an indication of the electronic transaction being initiated, the computer system begins speculative processing of the electronic transaction. In some embodiments, the speculative processing includes identifying the client computing device based on device authentication information received from the client device, determining a user account based on the identifier client computing device, retrieving account information for the determined account, and storing the retrieved account information. In response to receiving an indication of the electronic transaction being initiated, in some embodiments, the computer system performs one or more operations using the stored account information to complete the transaction.
1 . A method, comprising:
prior to receiving an indication of an electronic transaction being initiated by a user of a computing device:
receiving, by a server system, an indication of a user interface (UI) action taken with respect to a UI displayed via the computing device, wherein the UI is rendered via a program executing on the computing device;
predicting, by the server system based on at least the UI action, a time interval between the UI action and a time at which the user will initiate the electronic transaction;
selecting, by the server system based on the predicted time interval, one or more pre-transaction processing operations to be performed during server-side pre-transaction processing;
responsive to the predicting, the selecting, and the indication of the UI action, the server system performing server-side pre-transaction processing operations for the electronic transaction, wherein the electronic transaction is initiable via the UI but has not yet been initiated by the user, and wherein the server-side pre-transaction processing operations comprise:
identifying the computing device based on hardware identification information;
identifying, based on one or more user actions corresponding to the UI, one or more items of a plurality of items available for purchase via the UI; and
beginning an assessment of a risk of executing the electronic transaction prior to the user initiating the electronic transaction;
subsequent to beginning the assessment of the risk, receiving, by the server system, an indication that the user has selected a UI element displayed via the UI, wherein user selection of the UI element initiates the electronic transaction; and
approving, by the server system, the electronic transaction based on results of the server-side pre-transaction processing operations.
2 . The method of claim 1 , wherein the hardware identification information includes a security token transmitted by the computing device to the server system.
3 . The method of claim 1 , wherein the server-side pre-transaction processing operations further include determining a user account associated with the computing device.
4 . The method of claim 1 , further comprising:
caching, by the server system, the results of the server-side pre-transaction processing operations, wherein approving the electronic transaction is performed by the server system based on retrieving the cached results.
5 . The method of claim 1 , wherein the server-side pre-transaction processing operations for the electronic transaction further include:
detecting a current geolocation of the computing device; and
determining whether the detected current geolocation matches a registered geolocation of the user.
6 . The method of claim 1 , further comprising:
assigning a priority to the electronic transaction, wherein determining to begin the server-side pre-transaction processing operations for the electronic transaction is based on the assigned priority.
7 . The method of claim 1 , further comprising:
determining an availability of system resources of the server system, wherein determining to begin the server-side pre-transaction processing operations for the electronic transaction is based on the availability of system resources, wherein the availability of system resources includes an availability of computer processing resources for transaction processing.
8 . The method of claim 7 , wherein the UI action corresponds to at least one of a mouse action of the user or a touchscreen action of the user.
9 . The method of claim 1 , wherein the selecting further includes:
determining a number and types of operations to be performed during the server-side pre-transaction processing.
10 . A server system, comprising:
a processor; and
a non-transitory computer-readable medium having stored thereon instructions that are executable to cause the server system to perform operations comprising:
prior to receiving an indication of an electronic transaction being initiated by a user of a client computing device:
receiving an indication of a user interface (UI) action taken with respect to a UI displayed via the client computing device wherein the UI is rendered via a program executing on the client computing device;
predicting, based on at least the UI action, a time interval between the UI action and a time at which the user will initiate the electronic transaction;
selecting, based on the predicted time interval, pre-transaction processing operations to be performed during server-side pre-transaction processing;
responsive to the predicting, the selecting, and the indication of the UI action, performing server-side pre-transaction processing operations for the electronic transaction, wherein the electronic transaction is initiable via the UI but has not yet been initiated by the user, and wherein the server-side pre-transaction processing operations comprise:
identifying the client computing device based on hardware identification information;
identifying, based on one or more user actions corresponding to the UI, one or more items of a plurality of items available for purchase; and
beginning an assessment of a risk of executing the electronic transaction prior to the user initiating the electronic transaction;
subsequent to beginning the assessment of the risk, receiving an indication that the user has selected a checkout UI element displayed via the UI, wherein user selection of the checkout UI element initiates the electronic transaction; and
denying the electronic transaction based on a result of the assessment of the risk.
11 . The system of claim 10 , wherein the instructions are further executable by the processor to cause the system to perform operations comprising:
caching results of the server-side pre-transaction processing operations, wherein denying the electronic transaction is performed by the server system based on retrieving the cached results.
12 . The system of claim 10 , wherein the server-side pre-transaction processing operations for the electronic transaction further include one or more of:
determining a user account associated with the client computing device, data encryption corresponding to the electronic transaction, data retrieval corresponding to the electronic transaction, or generating a pre-authorization decision for the electronic transaction.
13 . The system of claim 12 , wherein the indication of the UI action further includes a security token corresponding to the client computing device, and wherein identifying the computing device is further based on the security token.
14 . The system of claim 10 , wherein the server-side pre-transaction processing operations for the electronic transaction further comprise:
detecting a current geolocation of the client computing device; and
determining whether the detected current geolocation matches a registered geolocation of the user.
15 . A non-transitory computer-readable medium having stored thereon instructions that are executable to cause a server system to perform operations comprising:
prior to receiving an indication of an electronic transaction being initiated by a user of a client computing device:
receiving an indication of a user interface (UI) action taken with respect to a UI displayed via the client computing device, wherein the UI is rendered via a program executing on the client computing device;
predicting, based on at least the UI action, a time interval between the UI action and a time at which the user will initiate the electronic transaction;
selecting, based on the predicted time interval, pre-transaction processing operations to be performed during server-side pre-transaction processing;
responsive to the predicting, the selecting, and the indication of the UI action, performing server-side pre-transaction processing operations for the electronic transaction, wherein the electronic transaction is initiable via the UI but has not yet been initiated by the user, and wherein the server-side pre-transaction processing operations comprise:
identifying the client computing device based on hardware identification information;
identifying, based on one or more user actions at the UI, one or more items of a plurality of items available for purchase; and
beginning an assessment of a risk of executing the electronic transaction prior to the user initiating the electronic transaction;
subsequent to beginning the assessment of the risk, receiving an indication that the user has selected a UI element displayed via the UI, wherein user selection of the UI element initiates the electronic transaction; and
approving the electronic transaction based on a result of the assessment of the risk.
16 . The non-transitory computer-readable medium of claim 15 , wherein the operations further comprise:
assigning a priority to the electronic transaction, wherein determining to begin the server-side pre-transaction processing operations for the electronic transaction is based on the assigned priority.
17 . The non-transitory computer-readable medium of claim 15 , wherein the server-side pre-transaction processing operations further include determining a user account associated with the client computing device.
18 . The non-transitory computer-readable medium of claim 17 , wherein performing server-side pre-transaction processing operations is further performed based on historical account information for the user including information regarding a plurality of previous transactions engaged in by the user account, wherein the user account corresponds to an electronic transaction processing service.
19 . The non-transitory computer-readable medium of claim 15 , wherein the one or more UI actions include the user adding the one or more items to an online shopping cart corresponding to the UI.
20 . The non-transitory computer-readable medium of claim 15 , wherein the operations further comprise:
caching results of the server-side pre-transaction processing operations, wherein denying the electronic transaction is performed by the server system based on retrieving the cached results.