Systems and methods of controlling devices to enable physical retail commerce embedded into non-retail applications
Patent Information
- Application Number
- EP2024751118
- Authority / Receiving Office
- EP · EP
- Patent Type
- Applications
- Current Assignee / Owner
- Priority Date
- 2023-02-03
- Filing Date
- 2024-02-02
- Publication Date
- 2025-12-10
AI Technical Summary
Existing retail commerce systems require users to exit non-retail applications or use third-party intermediaries for purchasing products, which complicates the shopping experience and compromises security by exposing personal and payment information.
A system that enables direct retail purchases within non-retail applications through API calls between an application server and retail entity systems, maintaining security by limiting communication exposure and using protected protocols, allowing users to shop and pay without leaving the application environment.
Enhances user convenience by enabling seamless product purchases within non-retail apps while ensuring enhanced security and privacy by controlling communications and protecting sensitive information.
Smart Images

Figure US2024014253_08082024_PF_FP
Abstract
Description
SYSTEMS AND METHODS OF CONTROLLING DEVICES TO ENABLE PHYSICAL RETAIL COMMERCE EMBEDDED INTO NON-RETAIL APPLICATIONSCROSS-REFERENCE TO RELATED APPLICATION
[0001] This application claims the benefit of U.S. Provisional Application Number 63 / 443,212, filed February 3, 2023, which is incorporated herein by reference in its entirety.TECHNICAL FIELD
[0002] This invention relates generally to embedded retail within non-retail software applications, including gaming applications.BACKGROUND
[0003] The desire to purchase products can occur and substantially time. Remote product purchasing has greatly simplified shopping for many. It is desirable to simplify the purchasing experience for potential customers.BRIEF DESCRIPTION OF THE DRAWINGS
[0004] Disclosed herein are embodiments of systems, apparatuses and methods pertaining to enabling users to purchase retail products. This description includes drawings, wherein:
[0005] FIG. 1 illustrates a simplified block diagram of an exemplary retail control system 100 that enables the purchase of products from a retail entity through one or more third party applications (APP) being executed on user computing devices, in accordance with some embodiments.
[0006] FIG. 2 illustrates a simplified functional block diagram of an exemplary purchase of one or more products through a purchasing system enabling purchasing of products within an application, in accordance with some embodiments.
[0007] FIG. 3 illustrates a simplified diagram of exemplary communication exchanges in accordance with some embodiments.
[0008] FIG. 4A illustrates a simplified block diagram of an exemplary user device executing an APP that is displaying an exemplary product look-up graphical user interface, in accordance with some embodiments.
[0009] FIG. 4B illustrates a simplified block diagram of an exemplary user device executing an APP that is displaying an exemplary purchase order up graphical user interface with exemplary selectable payment options, in accordance with some embodiments.
[0010] FIG. 4C illustrates a simplified block diagram of an exemplary user device executing an APP that is displaying an exemplary order confirmation graphical user interface within an APP, in accordance with some embodiments.
[0011] FIG. 5 illustrates a simplified block diagram of an exemplary user device executing an APP that is displaying a product look-up graphical user interface, in accordance with some embodiments.
[0012] FIG. 6 illustrates a simplified flow diagram of a process of controlling user computing devices to enable purchases, in accordance with some embodiments.
[0013] FIG. 7 illustrates an exemplary system for use in implementing methods, techniques, devices, apparatuses, systems, servers, sources and providing control over user computing devices to enable purchases within an APP, in accordance with some embodiments.
[0014] Elements in the figures are illustrated for simplicity and clarity and have not necessarily been drawn to scale. For example, the dimensions and / or relative positioning of some of the elements in the figures may be exaggerated relative to other elements to help to improve understanding of various embodiments of the present invention. Also, common but well-understood elements that are useful or necessary in a commercially feasible embodiment are often not depicted in order to facilitate a less obstructed view of these various embodiments of the present invention. Certain actions and / or steps may be described or depicted in a particular order of occurrence while those skilled in the art will understand that such specificity with respect to sequence is not actually required. The terms and expressions used herein have the ordinary technical meaning as is accorded to such terms and expressions by persons skilled in the technical field as set forth above except where different specific meanings have otherwise been set forth herein.DETAILED DESCRIPTION
[0015] The following description is not to be taken in a limiting sense, but is made merely for the purpose of describing the general principles of exemplary embodiments. Reference throughout this specification to “one embodiment,” “an embodiment,” “some embodiments”, “an implementation”, “some implementations”, “some applications”, or similar language means that a particular feature, structure, or characteristic described in connection with the embodiment is included in at least one embodiment of the present invention. Thus, appearances of the phrases “in one embodiment,” “in an embodiment,” “in some embodiments”, “in some implementations”, and similar language throughout this specification may, but do not necessarily, all refer to the same embodiment.
[0016] Generally speaking, pursuant to various embodiments, systems, apparatuses and methods are provided herein useful to control user devices through cooperative operation of multiple different system components geographically distributed over one or more communication and / or computer networks in enabling retail purchases directly within non-retail applications executed on user devices without a third party intermediary service. Instead, the application initiates API calls through direct communications between an application server and retail entity purchasing systems. The system provides enhanced security at least in part through API calls executed from the application, rather an API calls from the application being executed on user devices. Further security is provided in part by keeping user’s personal information and / or payment information between the end user and the retail and / or commerce platform, while limiting or preventing personal information from being exposed to an intermediary service or entity, including the source provider of the application through which the purchase is being executed.
[0017] FIG. 1 illustrates a simplified block diagram of an exemplary retail control system 100 that enables the purchase of products from a retail entity through one or more third party applications (APP) being executed on user computing devices 102 (e.g., smartphones, tablets, laptops, computers, gaming systems, user wearable devices, and / or other such devices) and provide at least some control over the user computing devices 102 to enable product purchases, in accordance with some embodiments. The retail entity sells numerous products. In some implementations, the retail entity sells products through one or more physical, brick-and-mortarstores, online sales, phone orders, kiosk sales and / or other such sales of products, in addition to the sales through the one or more third party APPs.
[0018] The retail control system 100 includes one or more purchasing systems 104 that each comprise and / or are implemented through one or more purchasing control circuit 106. In some embodiments, a purchasing system 104 includes multiple purchasing control circuits 106 that are communicatively coupled over one or more distributed communications and / or computer networks 108 (e.g., Internet, cellular network, Wi-Fi network, Bluetooth network, local area network (LAN), wide area network (WAN), other such communications and / or computing networks, or a combination of two or more of such networks). Further, in some implementations, the purchasing control circuits 106 can be distributed and / or geographically distributed over the distributed communications network 108, which can enable distributed processing, redundancy and / or other such benefits.
[0019] The retail control system 100, in some embodiments, further includes and / or is in communication with one or more databases. For example, the databases can include one or more product databases 110a of the retail entity, one or more inventory databases 110b of the retail entity, one or more application databases, one or more delivery resource databases, an application programming interface (API) database storing multiple different APIs, other such databases, or a combination of two or more of such databases. In some embodiments the product database 110a includes one or more product computer storage systems communicatively coupled with the distributed communication network 108 and stores product information comprising product identifying information for a plurality of different products, and sets of product characteristics information each corresponding to a respective one of the plurality of different products. The product characteristic information can include, for example, size information, dimensions information, weight information, ingredient information, color information, quantity information, purchase restriction information (e.g., age restriction, prescription requirement information, quantity restriction, legal restrictions, and / or other such restriction information), handling restrictions and / or instructions information, pricing information, related products information (e.g., pairing, relevance to, use with, often purchased with, etc.), other such information, or typically a combination of two or more of such information.
[0020] One or more inventory databases 110b of the retail entity, in some embodiments, comprises inventory computer storage systems communicatively coupled with the communication network 108 and store product quantity information at one or more locations and / or storage locations corresponding to each of at least a subset of the plurality of different products that are available from a respective one of each of multiple different retail facilities and / or locations. The inventory information, in some embodiments, may include pricing, shipment data, demand data, other such information, or a combination of such information relative to one or more of the products. The application databases, in some embodiments, may maintain information about interaction with one or more embedded applications to be executed on user devices through which users can implement purchases. Such information can include, but is not limited to, encryption information, application source information, product limits and / or characteristic restrictions associated with one or more applications and / or particular sequences and / or playback situations, other such information, or a combination of two or more of such information. The delivery resource databases can include, for example, information about delivery vehicles relative to one or more locations and / or facilities, delivery scheduling relative to one or more locations and / or facilities, resource capabilities and / or availabilities (e.g., expected and / or maximum product movement rates, product storage capabilities and / or availabilities, predicted future capabilities and / or availabilities (e.g., based on upcoming events, holidays, associate availabilities, etc.), other such factors, or a combination of two or more of such factors) relative to one or more locations and / or facilities, other such information or a combination of two or more of such information. Other databases may be included and / or accessible to the retail control system 100.
[0021] The purchasing system 104 can further be configured to communicate over the distributed communication network 108 with one or more third party application source servers 112 and / or systems. The third party application source servers can be operated by third party sources that are separate from, not part of and not controlled by the retail entity, and provides users with one or more respective applications 116 (APPs) that can be executed on the user computing devices 102. The applications that are supplied by the application source and executed on user devices and / or the servers provide third party services that are not associated with retail purchases, such as but not limited to gaming applications, social media applications,travel applications, entertainment source applications and / or other such applications. The below description, for simplicity, often refers to the third party application being a gaming APP that when executed on the personal user computing device 102 enables the user to interact with the APP and play the respective game. It will be appreciated by those skilled in the art that other applications can be configured to enable retail purchases directly from a retail entity as introduced above and further described below, and the retail control system 100 is not limited to gaming APPs 116. Further, the functionalities provided by the applications 116 can be intended to provide users with entertainment and / or services that are unassociated with retail purchases. The retail control system 100, however, enables the cooperation between the applications and an external retail entity to make purchases of products directly within the execution of the application without having to exit the application, access a separate internet website or otherwise use a third party intermediary service to coordinate shopping and purchase.
[0022] The purchasing system 104 communicates with the application source servers 112 and / or the applications 116 supply via the one or more communications networks 108 to supply product information, acquire user identification information, complete the purchase and / or communicate confirmation information of the purchase of one or more products initiated through a respective application 116. In some embodiments, the retail control system 100 includes and / or communicates with one or more payment source systems 118, such as but not limited to credit card services, gift card services, government payment program systems, banking systems, other such payment systems or a combination of two or more of such systems.
[0023] Further, the retail control system 100 can include and / or be in communication with one or more associate computing devices 130 and / or systems that can be used by associates of the retail entity. Communications can include directions, instructions, responses and / or other information about products, product retrieval, inventory information and / or other such relevant information. The retail control system 100 typically is further in communication with and / or includes one or more inventory systems 132 that at least in part tracks inventory levels of one or more products at one or more retail facilities. In some implementations, the inventory system communicates inventory availability information to the purchasing system 104 regarding products. Additionally or alternatively, the inventory system 132 in some implantations enables the ordering and / or tracking of shipments of products for one or more retail facilities. One ormore product retrieval systems 134 at one or more retail facilities may be included in and / or in communication with the retail control system 100. In some embodiments, the purchasing control circuits 106 can communicate purchase information to one or more inventory systems and / or retrieval systems and initiate product retrieval from a retail facility. Such retrieval may be in preparation for product delivery, product pickup or other method of providing a purchased product to a user.
[0024] In some embodiments, the retail control system 100 includes and / or can be in communication with one or more delivery control systems 136 each associated with one or more retail facilities from which products can be retrieved and delivered. The delivery control systems 136, at least in part, can be configured to schedule and manage product deliveries from the respective one or more facilities. In some implementations, for example, the delivery control system coordinates deliveries based on locations and allocates the collection of products to one or more particular vehicles, in part, in attempts to focus delivery routes and reduce travel times between deliveries. Other such factors can be taken into account by the delivery control systems 136 to manage delivery and control delivery systems and / or vehicles (e.g., trucks, vans, drones, third party delivery services, etc.).
[0025] As described above and further below, the purchasing system 104 is configured to enable purchasing of products directly within APPs 116 being executed on user computing devices 102. The APPs 116, in some embodiments, initiate one or more commerce API calls that trigger the purchasing system 104 to implement the respective API being called to enable a user to obtain product information and when desired complete a purchase of one or more products. In some embodiments, the APPs 116 include one or more API initiation calls that direct the source server 112 to directly communicate with the purchasing system 104. For example, the source servers 112 can directly communicate API calls to trigger the implementation of one or more respective APIs executable by one or more purchasing control circuits 106.
[0026] Similarly, the purchasing control circuits 106 can be configured to receive, over the distributed communication network 108, the one or more API calls. For example, in some embodiments, the purchasing control circuits can be configured to receive prepare order API calls directly from a third party application source server 112 (e.g., a gaming server,entertainment source server, social media server, etc.) that is separate from, not part of and not controlled by the retail entity. Further, this prepare order API call is received without a third party intermediary service that interfaces between the purchasing system 104 and the application source server 112 and / or APP 116. The prepare order API call, in some implementations, includes product identifying information of one or more products that a user of the user computing device 102 is attempting to purchase. Further, the prepare order API call is received typically without identifying a retail source from which the one or more products can be purchased. Again, this prepare order API call is, in some embodiments, initiated through the separate application 116 (e.g., gaming application) executed on a remote user computing device 102. As one non-limiting example, the purchasing control circuit 106 in receiving the prepare order API call, in some embodiments, receives the prepare order API call in response to an initiation through a user activation of a purchase option rendered within a graphical user interface of the gaming application executed on the remote user computing device and communicates with the separate gaming server 112 directing the separate gaming server to communicate the prepare order API call. Further, the gaming graphical user interface is typically the graphical use interface that is provided by the gaming application to enable the user to engage and participate in a game of the gaming application, whether individually playing or playing with and / or against one or more other users participating in the game through separate respective personal user computing devices.
[0027] The purchasing system 104, through one or more purchasing control circuit 106, can be configured to access the prepare order API and execute the prepare order API to obtain product information corresponding to a product to be purchased (e.g., selected through a graphical user interface implemented by the APP 116). In response to the execution of the prepare order API, the one or more purchasing control circuits 106 can communicate, over the distributed communication network 108, directly with the gaming server 112 (or other relevant application source server 112), a purchase order that includes at least some product information and to control the user computing device 102 through the gaming application 116 to render within the gaming graphical user interface a purchase order user interface and / or at least some of the product information. As one non-limiting example, the purchase order rendered within the graphical user interface of the gaming application 116 can identify the one or more productsintended to be purchased and pricing information, which may include tax information. The purchase order, in some embodiments, may additionally include delivery information when relevant (e.g., delivery location information, delivery cost information, estimated delivery date information and / or other such relevant delivery information). Other information may additionally or alternatively be provided in the purchase order, such as customer information, payment method information, payment options, options to provide delivery information and / or to request delivery, other such information and / or options, or a combination of two or more of such information and / or options. Accordingly, the purchasing system 104, through the APIs, provides control over the user computing device to control the gaming application 116 to provide the user with relevant purchasing information and / or provide the user with options in managing the purchase and eventual receipt of the one or more products.
[0028] The retail control system 100, in some embodiments, further enhances security and privacy by limiting or preventing communications directly between the purchasing system 104 and application 116 and user computing device 102. In some embodiments, at least some of the communications are restricted to exclusively between the gaming server 112 and the purchasing system 104, such as the place order API call. This can limit or avoid unauthorized purchases in an event of a hacking for the gaming application on the user computing device 102. Often, user computing devices 102 employ less security protections than source servers 112, and as such are typically more easily hacked than the servers. By limiting communications to direct communications between the gaming server 112 and the purchasing system 104, the system enhances security
[0029] Further, security can additionally be enhanced in part through the establishment of protected communication between purchasing system (e.g., implemented through one or more retail server executed by one or more purchasing control circuits 106) and the gaming server 112. In some embodiments, the purchasing control circuit 106 can be configured to establish a data protection communication protocol, over the distributed communication network 108, between the purchasing control circuit 106 and the third party gaming server 112 based on a protection key provided by the purchasing control circuit 106 to the gaming server 112. For example, one or more encryption keys can be exchanged and utilized by the gaming server 112 and / or the purchasing control circuit 106, which can subsequently be utilized in encrypting and / ordecrypting communications. This protection protocol and / or key is typically established prior to the prepare order API call being communicated. As such, the prepare order API call, in some embodiments, is received by the purchasing control circuit 106 in accordance with the protection communication protocol.
[0030] The purchasing control circuits can further be configured to complete a sale of one or more products. The completion of the sale of one or more products may be in response to receiving a confirmation directly from the gaming server 112, without a third party intermediary service. The confirmation, in some embodiments, is received in response to a confirmation action executed by the user through the gaming graphical user interface. For example, the gaming graphical user interface in cooperation with the rendering of the purchase order can provide the user with one or more selectable options, such as an option to accept authorize the purchase based on the purchase order, decline the purchase, postpone the purchase, request to continue shopping for one or more products, request to add one or more products to the purchase order, other such options or a combination of two or more of such options.
[0031] In some embodiments, a user can initiate a purchasing process by selecting an option within the gaming APP 116 that causes the gaming server 112 to communicate a product look-up API call. One or more of the purchasing control circuits 106 can receive the product look-up API call with a request to initiate shopping. The one or more purchasing control circuits 116 can execute the product look-up API, in response to receiving the product look-up API call, to access the product database 110a and identify products relevant to the gaming application. The products available for purchase through the APP 116 may be limited by one or more factors and / or conditions. In some embodiments, the one or more purchasing control circuits 106 executing the product look-up API in identifying products can be configured to identify a set of one or more products, of the plurality of products available through the retailer, that are predefined to be associated with the gaming application. For example, the gaming source may specify the predefined set of products that are to be potentially made available for purchase through the gaming APP 116. In some embodiments, the purchasing control circuit can be further configured to receive (e.g., with the product look-up API call) gaming status information regarding a status of playback within the game. Based on the status of playback, the purchasing control circuit can identify products of the set of multiple products that are associated with thestatus of playback. For example, the status of playback may identify a particular virtual location within the game and products predefined to be associated with that virtual location can be identified, the status of playback may identify one or more virtual items that have been retrieved during playback and one or more products may be identified based on the virtual items, a player may have acquired a certain number of points and / or reached a certain virtual level in the game and a set of predefined products may be associated with a range of points and / or the virtual level, other such product pre-associations or a combination of two or more of such predefined associations between playback status and available products. Additionally or alternatively, the retail entity may specify and / or exclude one or more product of the predefined set of products based on one or more factors. These factors can be inventory based, location based, customer association based, purchase history based, demand based, publicity based, other such factors, or a combination of two or more of such factors.
[0032] A purchasing control circuit 106 can further be configured to communicate, over the distributed communication network 108, directly to the gaming server 112 a product listing comprising a listing of one or more products and corresponding product information. The product listing can be used in controlling the user computing device 102 through the gaming APP 116 to render within the gaming graphical user interface a product listing interface comprising the listing of one or more products available from the retail entity. In some implementations the product information can include product name, image and / or graphical reorientation of the respective product, pricing, product identifying information (e.g., serial number, barcode number, etc ), characteristics of the product (e g., color(s), size, quantity, dimensions, etc.), other such product information or a combination of two or more of such product information. The product listing can be communicated in accordance with the secure protocol when relevant. The gaming server 112 can utilize the product listing to control the gaming APP 116 to display within the graphical user interface the product listing interface. By utilizing the gaming graphical user interface that gaming source entity can maintain control of how the product information of one or more products are rendered and appear to the user. As such, the gaming source entity can maintain a look and feel of the gaming environment while enabling the user to shop and purchase products directly from within the gaming APP. Additionally, by avoiding having to direct the user to a separate shopping website, whethercontrolled by the gaming entity or directed to a retail website, the gaming source entity keeps the user’s attention within the gaming environment.
[0033] In some embodiments, the prepare order API call received directly from the third party gaming server 112 can provide user information that may be used by one or more purchasing control circuits 106 to identify the user. In some implementations, the purchasing control circuit 106 can identify a registered retail customer that corresponds to the user information of the user playing the game (or otherwise interacting with the APP 116). The purchasing control circuit 106 can be configured to access retail customer account information from a customer database 110c that stores customer information associated with each of a plurality of different customers, such as but not limited to customer name, one or more addresses, one or more delivery addresses, one or more payment method information, one or more delivery preferences, purchase history information, product preferences, other such information, or a combination of two or more of such information. Further, the customer information for one or more retail customers can include a link between a gaming user account information (and / or other user identifier information corresponding to one or more other source providers) and a retail entity customer account exclusively associated with the user. Based on the corresponding retail entity customer account identified, the purchasing control circuit 106 can be configured to access retail entity account information from the customer database 110c and obtain customer information. Again, this customer information may include a payment method information that can be utilized by the purchasing control circuit 106 in the completion of the sale of one or more products selected through the gaming APP 116. For example, the purchasing control circuit 106 can obtain credit card payment information and utilize that credit card information in obtaining payment from one or more payment source systems 118, such as a credit card company.
[0034] In other implementations, the user participating in the gaming may not have a retail customer profile and / or may not otherwise have payment method information retained by and / or available to the retail entity. Payment method information, in some instances, can be provided by the user directly with a graphical user interface within the gaming environment provided by the gaming APP 116. In some embodiments, the retail control system 100 further enhances security where at least some of the payment method information provided by the userthrough the gaming APP 116 can be protected directly by the gaming APP 116 prior to any communication of this payment method information to the gaming server 112, which in turn forward the protected payment method information to the purchasing system 104. One or more of the purchasing control circuits 106 can be configured to receive, from the gaming server 112, protected payment method information that is protected by the gaming application executed on a remote user computing device 102. The protection can include encryption, encoding, obfuscation, identity based protection, steganography, password protection, other such protection techniques or a combination of two or more protection techniques. In some embodiments, the gaming server 112 is unable to overcome the one or more protection techniques applied by the gaming application, and the information is maintained protected from the gaming server and / or other third parties. For example, gaming server 112 is typically unable to decrypt the encrypted payment method information. The purchasing control circuit 106, however is the intended recipient and is configured to decrypt or otherwise access the protected payment method information, and utilize the payment method information in the completion of the sale of one or more products.
[0035] In some embodiments, one or more of the purchasing control circuits 106 receive, in response to the purchase order and user interaction through the gaming APP with the rendered populated purchase order, a place order API call communicated directly from the gaming server 112 and that includes an authorization to complete the purchase. Based on the authorization received through the place order API call, one or more of the purchasing control circuits 106 execute the place order API to complete the sale based on the product identifying information of the one or more products that user has authorized for purchase, and the relevant customer information. The purchasing control circuit 106 can further obtain payment method information (e.g., from customer account and / or profile information, acquired from received protected payment method information and / or other such methods, and utilize the payment method information to acquire payment for the one or more products being purchased. For example, a total cost may be calculated based on the cost of one or more products, any discounts, taxes, delivery costs, and / or other potential costs, and the total cost be provided to a third party payment source system 1 18 (e.g., a credit card company, a banking entity, etc.). Typically, thepurchasing control circuit 106 receives a confirmation of received payment (e g., from payment source system 118).
[0036] FIG. 2 illustrates a simplified functional block diagram of an exemplary purchase of one or more products through a purchasing system 104 enabling purchasing of products within an application 116, in accordance with some embodiments. The APP 116 can be a gaming application, virtual experience application and / or other such applications that can be executed on a user computing device 102 and that is configured to enable a user to participate in an electronic game, virtual experience or the like, in accordance with some embodiments. While participating in the game provided through the gaming APP 116, the APP 116 provides a user with an opportunity to purchase and / or shop for one or more physical products. In some instances, the opportunity is limited to a virtual position and / or a playback status that does not interfere with the continued play of the game. For example, the game may be at a transition point between virtual locations within the gaming environment, may be at a transition point between levels of the game, may be at an end of the game or a portion of the game, and / or other such gaming conditions. Additionally or alternatively, the gaming environment may provide the user with an option to activate the purchase and / or shopping experience within the gaming environment. Typically, the retail entity does not control the appearance of graphical user interface, and instead the graphical user interface provided to the user is managed by the gaming application 116 to be consistent with gaming graphical user interface. Further, the ability to shop for products from within the gaming APP can be performed while the gameplay is being conducted and without pausing, delaying, or interrupting the gameplay. Again, the availability of the shopping option may be restricted to times that would not adversely affect or interfere with playback, particularly when the playback is associated with one or more other users cooperatively playing the game. Other games, however, may enable the shopping option at substantial any time during playback, such as games where the user is playing by themselves, the action of the game can be temporarily paused, and / or other such instances.
[0037] In some embodiments, the gaming APP 116 integrates Commerce API activations. This functionality enables users to purchase real, physical goods without leaving the game experience, and using the gaming APP user interface. By utilizing the gaming APP user interface, the gaming source maintains control over the shopping experience as well as the lookand feel of the gaming experience to continue the user’s association with the gaming APP. In some embodiments, the gaming APP 116 is configured with one or more API calls and / or call triggers that cause the gaming server to initiate intended API calls to the intended retail entity. The gaming APP 116, in some embodiments, enables the API calls through one or more creator tools (e.g., Unity (TM), Unreal Engine (TM), Lightship (TM) and / or other such creator tools), enabling the integration directly within the executed APP 116. In some embodiments, the APP 116 and / or a user through the APP initiates a product look-up API activation 204. The gaming server 112 communicates the product look-up API call 206 to the purchasing system 104. In some embodiments, the product look-up API call includes information to confirm the identity of the gaming server 112 and / or security of the API call. For example, the product look-up API call may include and / or be configured according to a security signature, key, token or the like (e.g., a signature based on an Rivest-Shamir-Adleman (RSA) key, such as an SHA-256withRSA).
[0038] In some embodiments, one or more of the purchasing control circuits 106 execute the product look-up API 208 to identify products relevant to the gaming application and access the product database 110a to acquire relevant product information for each of the one or more products relevant to the APP 116, the user, the gaming status and / or other relevant factors. The one or more purchasing control circuits 106 can generate a product listing that includes a listing of the identified one or more products, and in some implementations further information about the products (e.g., characteristics, pricing, availability, etc.). The one or more purchasing control circuits 106 in some embodiments further evaluates relevant product parameters such as availability, availability relative to a particular location, demand, shipping information and / or other such relevant parameters in determining whether to include or exclude one or more products from a product listing. In some implementations, user information may be provided that can be used to further filter products in determining whether to include and / or exclude from the product listing (e.g., consideration of purchase history, preferences, location, expected delivery preferences, etc.).
[0039] The purchasing control circuit 106 can communicate the product listing 210 over the distributed communication network 108 directly to the gaming server 112, which can be routed to the gaming APP 116 to control the user computing device 102 through the gaming application to display within the gaming graphical user interface a product listing interfacecomprising a listing of one or more products available from the retail entity. In some embodiments, the gaming graphical user interface in displaying the available products can include selectable options enabling the user to select products to purchase and / or for which to access additional product information. Some embodiments, the product listing interface optionally includes a purchase option that triggers the purchase of the one or more desired products (e.g., selected products added to a virtual cart within the gaming APP). The gaming APP 116 can optionally communicate a prepare order API trigger 212 in response to the selection of one or more products indicated as intended to be purchases. In some embodiments, the prepare order API trigger 212 is communicated to the gaming server and causes the gaming server 112 to generate and communicate a prepare order API call 214 directly to the purchasing system 104 without the need for a third party intermediary entity or service to facilitate the identification of a retail entity to source the one or more products, the added complexity to establish secure communications through the third party intermediary, and / or facilitate payment.
[0040] The prepare order API call 214 is received by the purchasing system 104. In some embodiments, the purchasing system 104 may authenticate the API call, such as through a get attestation bearer token API 216 (e.g., JSON web token), cryptographic certificates, bound tokens, access code and / or other such authentication. The prepare order API 220 can be activated by one or more purchasing control circuits 106 in response to the prepare order API call received directly from the gaming server 112. The products intended to be purchased can be identified from the prepare order API call, and in some embodiments user information is obtained from the API call. The purchasing control circuit, in executing the prepare order API 220, can access the product database 110a, inventory database 110b and / or other relevant information to obtain product pricing, availability and / or other product information corresponding to the one or more products identified and intended to be purchased. This product information can be incorporated to a product order that is recognizable and / or parsable by the gaming server 112.
[0041] In some embodiments, the place order API call further includes user identification information, such as a gaming server user account name or number. Typically, this gaming server user account number is specific to the gaming server and used by the gaming server to store information relative to the particular user, playback status for the particular user and / or other relevant information. In some embodiments, the user can separately access a retail useraccount and / or profile information separate from the gaming server, such as through a retail website exclusively associated with the retail entity and independent of the gaming server. The user can log-in to a user account provided by the retail entity website or other secure method, which is separate from the gaming server, and establish a link between the gaming server account number and the retail user account and / or profile. Accordingly, the retail entity can identify the user as a retail entity customer and access customer information without having to distribute customer identifying information and / or without the user having to provide information to the gaming server. Further, in some implementations, the retailer entity can maintain payment information and / or personal identifying information (PII) so that personal information and / or payment information does not have to be communicated from the gaming server 112. Further, in some embodiments, payment is implemented at the retail entity and the gaming server does not have to fund purchase and operate as a payment intermediary between the user and the retail entity, or obtain reimbursement payment from user. Instead, the retail entity obtains payment separate from the gaming server. This, in part, enhances security of retail customer information and / or simplifies the interactions between the gaming server 112 and the purchasing system 104, and / or reduces the information having to be communicated between the gaming server 112 and the purchasing system 104, reduced bandwidth usage and / or other such advantages. Additionally or alternatively, the user may authorize the gaming server and / or retail entity to exchange information that enables the retail entity to establish a link between the gaming user account and the retail customer account (e g., communicate a unique identifier to the gaming server that can subsequently be used by the gaming server as user identifying information).
[0042] The product order 222 and / or order information is communicated over the distributed communication network 108 directly to the gaming server 112. Some or all of the product order is provided 224 by the server to the gaming APP 116 and configured to control the user computing device 102 through the gaming application 116 to render within the gaming graphical user interface a purchase order user interface. The purchase order user interface can include the purchase order or some or all of the product information corresponding to the one or more products intended to be purchased from the retail entity and provided through the purchase order. For example, the purchase order interface displayed through the gaming graphical userinterface can include for the one or more products, one or more images and / or graphical representations of the product, product name, pricing, tax information, shipping information, delivery address information, other such information, or a combination of two or more of such purchase order information. Further, in some applications, the purchase order may provide some payment identifying information about a method intended to be used for payment and / or may provide payment identifying information for multiple potential payment methods and the user interface may allow the user to select one of the multiple options. For example, the retail entity through a customer profile may have two credit cards and a gift card on record as available for use in payment, and include options in the purchase order of these three potential methods of payment.
[0043] In some embodiments, the user can review products in the purchase order intended to be purchased. In some implementations, the user interface may allow the user to remove one or more products from the purchase order, adjust a quantity, add one or more products and / or otherwise modify the purchase order, which may include one or more exchanges between the gaming server and the purchasing system 104. Additionally or alternatively, the gaming graphical user interface, in some embodiments, further enables the user to authorize the purchase of one or more products (e.g., through the selection of one or more displayed options). In response, the gaming application 116 communicates an authorization trigger 226 to the gaming server 112. In some embodiments, the place order API call includes information to identify the one or more products authorized to be purchased, such as but not limited to a purchase order identifier, identifiers of the one or more products intended to be purchased and / or other such methods of identification. In many instances, the user does not need to provide payment information because the retail entity already has payment information. Some embodiments may further enable the user to provide payment method information. For example, in some embodiments, the authorization user interface may provide the user with an option to enter one or more payment methods, and the gaming APP 116 can be configured to apply encryption and / or one or more other protection methods to protect the payment method information such that the gaming server 112 and / or intermediary hacking cannot access the one or more payment methods provided.
[0044] The gaming server can be configured to issue a place order API call 228 to the purchasing system 104, such as through a get attestation bearer token API 216. In some embodiments, the purchasing system 104 may authenticate the API call. In response to the place order API call, one or more purchasing control circuits 106 implement a place order API 230 that completes the purchase and / or authorizes the acquisition of payment in completing the purchase of the one or more products. This purchase completion typically utilizes the retail entities known standard purchasing techniques, such as but not limited to acquiring payment by communicating with one or more payment source systems 118 and / or payment services (e.g., credit card companies, gift card companies, etc.).
[0045] The purchasing system 104, in executing the place order API 230, in some embodiments, is configured to generate one or more order results 232. The order results 232 can comprise a confirmation of purchase, one or more errors, expected delivery date, delivery location, and / or other relevant information corresponding to the authorization to purchase. The errors can include payment method failure, insufficient funds available (e.g., gift card, prepaid card, etc.), legal restriction issues, age restriction issues, issues that prevented the completion of the purchase, issues that have to be addressed before the purchase can be finalized, other such errors, or a combination of two or more of such errors. Alternatively and / or additionally, the purchasing system 104 can receive confirmation of payment and can generate one or more order results 232 and / or purchase confirmations that can be communicated to the gaming server 112, which typically include identifying information of the user and / or a purchase exchange identifier assigned by the APP 116 and / or the gaming server 112 in response to one or more of the product look-up trigger and / or product look-up API call, purchase order trigger and / or place order API call, and / or other part of the purchasing process. The gaming server 112 can, in some implementations, forward some or all of the purchase confirmation to the gaming APP 116 where some or all of the order results 232 can be rendered through the gaming APP graphical user interface. In some embodiments, the purchasing system 104 additionally or alternatively forwards some or all of the order results 232 through one or more other communication methods (e.g., text message, email, automated phone call, etc.). In some instances, a purchase order is not returned and instead a purchase is completed. A confirmation of purchase can be providedthrough the gaming server 112 and / or one or more other methods of communication (e.g., text, email, etc.).
[0046] FIG. 3 illustrates a simplified diagram of exemplary communication exchanges in accordance with some embodiments. The third party source server 112 (e.g., gaming server) communicates the product look-up API call 206, typically in response to the APP 116 initiating the product look-up and / or a notification from the operation of the APP (e.g., a particular point in playback, a transition to a particular user interface, a reaction to an input, a reaction to receiving information from another source, etc.). The purchasing system 104 initiates the product look-up API 208 that uses relevant information provided in the API call (e.g., the APP, playback status, user information, information currently rendered in the APP, other such information, or a combination of two or more of such information) to identify one or more products and generate the product look-up information that is used to populate a product listing user interface. The product look-up API 208 is executed by one or more purchasing control circuits 106 and return a product listing 210 and / or product listing interface information to the third party source server 112 to control the user computing device 102 to render a product look-up graphical user interface within an exemplary gaming environment.
[0047] FIG. 4A illustrates a simplified block diagram of an exemplary user device 402 (e.g., mobile phone) executing an APP that is displaying an exemplary product look-up graphical user interface 404 with information about one or more products identified through the product look-up API 208, in accordance with some embodiments. FIG. 5 illustrates a simplified block diagram of an exemplary user device 502 (e.g., desktop computer) executing an APP that is displaying a product look-up graphical user interface 404 with information about one or more products 505-507 identified through the product look-up API 208, in accordance with some embodiments.
[0048] Referring to FIGS. 2-3, the third party server 112 in response to receiving the selection of one or more products from the APP 116, communicates a prepare order API call 214 in response to user selection through the product look-up graphical user interface of one or more products and a prepare order API trigger 212. In some embodiments, a get authentication bearer token API 216 can be activated by the purchasing system 104 to exchange 218-219 security protocols, signatures, tokens and / or other such security confirmations. One or more purchasingcontrol circuits 106 implement the prepare order API 220 in response to the prepare order API call, and when relevant the security confirmation, and returns the product order 222 to the third party server 112, which in some implementations may include product image and / or graphical representation, product price, tax, total price, expected delivery date, shipping and / or delivery fees, or other such information or a combination of two or more of such information. When the user authorizes purchase, the third party server 112 in some embodiments communicates a place order API call 228. Again, some embodiments implement one or more security exchanges, such as the purchasing system initiating one or more get authentication bearer token APIs 216 to exchange security protocols, signatures, tokens and / or other such security confirmations with the third party server 112 and / or APP 116. In some implementations, the purchase order causes a purchase user interface to be rendered within the APP graphical user interface. This can include requesting the user to select a method of payment. FIG. 4B illustrates a simplified block diagram of an exemplary user device 402 (e.g., mobile phone) executing an APP that is displaying an exemplary purchase order up graphical user interface 406 within an APP user graphical interface with exemplary selectable payment options 408, in accordance with some embodiments.
[0049] Still referring to FIG. 3, in some embodiments, one or more purchasing control circuits 106 can be configured to implement the place order API 230 in response to the place order API call 228 and complete the sale of the one or more products and acquire payment. The purchasing system 104 can, in some embodiments, return order results 232 (e.g., confirmation, receipt, errors, etc.). FIG. 4C illustrates a simplified block diagram of an exemplary user device 402 (e.g., mobile phone) executing an APP that is displaying an exemplary order confirmation graphical user interface 412 within an APP user graphical interface with exemplary information about the completed purchase, in accordance with some embodiments.
[0050] In some embodiments, the purchasing system 104 further utilizes some or all of the order results 232 and / or other relevant information to control one or more of the inventory system 132, retrieval system 134 and / or delivery control system 136. As one non-limiting example, the purchasing system can communication product identifying information for one or more products purchased by the user to the retrieval system 134 to control the retrieval system to retrieve one or more products from one or more locations within one or more retail facilities. The retrieval system may retrieval robots and / or drones that move though a retail facility toretrieve products (e g., some embodiments incorporate the some or all of the storage and retrieval systems, vehicles, methods and / or processes described in U.S. Patent No. 10,769,587 entitled SYSTEMS AND METHODS OF STORING AND RETRIEVING RETAIL STORE PRODUCT INVENTORY, some or all of U.S. Patent No. 11,179,845 entitled DISTRIBUTED AUTONOMOUS ROBOT INTERFACING SYSTEMS AND METHODS, U.S. Patent No. 10,280,054 entitled SHOPPING FACILITY ASSISTANCE SYSTEMS, DEVICES AND METHODS, and / or some or all of U.S. Patent Application Publication No. 2019 / 0333006, entitled SYSTEM AND METHOD FOR AUTOMATED FULFILLMENT OF ORDERS IN A FACILITY, U.S. Patent Application Publication No. 2022 / 0355963, entitled SYSTEMS AND METHODS FOR ASSEMBLING UNPACKED MERCHANDISE IN CONTAINERS which are each incorporated herein by reference in their entirety). The retrieval system may additionally or alternatively include conveyor systems and / or conveyor belts, rolling conveyors, rail systems, forklift systems, product sorting systems, product packaging systems. Still further, some embodiments additionally and / or alternatively communicate with and control one or more associate computing devices 130 (e.g., computers, laptops, smartphones, smart wearable systems, tablets, navigation systems, vehicle control systems, and / or other devices) to provide instructions to one or more retail facility associates to retrieve, package, route, transport, delivery and / or other such functions in the retrieval of products and getting those products to the customer. Similarly, in some embodiments, the purchasing system 104 communicates with and / or controls one or more delivery control systems to implement the delivery of products. The delivery control systems can include computers and / or servers that direct the delivery of retail products and / or the vehicles, robots, drones and / or other such devices utilized in the delivery of products. The purchasing system 104, in some embodiments, further communicates with and / or controls one or more inventory systems providing information about purchased products and / or directly the replenishment of products based on movement of products at one or more retail facilities as a result of retail product sales.
[0051] FIG. 6 illustrates a simplified flow diagram of a process 600 of controlling personal user computing devices to enable purchases, in accordance with some embodiments. The process 600, in some embodiments enables users to purchase retail products directly from one or more retail entities from within an APP 116 that is provided by an application sourceentity that is separate from, not a subsidiary of, not controlled by and generally unassociated with the one or more retail entities. Instead, the APP cooperates with a source server 112 through a graphical user interface directly within the APP that enables direct interaction between the source server 112 and the retail entity through direct API calls to cause execution of those APIs within the retail purchasing systems. In some embodiments the process 600 includes optional step 602 where a data protection communication protocol is established between the purchasing control circuit and the third party gaming server for communications over the distributed communication network. The protection can be based on a protection key provided by the purchasing control circuit 106 to the gaming server 112, encoding, signatures, other such protection, or a combination of two or more types of data and / or communication protection.
[0052] The process 600, in some embodiments, includes step 604 where the purchasing system 104 receives a product look-up API call from the from the gaming server 112 with a request to initiate shopping for one or more products, which are typically associated with the APP 116 being implemented on the user computing device 102. In step 606, one or more purchasing control circuits 106 can execute the product look-up API in response to receiving the product look-up API call, and access the product database to identify products relevant to the APP 116 (e.g., gaming application, social networking APP, social media APP, entertainment APP, etc.). The purchasing system 104 generates a product listing based on the access to the databases. The generation of the product listing, in some implementations, further includes the purchasing system 104 receiving APP status information regarding a current status of implementation of the execution of the APP 116 at the time of initiating the product look-up. For example, the purchasing system can receive gaming status information regarding a status of playback within a game APP 116, receiving media playback status information from a media playback APP, receiving social network status information from a social network APP and / or other such status information corresponding to the APP 116 being utilized. Accordingly, the one or more purchasing control circuits 106, in identifying the set of multiple products, can limit products to identify products of the set of multiple products based on the status of playback. This reduces the number of products for which product information is provided to the user so that the products identified are more relevant to the APP 116 and / or the current status of the APP. Additionally or alternatively, other filtering can be applied in identifying and / or limitingproducts that can be listed in the product listing, such as but not limited to type of user computing device, customer profile information (e.g., purchase history, purchase history relative to the APP, preferences, current customer location, expected delivery location, other such factors, or a combination of two or more of such factors).
[0053] In step 608, a product listing can be communicated by one or more purchasing control circuits 106 over the distributed communication network 108 directly to the third party application source server 112 to control the user computing device 102 through the APP 116 to render within an application graphical user interface (e.g., a gaming application graphical user interface through which the user participates in the virtual game) a product listing interface comprising the listing of one or more products available from the retail entity. The product listing can further include corresponding product information associated with one or more of the products in the product listing. In some embodiments, the execution of the product look-up API 208 in identifying the products can include the identification of a set of multiple products of the plurality of products that are predefined to be associated with the APP 116 currently being used by the user on the user computing device 102.
[0054] In step 610, a prepare order API call can be received at a purchasing control circuit 106, from over a distributed communication network 108, directly from the third party server 112 (e.g., gaming server, social networking server, etc.) and without a third party intermediary service. The prepare order API call, in some embodiments, comprises product identifying information of one or more products without identifying a retail source from which the one or more products are to be purchased. Further, the prepare order API call can be initiated through a separate application 116 (e.g., gaming application, social media application, travel applications, entertainment source applications and / or other such applications) executed on a remote user computing device 102. In some embodiments, the prepare order API call can be received in response to an initiation through a user activation of a purchase option rendered within a graphical user interface of the remote application 116 directing the separate third party source server 112 to communicate the prepare order API call. The application graphical user interface enables the user to interact with and / or participate in activities provided through application 116 (e.g., a gaming graphical user interface that can be provided to enable the user to participate in a game of the gaming application, media playback user interface provided by amedia playback application, etc.). When the protection communication protocol can be established, the prepare order API call can be received at the purchasing system 104 in accordance with the established protection communication protocol.
[0055] Some embodiments include step 612 where an APP user account information or other user identifying information corresponding to the user can be acquired. The user identifying information and / or APP user account information can be acquired from the prepare order API call, the product look-up API call, a separate user identification communication, other such sources, or a combination of two or more of such sources. Based on the user identifying information provided, the purchasing control circuit 106 may identify a linking of the user identifying information (e.g., gaming user account) with a retail entity customer account that is exclusively associated with the user. When such a link is defined and / or a customer identification can otherwise be determined, the purchasing system 104 can access, based on the retail entity customer account, retail entity account information and obtain customer information, which can be used to limit product information provided to the user, be used to determine a level of service, enable access to information for subsequent use and / or other such uses. For example, in some embodiments, the customer information may comprise a payment method that can be utilized by the purchasing system 104 and / or provided by the purchasing system to payment service in the completion of the sale of one or more products.
[0056] In step 614, one or more purchasing control circuits 106 access the prepare order API 220 and execute the prepare order API 220 in accessing a product database 110a of a retail entity and obtaining from the product database product information corresponding to the one or more products based on the product identifying information. Some embodiments include optional step 616, where one or more purchasing control circuits 106 access an inventory database 110b of the retail entity and confirm a threshold quantity of at least one of the one or more products is available. In step 618, a purchase product order 222 can be generated and communicated over the distributed communication network 108 directly with the third party server 112. The purchase order can comprise at least some of the product information and can be utilized in controlling the user computing device 102 through the APP 116 to render a purchase order user interface within an application graphical user interface being displayed by the APP 116.
[0057] In step 620, the purchasing system 104 receives one or more a place order API calls in response to the product order 222 and in response to user interaction with the rendered populated purchase order. In some embodiments, the place order API call comprising an authorization to complete the purchase. The process 600, in some embodiments, include optional step 622 where a purchasing control circuit 106 receives, from the source server 112, encrypted payment method information that is encrypted by the application 116 executed on a remote user computing device 102. Typically, the source server 112 is unable to decrypt the encrypted payment method information. The purchasing control circuit can be configured to decrypt the payment method information.
[0058] In step 624, a sale of one or more products can be completed by one or more purchasing control circuits 106 of the purchasing system 104 of the retail entity in response to receiving a purchase authorization place order API call 228 and / or confirmation directly from the source server 112, without a third party intermediary service. In some embodiments, the completion of the sale is in response to a confirmation action executed by the user through the application graphical user interface. The payment information can be acquired from an identified customer account and / or obtained from the decryption of a payment method. The payment method information can be utilized in the completing the sale of the one or more products. In some embodiments, a purchasing control circuit 106 executes the place order API 230 in completing the sale and communicating product identifying information and customer information in controlling the purchasing system of the retail entity to acquire payment for the one or more products using the payment method, and receive confirmation from a payment source system 118. Some embodiments include step 626 where the purchasing system 104 can generate one or more order results 232 and communicate the order results to the source server 112. The order results 232 can comprise a confirmation of purchase, one or more errors, expected delivery date, delivery location, and / or other relevant information corresponding to the authorization to purchase. Further, in some embodiments, the communication of the order results in the control of the user device to display some or all of the order results through the application graphical user interface. In some embodiments, one or more of the steps of the process 600 can be repeated. As one non-limiting example, one or more of steps 620, 622, 624 and 626 may be repeated in response to one or more error conditions in attempts to overcome theerror conditions. As one non-limiting example, when a payment method is selected by a user and there is insufficient funds available, the order results may indicate a partial payment and request one or more further methods of payment be selected and / or provided. As another nonlimiting example, it may be identified that one of the products has a restriction (e.g., age restriction, quantity restriction, etc ), and the order results 232 can notify the user of the restriction and obtain information to satisfy the restriction (e.g., proof of age, selection to reduce the quantity, etc.), prior to completing the sale. It is further noted that other error conditions may results from one of the steps of the process 600, which can trigger the communication of an error report, and / or the process 600 may skip to step 626 where an order result 232 can be generated identifying the error and interrupting the process until the error can be resolved and / or terminating the process when an error cannot be resolved. As one non-limiting example, the process 600 may advance from step 616 to step 626 when insufficient quantities of a product are available. Similarly, the process 600 can be repeated any number of times during the utilization of an APP 116.
[0059] Further, the circuits, circuitry, systems, devices, processes, methods, techniques, functionality, services, servers, sources and the like described herein may be utilized, implemented and / or run on many different types of devices and / or systems. FIG. 7 illustrates an exemplary system 700, in accordance with some embodiments, that may be used for implementing any of the components, circuits, circuitry, systems, functionality, apparatuses, processes, or devices of purchasing system 104, purchasing control circuits 106, user computing devices 102, application source servers 112, payment source systems 118, associate computing devices 130, inventory system 132, retrieval system 134, delivery control systems 136, and / or other above or below mentioned systems or devices, or parts of such circuits, circuitry, functionality, systems, apparatuses, processes, or devices. However, the use of the system 700 or any portion thereof is certainly not required.
[0060] By way of example, the system 700 may comprise one or more control circuits or processor modules 712, one or more memory 714, and one or more communication links, paths, buses or the like 718. Some embodiments may include one or more user interfaces 716, and / or one or more internal and / or external power sources or supplies 740. The control circuit 712 can be implemented through one or more processors, microprocessors, central processing unit, logic,local digital storage, firmware, software, and / or other control hardware and / or software, and may be used to execute or assist in executing the steps of the processes, methods, functionality and techniques described herein, and control various communications, decisions, programs, content, listings, services, interfaces, logging, reporting, etc. Further, in some embodiments, the control circuit 712 can be part of control circuitry and / or a control system 710, which may be implemented through one or more processors with access to one or more memory 714 that can store instructions, code and the like that is implemented by the control circuit and / or processors to implement intended functionality. In some applications, the control circuit and / or memory may be distributed over a communications network (e.g., LAN, WAN, Internet) providing distributed and / or redundant processing and functionality. Again, the system 700 may be used to implement one or more of the above or below, or parts of, components, circuits, systems, processes and the like.
[0061] The user interface 716 can allow a user to interact with the system 700 and receive information through the system. In some instances, the user interface 716 includes a display 722 and / or one or more user inputs 724, such as buttons, touch screen, track ball, keyboard, mouse, etc., which can be part of or wired or wirelessly coupled with the system 700. Typically, the system 700 further includes one or more communication interfaces, ports, transceivers 720 and the like allowing the system 700 to communicate over a communication bus, a distributed computer and / or communication network 108 (e.g., a local area network (LAN), the Internet, wide area network (WAN), etc.), communication link 718, other networks or communication channels with other devices and / or other such communications or combination of two or more of such communication methods. Further the transceiver 720 can be configured for wired, wireless, optical, fiber optical cable, satellite, or other such communication configurations or combinations of two or more of such communications. Some embodiments include one or more input / output (I / O) ports 734 that allow one or more devices to couple with the system 700. The I / O ports can be substantially any relevant port or combinations of ports, such as but not limited to USB, Ethernet, or other such ports. The I / O interface 734 can be configured to allow wired and / or wireless communication coupling to external components. For example, the I / O interface can provide wired communication and / or wireless communication (e.g., Wi-Fi, Bluetooth, cellular, RF, and / or other such wireless communication), and in someinstances may include any known wired and / or wireless interfacing device, circuit and / or connecting device, such as but not limited to one or more transmitters, receivers, transceivers, or combination of two or more of such devices.
[0062] In some embodiments, the system may include one or more sensors 726 to provide information to the system and / or sensor information that can be communicated to another component, such as the purchasing system 104, the retrieval system 134, the delivery control system 136, the payment source system 118, etc. The sensors can include substantially any relevant sensor, such as distance measurement sensors (e.g., optical units, sound / ultrasound units, etc ), optical-based scanning sensors to sense and read optical patterns (e.g., bar codes), radio frequency identification (RFID) tag reader sensors capable of reading RFID tags in proximity to the sensor, and other such sensors. The foregoing examples are intended to be illustrative and are not intended to convey an exhaustive listing of all possible sensors. Instead, it will be understood that these teachings will accommodate sensing any of a wide variety of circumstances in a given application setting.
[0063] The system 700 comprises an example of a control and / or processor-based system with the control circuit 712. Again, the control circuit 712 can be implemented through one or more processors, controllers, central processing units, logic, software and the like. Further, in some implementations the control circuit 712 may provide multiprocessor functionality.
[0064] The memory 714, which can be accessed by the control circuit 712, typically includes one or more processor-readable and / or computer-readable media accessed by at least the control circuit 712, and can include volatile and / or nonvolatile media, such as RAM, ROM, EEPROM, flash memory and / or other memory technology. Further, the memory 714 is shown as internal to the control system 710; however, the memory 714 can be internal, external or a combination of internal and external memory. Similarly, some or all of the memory 714 can be internal, external or a combination of internal and external memory of the control circuit 712. The external memory can be substantially any relevant memory such as, but not limited to, solid- state storage devices or drives, hard drive, one or more of universal serial bus (USB) stick or drive, flash memory secure digital (SD) card, other memory cards, and other such memory or combinations of two or more of such memory, and some or all of the memory may be distributed at multiple locations over the computer network 108. The memory 714 can store code, software,executables, scripts, data, content, lists, programming, programs, log or history data, user information, customer information, product information, and the like. While FIG. 7 illustrates the various components being coupled together via a bus, it is understood that the various components may actually be coupled to the control circuit and / or one or more other components directly.
[0065] Some embodiments provide systems and methods for enabling embedded physical commerce in APP platforms (e.g., gaming APPs, social networking APPs, entertainment supply APPs, etc.). Currently, video games and / or virtual experiences enable their users to acquire virtual items such as tools, power ups, virtual accessories for an avatar, new maps or DLCs, etc., and in many if not all cases using in game virtual currency. However, such APPs do not enable the sale of physical retail products from within the virtual experiences provided by a non-retail APP and instead, at best, direct a user to exit the APP to access a separate webpage managed by a completely different entity (e.g., by providing links or QR codes). The retail control system 100, however, enables embedded and native commerce from within an APP experience (e.g., within a gaming experience) by integrating the use of commerce API calls and the corresponding APIs from within the gaming environment and engines, allowing APP partners and creators to tap into retail entities trusted commerce platforms. Further, the retail control system 100 in some embodiments allows the end user to remain and transact retail purchases without leaving the APP experience (e.g., gaming experience, virtual reality experience, social networking experience, etc.). Some embodiments further enable transactions for physical retail goods through one or more payment methods (e.g., credit cards, gift cards, government services, etc.).
[0066] In some embodiments, the retail control system 100, in some embodiments, enables the physical commerce transactions from within the APP experience by associating and / or integrating APP platforms with the retail entity commerce APIs. This functionality enables customers to purchase retail products without having to leave the APP environment, while enabling the APP developer and / or owner to control the look and feel of the graphical user interface through which the user makes the purchase. Further, the APP graphical user interface can be implemented to enable purchases through an integration within an APP purchasing interface that allows users to acquire virtual upgrades associated with and utilized with the APP.Still further, the cooperation between the APP and the retail entity can be exposed to APP developers and / or owners through creator tools (e.g., Unity Marketplace, Unreal Engine Marketplace, Lightship, etc.) to provide the ability to integrate their APP experience as a licensed product. The retail control system 100 can be substantially device agnostic allowing utilization with substantially any user computing device (e.g., desktop computers, laptops, smartphones, tablets, televisions, extended reality systems, gaming systems, etc.). The retail control system 100 further enables APP developers and / or owners to commerce experiences through the retail entity as the source of the retail products.
[0067] In some embodiments, the purchasing system 104 can further utilize accessed retail customer information to control product retrieval and / or delivery (e.g., based on customer retail profde defining a delivery method and delivery location without receiving delivery information through the gaming server 112 and / or APP 116). In other implementations, however, the purchasing system 104 enable the user to provide information through the APP 116 (e.g., the product order 222 may include options to enter delivery information, which may be protected prior to communication to the source server 112). Additionally or alternatively, delivery location information may be received from the source server 112 without the user entering based on an APP user profile.
[0068] Some embodiments receive, over the distributed communication network 108 in accordance with the protection communication protocol, a prepare order API call directly from the source server 112 and without a third party intermediary service. The prepare order API call can include product identifying information of one or more products without identifying a retail source from which the products are to be purchased, and can be initiated through a user activation of a purchase option rendered within an APP graphical user interface of the application 116 executed on a remote user computing device 102 and directs the separate APP source server 112 to communicate the prepare order API call. The APP graphical user interface can be the graphical use interface that is provided to enable the user to interact with the APP services (e.g., gaming graphical user interface enabling the user to play a game of the gaming application). Some embodiments identify multiple payment methods and communicate a request to the server 112 to control the user computing device 102 to adjust the user interface to request a selection of a payment method (or provide a new payment method). The payment methods caninclude substantially any relevant payment method, such as but not limited to gift cards, payment based on gaming account credits or other rewards, new credit card, government provided payment method, etc. In some embodiments, the prepare order API call includes a retail entity user account information corresponding to the user and linked by the source server 112 with an APP user account exclusively associated with the user, and the purchasing system 104 can access a retail user account based on the retail entity account information and obtain user information comprising a payment method, preferences, delivery information, etc.
[0069] Some embodiments provide systems to control user computing devices to enable purchases, the system comprising: a product database of a retail entity, wherein the product database comprises product computer storage systems communicatively coupled with a distributed communication network and storing product information comprising product identifying information for a plurality of different products and sets of product characteristics information each corresponding to a respective one of the plurality of different products; an inventory database of the retail entity, wherein the inventory database comprises inventory computer storage systems communicatively coupled with the communication network and storing product quantity information corresponding to each of at least a subset of the plurality of different products that are available from a respective one of each of multiple different retail facilities; a purchasing system of the retail entity, wherein the purchasing system comprises a purchasing control circuit communicatively coupled via the distributed communication network with the product database and the inventory database, and wherein the purchasing control circuit can be configured to: receive, over the distributed communication network, a prepare order API call directly from a third party gaming server and without a third party intermediary service, wherein the prepare order API call comprises product identifying information of a first product without identifying a retail source from which the first product is to be purchased, and is initiated through a separate gaming application executed on a remote user computing device; access the prepare order API and execute the prepare order API to obtain first product information corresponding to the first product and communicate, over the distributed communication network directly with the gaming server, a purchase order comprising at least some of the first product information to control the user computing device through the gaming application to render within the gaming graphical user interface a purchase order user interface; and complete a sale ofthe first product in response to receiving a confirmation directly from the gaming server, without the third party intermediary service, in response to a confirmation action executed by the user through the gaming graphical user interface.
[0070] Some embodiments provide methods of controlling user computing devices to enable purchases, the system comprising: receiving at a purchasing control circuit, from over a distributed communication network, a prepare order API call directly from a third party gaming server and without a third party intermediary service, wherein the prepare order API call comprises product identifying information of a first product without identifying a retail source from which the first product is to be purchased, and is initiated through a separate gaming application executed on a remote user computing device; accessing, by the purchasing control circuit, the prepare order API and executing the prepare order API in accessing a product database of a retail entity and obtaining from the product database first product information corresponding to the first product based on the product identifying information; accessing an inventory database of the retail entity and confirming a threshold quantity of the first product is available; communicating, over the distributed communication network directly with the gaming server, a purchase order comprising at least some of the first product information to control the user computing device through the gaming application to render within the gaming graphical user interface a purchase order user interface; and completing a sale, by the purchasing control circuit through a purchasing system of the retail entity, of the first product in response to receiving a confirmation directly from the gaming server, without the third party intermediary service, in response to a confirmation action executed by the user through the gaming graphical user interface.
[0071] Those skilled in the art will recognize that a wide variety of other modifications, alterations, and combinations can also be made with respect to the above described embodiments without departing from the scope of the invention, and that such modifications, alterations, and combinations are to be viewed as being within the ambit of the inventive concept.
Claims
CLAIMSWhat is claimed is:
1. A system to control user computing devices to enable purchases, the system comprising: a product database of a retail entity, wherein the product database comprises product computer storage systems communicatively coupled with a distributed communication network and storing product information comprising product identifying information for a plurality of different products and sets of product characteristics information each corresponding to a respective one of the plurality of different products; an inventory database of the retail entity, wherein the inventory database comprises inventory computer storage systems communicatively coupled with the communication network and storing product quantity information corresponding to each of at least a subset of the plurality of different products that are available from a respective one of each of multiple different retail facilities; and a purchasing system of the retail entity, wherein the purchasing system comprises a purchasing control circuit communicatively coupled via the distributed communication network with the product database and the inventory database, and wherein the purchasing control circuit is configured to: receive, over the distributed communication network, a prepare order API call directly from a third party gaming server and without a third party intermediary service, wherein the prepare order API call comprises product identifying information of a first product, and is initiated through a separate gaming application executed on a remote user computing device; access the prepare order API and execute the prepare order API to obtain first product information corresponding to the first product and communicate, over the distributed communication network directly with the gaming server, a purchase order comprising at least some of the first product information to control the user computing device through the gaming application to render within a gaming graphical user interface a purchase order user interface; and complete a sale of the first product in response to receiving a confirmation directly from the gaming server, without the third party intermediary service, in response to a confirmation action executed by the user through the gaming graphical user interface.
2. The system of claim 1, wherein the purchasing control circuit is configured to: establish a data protection communication protocol, over the distributed communication network, between the purchasing control circuit and the third party gaming server based on a protection key provided by the purchasing control circuit to the gaming server, wherein the prepare order API call is received in accordance with the data protection communication protocol.
3. The system of claim 2, wherein the prepare order API call comprises a gaming user account information corresponding to the user, and wherein the purchasing control circuit is configured to: identify a linking of the gaming user account with a retail entity customer account exclusively associated with the user; access, based on the retail entity customer account, retail entity account information and obtain customer information comprising a payment method; and utilize the payment method in the completion of the sale of the first product.
4. The system of claim 1, wherein the purchasing control circuit in receiving the prepare order API call receives the prepare order API call in response to the initiation through a user activation of a purchase option rendered within the gaming graphical user interface of the gaming application and directs the separate gaming server to communicate the prepare order API call, wherein the gaming graphical user interface enables the user to participate in a first game of the gaming application.
5. The system of claim 4, wherein the purchasing control circuit is further configured to: receive, from the gaming server, a product look-up API call with a request to initiate shopping; execute the product look-up API, in response to receiving the product look-up API call, to access the product database and identify products relevant to the gaming application; communicate over the distributed communication network directly to the gaming server a product listing comprising a listing of one or more products, comprising the first product, andcorresponding product information to control the user computing device through the gaming application to render within the gaming graphical user interface a product listing interface comprising the listing of one or more products available from the retail entity.
6. The system of claim 5, wherein the purchasing control circuit in executing the product look-up API, in identifying the products, is configured to identify a set of multiple products of the plurality of different products that are predefined to be associated with the gaming application.
7. The system of claim 6, wherein the purchasing control circuit is further configured to receive gaming status information regarding a status of playback within the first game, and in identifying the set of multiple products, is further configured to identify products of the set of multiple products based on the status of playback.
8. The system of claim 1, wherein the purchasing control circuit is further configured to: receive, in response to the purchase order and in response to user interaction with the rendered populated purchase order, a place order API call comprising an authorization to complete the purchase.
9. The system of claim 8, wherein the purchasing control circuit is further configured to executes the place order API in completing the sale and communicates product identifying information and customer information in controlling the purchasing system of the retail entity to acquire payment for the first product using the payment method and receive from the confirmation from the purchasing system.
10. The system of claim 1, wherein the purchasing control circuit is configured to: receive, from the gaming server, encrypted payment method information that is encrypted by the gaming application executed on a remote user computing device, wherein the gaming server is unable to decrypt the encrypted payment method information; decrypt the payment method information; and utilize the payment method information in the completion of the sale of the first product.
11. A method of controlling user computing devices to enable purchases, the method comprising: receiving at a purchasing control circuit, from over a distributed communication network, a prepare order API call directly from a third party gaming server and without a third party intermediary service, wherein the prepare order API call comprises product identifying information of a first product, and is initiated through a separate gaming application executed on a remote user computing device; accessing, by the purchasing control circuit, the prepare order API and executing the prepare order API in accessing a product database of a retail entity and obtaining from the product database first product information corresponding to the first product based on the product identifying information; accessing an inventory database of the retail entity and confirming a threshold quantity of the first product is available; communicating, over the distributed communication network directly with the gaming server, a purchase order comprising at least some of the first product information to control the user computing device through the gaming application to render within a gaming graphical user interface a purchase order user interface; and completing a sale, by the purchasing control circuit through a purchasing system of the retail entity, of the first product in response to receiving a confirmation directly from the gaming server, without the third party intermediary service, in response to a confirmation action executed by the user through the gaming graphical user interface.
12. The method of claim 11, further comprising: establishing a data protection communication protocol, over the distributed communication network, between the purchasing control circuit and the third party gaming server based on a protection key provided by the purchasing control circuit to the gaming server, wherein the prepare order API call is received in accordance with the data protection communication protocol.
13. The method of claim 12, further comprising: acquiring, from the prepare order API call, a gaming user account information corresponding to the user; identifying a linking of the gaming user account with a retail entity customer account exclusively associated with the user; accessing, based on the retail entity customer account, retail entity account information and obtaining customer information comprising a payment method; and utilizing the payment method in the completion of the sale of the first product.
14. The method of claim 11, wherein the receiving the prepare order API call comprises: receiving the prepare order API call in response to an initiation through a user activation of a purchase option rendered within the gaming graphical user interface of the gaming application directing the separate gaming server to communicate the prepare order API call, wherein the gaming graphical user interface enables the user to participate in a first game of the gaming application.
15. The method of claim 14, further comprising: receiving, from the gaming server, a product look-up API call with a request to initiate shopping; executing the product look-up API, in response to receiving the product look-up API call, to access the product database and identify products relevant to the gaming application; communicating over the distributed communication network directly to the gaming server a product listing comprising a listing of one or more products, comprising the first product, and corresponding product information to control the user computing device through the gaming application to render within the gaming graphical user interface a product listing interface comprising the listing of one or more products available from the retail entity.
16. The method of claim 15, wherein the executing the product look-up API in identifying the products comprises: identifying a set of multiple products of the plurality of different products that are predefined to be associated with the gaming application.
17. The method of claim 16, further comprising: receiving gaming status information regarding a status of playback within the first game, and wherein the identifying the set of multiple products, further comprises identifying products of the set of multiple products based on the status of playback.
18. The method of claim 11, further comprising: receiving, in response to the purchase order and in response to user interaction with the rendered populated purchase order, a place order API call comprising an authorization to complete the purchase.
19. The method of claim 18, further comprising: executing, by the purchasing control circuit, the place order API in completing the sale and communicating product identifying information and customer information in controlling the purchasing system of the retail entity to acquire payment for the first product using the payment method and receive from the confirmation from the purchasing system.
20. The method of claim 11, further comprising: receiving, at the purchasing control circuit and from the gaming server, encrypted payment method information that is encrypted by the gaming application executed on a remote user computing device, wherein the gaming server is unable to decrypt the encrypted payment method information; decrypting, by the purchasing control circuit, the payment method information; and utilizing the payment method information in the completing the sale of the first product.