Coupon authentication and fraud reduction
Patent Information
- Application Number
- JP2021564558
- Authority / Receiving Office
- JP · JP
- Patent Type
- Patents
- Current Assignee / Owner
- Priority Date
- 2019-04-30
- Filing Date
- 2020-04-30
- Publication Date
- 2025-02-28
- Estimated Expiration
- 2040-04-30
Smart Images

Figure 0007637636000001 
Figure 0007637636000002 
Figure 0007637636000003
Abstract
Description
[Technical field]
[0001] CROSS-REFERENCE TO RELATED APPLICATIONS This disclosure is related to and claims priority under the PCT Rules to U.S. Provisional Patent Application No. 62 / 841,101, entitled “COUPON VALIDATION AND FRAUD MITIGATION,” to Tiffany SOUTHWELL et al., filed April 30, 2019, the contents of which are incorporated herein by reference in their entirety for all purposes.
[0002] The present disclosure relates generally to systems and procedures for coupon authentication and fraud mitigation. More specifically, embodiments disclosed herein relate to applying blockchain technology to authenticate, manage, and record consumer offers for fraud mitigation. Summary of the Invention
[0003] In one embodiment, a computer-implemented method includes first receiving incentive metadata from a brand manufacturer for an incentive associated with a selected product, the incentive metadata including a product identifier and redemption rules. The computer-implemented method also includes requesting a server host to create a distributed ledger record of the incentive using the incentive metadata, providing the incentive to a consumer via a mobile device, the incentive including the incentive metadata, assigning the incentive a public address, and receiving from the server host a first private key associated with a hash of the public address in the distributed ledger record. The computer-implemented method also includes providing the first private key to the consumer when the consumer selects the incentive using the mobile device, receiving a second private key indicating that a redemption of the incentive has occurred at a retailer, accessing the distributed ledger record using the second private key to authenticate the redemption of the incentive, and recording the redemption of the incentive at a retailer in the distributed ledger record when the redemption of the incentive is authenticated.
[0004] In one embodiment, a system includes one or more processors and a memory storing instructions that, when executed by the one or more processors, cause the system to receive incentive metadata from a brand manufacturer for an incentive associated with a selected product, the incentive metadata including a product identifier and redemption rules. The instructions, when executed by the one or more processors, also cause the system to request a server host to create a distributed ledger record of the incentive with the incentive metadata, provide the incentive to a consumer via a mobile device, the incentive including the incentive metadata, assign a public address to the incentive, receive from the server host a first private key associated with a hash of the public address in the distributed ledger record, and provide the first private key to the consumer when the consumer selects the incentive using the mobile device. The instructions also cause the system, when executed by the one or more processors, to receive a second private key indicating that the redemption of the incentive has occurred at a retailer, access a blockchain record using the second private key to authenticate the redemption of the incentive, and, when the redemption of the incentive is authenticated, record the redemption of the incentive at the retailer in the blockchain record.
[0005] In one embodiment, a computer-implemented method includes providing incentive metadata responsive to a brand and a content provider, the incentive metadata including a barcode, receiving a request for incentive validation from a point of sale at a first retailer when the barcode is detected, the request including an offer code, a serialized barcode, and a product code scanned at the point of sale, validating an incentive identified in the incentive metadata based on an incentive history, providing a validation message to the first retailer at the point of sale, providing detailed redemption data to the brand when a discount is applied to the transaction, and storing transaction data in a database.
[0006] In one embodiment, a computer-implemented method includes first providing certificate metadata responsive to a source and a content provider, the certificate metadata including a barcode, and receiving a request for certificate authentication from an operation point at a first location when the barcode is detected, the request including an offer code, a serialized barcode, and a product code scanned at the operation point. The computer-implemented method also authenticates a certificate identified in the certificate metadata based on a log history, provides an authentication message to the first location at the operation point, provides detailed redemption data to the source when a discount is applied to an operation, and stores operation data in a database. [Brief description of the drawings]
[0007] [Figure 1] FIG. 1 illustrates a system configured to provide coupons that consumers can redeem and check out over a network with reduced potential for fraud, according to some embodiments. [Diagram 2] 2 illustrates features and components of some devices in the system of FIG. 1 in greater detail, according to some embodiments. [Diagram 3]1 is a block diagram including devices and steps by which a method for offering, authenticating, and redeeming a coupon may be performed, according to some embodiments. [Figure 4] FIG. 2 is a block diagram including a content provider, a retail integrator, and a coupon server according to some embodiments. [Diagram 5] FIG. 2 is a block diagram including steps in the life cycle of hardware and coupons, according to some embodiments. [Figure 6] FIG. 2 illustrates steps of a method for authenticating a coupon, certificate, or voucher, according to some embodiments. [Figure 7] FIG. 2 illustrates steps of a method for authenticating a coupon, certificate, or voucher, according to some embodiments. [Figure 8] FIG. 2 illustrates steps of a method for authenticating a certificate according to some embodiments. [Figure 9] FIG. 1 illustrates a block diagram of a computer system configured to perform at least some of the methods disclosed herein, according to some embodiments. DETAILED DESCRIPTION OF THE PREFERRED EMBODIMENTS
[0008] Elements and features having the same or similar reference numbers share the same or similar description or function.
[0009] In the following detailed description, numerous specific details are set forth in order to provide a thorough understanding of the present disclosure. However, it will be apparent to one skilled in the art that embodiments of the present disclosure can be practiced without some of these specific details. In other instances, well-known structures and techniques have not been shown in detail so as not to obscure the present disclosure.
[0010] In the consumer network and product advertising industries, fraud and errors in coupon redemption cause hundreds of millions of dollars in losses annually. In addition to the direct economic losses, there is the negative circumstance caused by the divided liabilities related to fraud. In particular, business relationships between brand manufacturers and retailers are disrupted and strained when, for example, promotional campaigns for selected products are embroiled in fraud or invalidity allegations. The emergence and widespread use of mobile networks, which allows offers, advertisements and financial data to be transmitted electronically, further exacerbates this problem.
[0011] The system as provided herein is configured to solve the above problems by applying technical solutions provided by centralized and distributed network systems that handle the brand manufacturer side and the retailer side of a coupon transaction (e.g., from coupon offer to redemption). Furthermore, some embodiments add a technical feature of a blockchain record that represents each stage of a coupon transaction. The blockchain record may be generated by a blockchain host in the blockchain network upon request from a server of the centralized or distributed network system. It is desirable to keep the latency for recording a coupon transaction in the blockchain record low. Thus, some embodiments include robust and efficient communication with the blockchain host to avoid redemption issues. The embodiments disclosed herein avoid the common problem of offering a coupon to a user at the cashier aisle when the coupon is not ready to be authenticated by a point of sale (POS) device.
[0012] FIG. 1 illustrates a system 10 configured to provide coupons 140 that consumers 101 can redeem and redeem over a network 150 with reduced potential for fraud. More generally, coupons 140 consistent with embodiments disclosed herein may be any promotion (e.g., coupons, vouchers, rebates, etc.) associated with a selected product 122 (e.g., branded product). Without limitation, network 150 may include mobile devices 110-1, home computers, televisions, any other sensors and devices that connect to the Internet and remote servers, such as server 130A, server 130B (collectively hereinafter referred to as "server 130") and database 152, which are communicatively connected to each other via wireless (e.g., cellular network, Wi-Fi, Bluetooth, etc.) or wired channels (e.g., telephone lines, Ethernet, etc.). Server 130 and database 152 devices may each include at least a memory circuit and one or more processor circuits. The memory circuitry may include instructions that, when executed by the processor circuitry, cause the device, the server 130, and the database 152 to perform at least some of the steps in the methods disclosed herein.
[0013] Server 130A may include a publisher. Thus, server 130A may be a publisher server that works with a consumer packaged goods (CPG) manufacturer to promote and advertise products 122 through in-store printers 115 and a load-to-card network. Thus, server 130A may serialize, register, and provide CPG coupons 140 to blockchain records in blockchain network 155. In some embodiments, server 130A may also distribute coupons 140 to consumers 101 over network 150 (e.g., via consumer mobile device 110-1) based on a loyalty card 130 that certifies that the consumer 101 is a member of a network service provided by server 130A.
[0014] In some embodiments, server 130B may be part of a blockchain network 155. In some embodiments, server 130B may create and host a blockchain record for each coupon 140. The blockchain network 155 may be hosted by one or more CPG content distributors who work with CPG brands to issue and distribute coupons 140, such as through promotional campaigns. Thus, it may be desirable for one or more CPG content distributors to host the blockchain network 155, setting an industry standard.
[0015] A blockchain record may contain a sequence of blocks corresponding to various steps in the coupon history (offer, authentication, redemption by the consumer). The blocks of transactions are linked with cryptographic linkages. More generally, server 130 may provide any network service to consumer 101, including retail shopping, consumer brands, services, information, entertainment, travel, business, etc. Consumer 101 may access server 130, and any other network servers, via an internet-enabled device, such as mobile device 110-1.
[0016] The loyalty card 130 may include an identification (ID) that is attributable to the network services hosted by the server 130A. Using the loyalty card 130, the consumer 101 may remotely access the loyalty services offered over the network 150 using the mobile device 110-1. The mobile device 110-1 may include personally identifiable information (PII), such as an advertising digital identifier, an IP address, or other ID naming scheme that is PII secure following guidelines established by the Interactive Advertising Bureau (iAB). In some embodiments, the consumer may be located within the retail store (e.g., a particular section of the store) or at the point of sale (POS) 170 of the retail store.
[0017] The mobile device 110-1 may include one or more application programming interfaces (APIs) 122-1 or software development kits (SDKs) 122-2 (collectively referred to hereinafter as “applications 122”) hosted by the server 130. Without limitation, multiple servers 130 may host multiple applications 122 installed on the device to provide different network services to the user. In some embodiments, at least one of the servers 130 may host a coupon 140 for the consumer 101 that is valid for the purchase of one of the items 122 at the POS 170. The coupon may be a barcode or QR code displayed on the consumer's mobile device and may be scanned by the cashier 103 or automatically by the ID device 110-2 or the POS device 110-3 when the selected item is included in the shopping cart 120. The ID device 110-2 may include a video camera or image capture device configured to identify the consumer 101 either by the mobile device 110-1, the loyalty card 130, or an image of the consumer's face or other biometric identification information (e.g., fingerprint, pupil pattern, etc.). Once the coupon redemption is authenticated by either server 130A or server 130B, a discount is applied to the transaction. Hereinafter, the mobile phone 110-1, the ID device 110-2, and the POS device 110-3 are collectively referred to as "client devices 110."
[0018] Database 152 may include one or more databases accessible to either of servers 130A and 130B via network 150. In some embodiments, servers 130A and 130B may each include their own database coupled to network 150 via a firewall configured to provide privacy and security for the information.
[0019] 2 illustrates in more detail the features and components of some devices of system 10, according to some embodiments. Client device 210 is communicatively coupled to server 230 via network 150. Server 230 may also access database 252 via network 150. In some embodiments, database 252 may be part of server 230. Although architecture 200 shows only one server 230 and one client device 210, in some embodiments, multiple client devices may connect to multiple servers via network 150, of which client device 210 and server 230 are merely examples. Client device 210 may include a personal computer, a portable or mobile computer (e.g., a laptop), a mobile phone, a smart phone, a palm device, or other devices such as a printer, a smart printer, or a display.
[0020] The client device 210 and the server 230 may include a processor 212-1 and a memory 220-1 (client device 210), a processor 212-2, and a memory 220-2 (server 230), hereinafter collectively referred to as the "processor 212" and the "memory 220." The communication module 218-1 of the client device 210 and the communication module 218-2 of the server 230 provide an interface between each of these devices and the network 150 (hereinafter collectively referred to as the "communication module 218"). The communication module 218 may include radio frequency circuitry and an antenna configured to transmit and receive radio frequency signals, such as Bluetooth, near field coupling, Wi-Fi, etc. In that regard, the communication module 218 may enable one or more client devices, as the client device 210, and one or more servers, as the server 230, to communicate directly with each other, separate from the network 150.
[0021] Memory 220-1 may include applications 222 (e.g., API 122-1, SDK 122-2) that include instructions that, when executed by processor 212-1, cause client device 210 to perform at least some of the methods disclosed herein. In some embodiments, application 222 may be installed and hosted by server 230 with consumer approval. Similarly, memory 220-2 may include certificate engine 240 having instructions that, when executed by processor 212-2, cause server 230 to perform at least some of the methods consistent with the present disclosure.
[0022] The authentication engine 240 performs identity correlation analysis to authenticate, authenticate (validate), and modify offers to consumers, taking into account business rules, advertising rules, and consumer profiles. In some embodiments, the authentication engine 240 includes a correlation tool 242. In some embodiments, the correlation tool 242 includes analysis algorithms based on business rules. In some embodiments, the correlation tool 242 includes algorithms based on the consumer's identity information to handle certificate errors, fraud, and other inconsistencies. In some embodiments, the registration tool 244 includes identity resolution algorithms and is configured to perform identity mapping and onboarding of new subscribers.
[0023] The database 252 may include purchasing information of consumers who operate the client devices 210. The database 252 may also include a correlation table that associates device identification codes of the client devices 210 with the purchasing histories of the consumers. The database 252 may also include information from retail stores and information on branded manufactured goods.
[0024] The client device 210 may also include or be communicatively connected to one or more peripheral devices, such as an input device 214 and an output device 216 .
[0025] 3 shows a block diagram 300 including devices and steps performed in a method for offering, authenticating, and redeeming a coupon, according to some embodiments. The chronological order of the steps in block diagram 300 proceeds from top (front) to bottom (back). In general, the events in block diagram 300 may occur at any time, simultaneously, or overlapping, regardless of the particular embodiment shown in the figure.
[0026] A manufacturer (e.g., Server A) creates a coupon (offer) and sends it to the consumer. The coupon may be a promotion related to a selected product (e.g., a branded product) such as a voucher, or any other value-added certificate. For example, a promotion may include a voucher for the purchase of a product (e.g., a $5 voucher), or a rebate (e.g., Save $1!). The manufacturer then registers the coupon transaction with the blockchain host (e.g., Server B), which opens a block thread for the offer. The coupon is thus assigned an ID, which is stored in the blockchain database along with its value, the product item associated with it, and the ID of the consumer to whom the offer was made (and possibly accepted the offer).
[0027] The consumer then decides to use the coupon and presents it at the retail store's POS. The consumer may scan the barcode or QR code of the coupon or offer at the POS. The POS sends the offer to the blockchain host where the coupon was clipped and verifies the authenticity, first use, consumer ID, product quantity, terms of the offer, and other details included in the original coupon offer based on the blockchain. The blockchain host authenticates the coupon redemption (is it a manufacturer-issued barcode? step 302), verifies that the barcode is not considered fraudulent (step 304), that the barcode has not been used before (step 306), and that the purchase conditions are met (e.g., payment completed, step 308). The blockchain host then transmits an authentication message to the POS. If any of the above fail, the consumer is denied the promotional discount (step 316). If all steps are completed up to the purchase conditions, the blockchain host must also authenticate that there are no multiple offers for the same product (step 310) and that multiple offers for the same product cannot be combined and used simultaneously. The blockchain host decides which offers to allow based on the promotion metadata and anti-stacking rules (step 312). The system verifies which offers are allowed (step 314). If all previous gating rules and restrictions are met, the POS sends a message to the blockchain server indicating that the coupon, certificate, or voucher is available for redemption (step 318). The blockchain host can then complete the blockchain sequence and store it in a database or delete it from memory. In some embodiments, the blockchain host may associate a "redeemed" label with the coupon, certificate, voucher, or confirmation record and store the record in a database (step 318).
[0028] FIG. 4 illustrates a block diagram 400 including content providers 435-1, 435-2, and 435-3 (collectively referred to hereinafter as “content providers 435”), retail stores 470-1, 470-2, 470-3, and 470 (collectively referred to hereinafter as “retail stores 470”), a retail integrator 475, and a coupon server 430B, according to some embodiments. In some embodiments, the content provider 435 and the retail integrator 475 are servers (e.g., server 130) coupled to a network. The content provider 435 creates a coupon offer in response to a request by one of a number of brand manufacturers 420-1, 420-2, 420-3, and 420-4 (collectively referred to hereinafter as “brand manufacturers 420”), e.g., for a product campaign. More generally, a coupon may be any promotion associated with a brand product, e.g., a voucher, or other value-added certificate. A content provider 435 issues coupons and, for example, forwards the coupons to one or more consumers (via the consumers' mobile devices). A coupon server 430B manages coupons issued by content providers.
[0029] When a consumer "clips" a coupon, a consumer ID is added to the coupon's blockchain record in coupon server 430B. The consumer can redeem the coupon at any of multiple retailers 470 that carry the product associated with the coupon, for example, at the retailer's POS (e.g., POS 170). In some embodiments, retail integrator 475 hosts an API application installed on the retailer's POS device (e.g., POS device 110-3) and handles the distribution of metadata related to the coupon, such as an offer barcode, when a consumer requests redemption of the coupon. Retail integrator 475 transmits the coupon information and the redemption request from the consumer to coupon server 430B. Coupon server 430B then verifies and authenticates (or does not) the coupon redemption. In some embodiments, clearinghouse 431B communicates with cloud reporting server 430A to coordinate retail integrator 475 and content provider 435 and link brand manufacturers 420 with retailers 470 that sell products offered by brand manufacturers 420.
[0030] FIG. 5 illustrates a block diagram 500 including hardware and steps in the life cycle of a coupon, according to some embodiments. The hardware includes a publisher 535 and a blockchain host 530B that interact to form a blockchain of coupon transactions (e.g., certificates or vouchers), according to some embodiments. A CPG manufacturer 502 provides a coupon to a publisher (step 503). The CPG manufacturer 502 may be interested in an advertising campaign to push a new product to the market, and therefore collaborates with the publisher 535 to provide the coupon to a consumer 501. The publisher 535 may include a provider 504 and a distributor 506. The publisher 535 requests the blockchain host 530B to create a first block 521 having coupon data (step 505A). The coupon data may include campaign dates, redemption rules, and serial numbers for each of several coupons that the CPG manufacturer 502 may decide to issue. In some embodiments, the CPG manufacturer 502 provides each coupon with a unique serial number in step 503, securely linking the CPG manufacturer 502 with the coupon. Thus, the CPG manufacturer 502 may be protected from coupon fraud.
[0031] The blockchain host 530B then creates an offer block and notifies the publisher 535. The publisher 535 distributes the coupon to one or more consumers 501 via the distributor 506 (step 505B). In some embodiments, the publisher 535 may request the blockchain host 530B to add an offer block indicating that the coupon was sent to the consumer 501 in step 505B. In some embodiments, the offer block may include the ID of the consumer 501 to whom the coupon was sent. The consumer 501 receives the coupon (step 507A).
[0032] Once the coupon is clipped or printed to the consumer 501, the publisher 535 assigns the coupon a public address (step 507B). The public address may include an image, barcode, or QR code in a mobile device and is publicly viewable in the blockchain record. The blockchain host 530B creates a clip block 523 in the blockchain record and notifies the publisher 535. The blockchain host 530B hashes the public address and creates a private key to access the blockchain record. The publisher 535 then provides the private key to the consumer 501.
[0033] When the consumer 501 redeems the coupon at the retailer 570 (step 509), the retailer 570 accesses the blockchain record to authenticate the coupon by providing the private key via the POS device (step 511). The retailer 570 unlocks the public address with the private key and authenticates the coupon data in the blockchain record (step 513). The blockchain host 530B prevents fraud by the retailer 570 by utilizing multi-party consensus to verify the coupon data with the associated blockchain record. In this way, the blockchain host 530B can help the retailer 570 quickly establish that the coupon is trustworthy. The blockchain host 530B handles the coupon redemption rules. Thus, the access or redemption of the coupon is provided via the private key, without which the coupon cannot be redeemed. If the credentials of the coupon presented to the blockchain host 530B are valid and the redemption rules are met, the blockchain host 530B adds a redemption block 525 with a new address and a new private key to the blockchain network and provides the new private key to the retailer 570. The retailer then applies the redemption and sends a redemption confirmation including the new private key to the publisher 535 (step 515). The publisher 535 uses the new private key to access the blockchain record to authenticate the redemption transaction and requests the blockchain host 530B to add a clear block 527 to the blockchain record (step 517). In some embodiments, the clear block contains information to clear the coupon to avoid a second use and contains information of the redemption transaction. The entire blockchain record thus completed may be stored in a database for later auditing.
[0034] FIG. 6 illustrates steps of a method 600 for authenticating a coupon, certificate, or voucher, according to some embodiments. Method 600 may be performed at least in part by any one of the multiple servers illustrated in FIG. 1. For example, at least some of the steps of method 600 may be performed by a component in a mobile device where an application executes code for accessing promotions offered by a first server, or by a component in the first server or the second server (e.g., servers 130A and 130B, respectively). The second server may include a blockchain host configured to create a blockchain associated with a transaction of the promotion upon request from the first server (e.g., server 130B, coupon server 430B, and blockchain host 530B). Thus, at least some of the steps of method 600 may be performed by a processor executing commands stored in memory of or accessible by one or more servers or mobile devices (e.g., processor 212 and memory 220). Further, in some embodiments, at least some of the steps of method 600 may be performed overlapping in time, approximately simultaneously, or in a different order than that illustrated in method 600. Furthermore, a method consistent with some embodiments disclosed herein may include at least one (but not all) of the steps of method 600.
[0035] Step 602 includes providing coupon metadata (e.g., value, code qualifier) according to the brand and content provider, including a barcode. In some embodiments, step 602 includes requesting a blockchain host to initiate a blockchain including the coupon offer and the coupon metadata. In some embodiments, step 602 further includes requesting the blockchain host to add a block to the blockchain, the block including a consumer ID of the consumer who received the coupon metadata.
[0036] Step 604 includes receiving a request for authentication of the coupon from a retail point of sale when the first and second barcodes are detected, the request including the offer code, the serialized barcode, and the product code scanned at the point of sale. In some embodiments, step 604 includes sending the request to a blockchain host.
[0037] Step 606 includes authenticating the coupon based on the coupon's history (e.g., whether the coupon was used or not). In some embodiments, step 606 includes requesting the blockchain host to match the consumer ID and other data from the point of sale against the coupon blockchain.
[0038] Step 608 includes providing an authentication message to a retailer at the point of sale.
[0039] Step 610 involves providing detailed (granular) redemption data to the brand when discounts are applied to transactions.
[0040] Step 612 includes storing the transaction data in a database. In some embodiments, step 612 includes auditing the transaction based on the stored data. In some embodiments, step 612 includes requesting a blockchain host to include a redemption block in the coupon blockchain.
[0041] FIG. 7 illustrates steps of a method 700 for authenticating a coupon, certificate, or voucher, according to some embodiments. In some embodiments, the coupon, certificate, or voucher may be collectively referred to as an "incentive." Method 700 may be performed at least in part by any one of the servers illustrated in FIG. 1. For example, at least some of the steps of method 700 may be performed by a component in a mobile device where an application executes code to access promotions offered by a first server, or by components in the first server or the second server (e.g., servers 130A and 130B, respectively). The second server may include a server host configured to create a distributed ledger associated with the transaction of the promotion upon request from the first server (e.g., server 130B, coupon server 430B, and blockchain host 530B). In some embodiments, the servers disclosed herein may be configured as blockchain hosts to host the distributed ledger (e.g., blockchain) records. Users may have access with the appropriate credentials, and all changes or updates are recorded with full visibility of all authenticated users. Thus, at least some of the steps of method 700 may be performed by a processor executing commands stored in or accessible by one or more servers or mobile device memories (e.g., processor 212 and memory 220). Additionally, in some embodiments, at least some of the steps of method 700 may overlap in time, be performed approximately simultaneously, or be performed in a different order than the order illustrated in method 700. Additionally, a method consistent with some embodiments disclosed herein may include at least one (but not all) of the steps of method 700.
[0042] Step 702 includes receiving incentive metadata from a brand manufacturer for an incentive associated with a selected product, the incentive metadata including a product identifier and redemption rules. In some embodiments, step 702 includes requesting a server host to include an offer block in a distributed ledger record associated with the incentive. In some embodiments, step 702 includes requesting a server host to include an offer block in a distributed ledger record associated with the incentive.
[0043] Step 704 includes requesting the server host to create a distributed ledger record for the incentive using the incentive metadata. In some embodiments, step 704 includes requesting the server host to include a clip block in the distributed ledger record associated with the incentive when the consumer clips the incentive offer to use the incentive.
[0044] Step 706 includes providing an incentive to the consumer via the mobile device, the incentive including incentive metadata. In some embodiments, the incentive metadata includes an offer code, a serialized barcode, and a product code, and step 706 includes receiving the incentive metadata after a point of sale device scans the consumer's mobile device at the point of sale. In some embodiments, step 706 includes adding a barcode identifying the consumer to the incentive metadata.
[0045] Step 708 includes assigning a public address to the incentive and receiving from the server host a first private key associated with a hash of the public address in the distributed ledger record. In some embodiments, the hash encrypts the incentive history in the distributed ledger record, and step 708 includes rehashing the incentive metadata to match the distributed ledger record.
[0046] Step 710 includes providing the first private key to the consumer when the consumer selects the incentive using the mobile device. In some embodiments, step 710 includes storing purchase transaction data for the selected item in a database. In some embodiments, step 710 includes requesting the server host to include a block in a distributed ledger record associated with the incentive when the consumer clips the incentive offer to use the incentive.
[0047] Step 712 includes receiving a second private key indicating redemption of the incentive at the retailer. In some embodiments, step 712 occurs in response to a request by the consumer to authenticate the incentive at a point of sale at the retailer's store, the request by the consumer including the first private key. In some embodiments, step 712 occurs when the retailer verifies that the redemption rules are satisfied, assigns a new address to the distributed ledger record, requests the second private key from the server host, and adds the redemption of the incentive to the distributed ledger record.
[0048] Step 714 includes accessing the distributed ledger record using the second private key to authenticate the redemption of the incentive. In some embodiments, step 714 includes requesting the server host to include a redemption block in the distributed ledger record associated with the incentive if authentication of the incentive is successful.
[0049] Step 716 includes recording the redemption of the incentive at the retailer in the distributed ledger record when the redemption of the incentive is authenticated. In some embodiments, step 716 includes requesting the server host to include a clear block in the distributed ledger record associated with the incentive when the redemption of the incentive is successful. In some embodiments, step 716 includes providing detailed redemption data to the brand manufacturer when the discount is applied to a purchase transaction of the selected item at the retailer.
[0050] FIG. 8 illustrates steps of a method 800 for authenticating a certificate, according to some embodiments. Method 800 may be performed at least in part by any one of the multiple servers illustrated in FIG. 1. For example, at least some of the steps of method 800 may be performed by a component in a mobile device where an application executes code for accessing promotions offered by a first server, or by a component in the first server or the second server (e.g., servers 130A and 130B, respectively). The second server may include a blockchain host configured to create a blockchain associated with a transaction of the promotion upon request from the first server (e.g., server 130B, coupon server 430B, and blockchain host 530B). Thus, at least some of the steps of method 800 may be performed by a processor executing commands stored in memory of or accessible by one or more servers or mobile devices (e.g., processor 212 and memory 220). Further, in some embodiments, at least some of the steps of method 800 may be performed overlapping in time, approximately simultaneously, or in a different order than that illustrated in method 800. Furthermore, a method consistent with some embodiments disclosed herein may include at least one, but not all, of the steps of method 800.
[0051] Step 802 includes providing certificate metadata responsive to the source and content provider, including a barcode. In some embodiments, step 802 includes providing at least one of a consumer identifier, a mobile device identifier, and a product code.
[0052] Step 804 includes receiving a request for authentication of the certificate from an operation point at the first location when the barcode is detected, the request including the offer code, the serialized barcode, and the product code scanned at the operation point.
[0053] Step 806 includes authenticating the certificate identified in the certificate metadata based on the log history. In some embodiments, step 806 includes applying one of business rules, anti-stacking rules, and gating rules to the certificate metadata in the authentication engine. In some embodiments, step 806 includes verifying a clip block associated with the certificate in the blockchain host. In some embodiments, step 806 includes verifying an identity of the consumer with a registration tool. In some embodiments, step 806 includes receiving an identity of a first location of the multiple retail stores in the network from a retail integrator and verifying whether a second location made a request for authentication of the certificate. In some embodiments, step 806 includes receiving an indication from the first location that the certificate violates the anti-stacking rules.
[0054] Step 808 provides the authentication message to a first location at the operation point. In some embodiments, step 808 includes providing an encrypted key to a client device at the operation point for access to a blockchain network that includes a redemption block of the certificate.
[0055] Step 810 involves providing detailed redemption data to a source when discounts are applied to an operation.
[0056] Step 812 includes storing the transaction data in a database. In some embodiments, step 812 further includes providing the certificate metadata to a second location when the first location does not have inventory of the item identified in the certificate metadata. In some embodiments, step 812 further includes providing the certificate metadata to a second location when the first location does not have inventory of the item identified in the certificate metadata. In some embodiments, step 812 further includes providing a command to a printer at an operation point of the first location to print a hard copy of the certificate to a user identified in the certificate metadata.
[0057] Hardware Overview Figure 9 is a block diagram illustrating an example computer system 900 on which the client and network devices of Figure 1 and the methods of Figures 3 through 7 may be implemented. In certain aspects, the computer system 900 may be implemented using hardware, or a combination of software and hardware, in a dedicated network device or integrated into another entity or distributed across multiple entities.
[0058] Computer system 900 (e.g., client devices 110 and 210, servers 130 and 230) includes a bus 908 or other communication mechanism for communicating information, and a processor 902 (e.g., processor 212) coupled to the bus 908 for processing information. By way of example, computer system 900 may be implemented with one or more processors 902. Processor 902 may be a general purpose microprocessor, a microcontroller, a Digital Signal Processor (DSP), an Application Specific Integrated Circuit (ASIC), a Field Programmable Gate Array (FPGA), a Programmable Logic Device (PLD), a controller, a state machine, gate logic, discrete hardware components, or any other suitable entity capable of performing calculations or other manipulations of information.
[0059] In addition to hardware, computer system 900 may include code that creates an execution environment for the computer programs in question, e.g., code constituting processor firmware, a protocol stack, a database management system, an operating system, or a combination of one or more of these, stored in included memory 904 (e.g., memory 220), such as Random Access Memory (RAM), Flash memory, Read Only Memory (ROM), Programmable Read-Only Memory (PROM), Erasable PROM (EPROM), registers, a hard disk, a removable disk, a CD-ROM, a DVD, or any other suitable storage device coupled to bus 908 for storing information and instructions to be executed by processor 902. Processor 902 and memory 904 may be supplemented by, or incorporated within, special purpose logic circuitry.
[0060] The instructions may be stored in memory 904 and encoded on a computer-readable medium for execution by or to control the operation of one or more computer program consumer products, e.g., computer system 900, and may be embodied in one or more modules of computer program instructions according to any method known to those skilled in the art, including computer languages such as, but not limited to, data-oriented languages (e.g., SQL, dBase), system languages (e.g., C, Objective-C, C++, Assembly), architecture languages (e.g., Java, .NET), and application languages (e.g., PHP, Ruby, Perl, Python). The instructions may also be implemented in a computer language, such as an array language, an aspect-oriented language, an assembly language, an authoring language, a command line interface language, a compiled language, a concurrent language, a brace language, a dataflow language, a data structuring language, a declarative language, an esoteric language, an extensible language, a fourth generation language, a functional language, an interaction language, an interpreted language, an iterative language, a list-based language, a miniature language, a logic-based language, a machine language, a macro language, a metaprogramming language, a multi-paradigm language, numerical analysis, a non-English based language, an object-oriented class-based language, an object-oriented prototype-based language, an offside rule language, a procedural language, a self-reflective language, a rule-based language, a scripting language, a stack-based language, a synchronization language, a syntax processing language, a visual language, a wirth language, and an xml-based language. The memory 904 may also be used for storing temporary variables or other intermediate information during execution of instructions to be executed by the processor 902.
[0061] The computer programs described herein do not necessarily correspond to files in a file system. A program can be stored in a portion of a file that holds other programs or data (e.g., one or more scripts stored in a markup language document), in a single file dedicated to the program in question, or in multiple cooperating files (e.g., files that store one or more modules, subprograms, or portions of code). A computer program can be deployed to run on one computer, or on multiple computers located at one site or distributed across multiple sites and interconnected by a communication network. The processes and logic flows described herein can be implemented by one or more programmable processors executing one or more computer programs that perform functions by operating on input data and generating output.
[0062] The computer system 900 further includes a data storage 906, such as a magnetic or optical disk, coupled to the bus 908 for storing information and instructions. The computer system 900 can be coupled to various devices via an input / output module 910. The input / output module 910 can be any input / output module. An exemplary input / output module 910 includes a data port, such as a USB port. The input / output module 910 is configured to connect to a communication module 912. An exemplary communication module 912 (e.g., the communication module 218) includes a network interface card, such as an Ethernet card and a modem. In certain embodiments, the input / output module 910 is configured to connect to multiple devices, such as an input device 914 (e.g., the input device 114) and / or an output device 916 (e.g., the output device 116). An exemplary input device 914 includes a keyboard and a pointing device, such as a mouse or a trackball, by which a consumer can provide input to the computer system 900. Other types of input devices 914, such as tactile, visual, audio, or brain-computer interface devices, can also be used to provide interaction with the consumer. For example, feedback provided to the consumer can be any form of sensory feedback, e.g., visual, audio, or tactile feedback, and input from the consumer can be received in any form, including acoustic, voice, tactile, or brainwave input. Exemplary output devices 916 include display devices, such as liquid crystal display (LCD) monitors, that display information to the consumer.
[0063] According to one aspect of the disclosure, the client device 110 and the server 130 can be implemented using the computer system 900 in response to the processor 902 executing one or more sequences of one or more instructions contained in the memory 904. Such instructions may be read into the memory 904 from another machine-readable medium, such as the data storage 906. Execution of the sequences of instructions contained in the main memory 904 causes the processor 902 to perform the process steps described herein. Also, one or more processors in a multi-processing arrangement may be utilized to execute the sequences of instructions contained in the memory 904. In alternative aspects, hardwired circuitry may be used in place of or in combination with software instructions to implement various aspects of the disclosure. Thus, aspects of the disclosure are not limited to any specific combination of hardware circuitry and software.
[0064] Various aspects of the subject matter described herein can be implemented in a computing system that includes back-end components, e.g., data network devices, or middleware components, e.g., application network devices, or front-end components, e.g., client computers having a graphical consumer interface or web browser through which a consumer can interact with an implementation of the subject matter described herein, or any combination of one or more of such back-end, middleware, or front-end components. The components of the system can be interconnected by any form or medium of digital data communication, e.g., a communication network. The communication network (e.g., network 150) can include, for example, any one or more of a LAN, a WAN, the Internet, and the like. Furthermore, the communication network can include, for example, any one or more of the following network topologies, including, but not limited to, a bus network, a star network, a ring network, a mesh network, a star-bus network, a tree-like or hierarchical network, or the like. The communication module can be, for example, a modem or an Ethernet card.
[0065] The computer system 900 may include client and network devices. The client and network devices are generally remote from each other and typically interact through a communications network. The relationship of the client and network devices arises by virtue of computer programs running on the respective computers and having a client-server relationship to each other. The computer system 900 may be, for example, but not limited to, a desktop computer, a laptop computer, or a tablet computer. The computer system 900 may also be incorporated in another device, for example, but not limited to, a mobile phone, a PDA, a mobile audio player, a Global Positioning System (GPS) receiver, a video game console, and / or a television set-top box.
[0066] The term "machine-readable storage medium" or "computer-readable medium" as used herein refers to any medium or media that participates in providing instructions to the processor 902 for execution. Such media can take many forms, including but not limited to non-volatile media, volatile media, and transmission media. Non-volatile media include optical or magnetic disks, such as data storage 906. Volatile media include dynamic memory, such as memory 904. Transmission media include coaxial cables, copper wire, and optical fibers, including the wires that form bus 908. Common forms of machine-readable media include, for example, a floppy disk, a flexible disk, a hard disk, a magnetic tape, any other magnetic medium, a CD-ROM, a DVD, any other optical medium, a punched card, a paper tape, any other physical medium with a pattern of holes, a RAM, a PROM, an EPROM, a flash EPROM, any other memory chip or cartridge, or any other medium from which a computer can read. The machine-readable storage medium can be a machine-readable storage device, a machine-readable storage substrate, a memory device, a composition affecting a machine-readable propagated signal, or a combination of one or more of them.
[0067] In one aspect, a method may be an operation, an instruction, or a function, or vice versa. In one aspect, the claims may be amended to include some or all of the words (e.g., instructions, actions, functions, or components) recited in one or more claims, one or more words, one or more sentences, one or more expressions, one or more paragraphs, and / or one or more claims.
[0068] To illustrate the interchangeability of hardware and software, various illustrative blocks, modules, components, methods, operations, instructions, algorithms, etc. have been described generally in terms of their functionality. Whether such functionality is implemented as hardware, software, or a combination of hardware and software depends on the particular application and design constraints imposed on the overall system. Those skilled in the art may implement the described functionality in various ways for each particular application.
[0069] As used herein, the phrase "at least one of" with the term "and" or "or" preceding a series of items and separating any of the items modifies the list as a whole, and not each member (e.g., each item) of the list. The phrase "at least one of" does not require the selection of at least one item; rather, the phrase allows for a meaning including at least one of any of the items, and / or at least one of any combination of the items, and / or at least one of each of the items. By way of example, the phrase "at least one of A, B, and C" or "at least one of A, B, or C" refers, respectively, to only A, only B, or only C, any combination of A, B, and C, and / or at least one of each of A, B, and C.
[0070] The word "exemplary" is used herein to mean "serving as an example, instance, or illustration." Any embodiment described herein as "exemplary" should not necessarily be construed as preferred or advantageous over other embodiments. Phrases such as one aspect, this aspect, another aspect, some aspects, one or more aspects, one implementation, this implementation, another implementation, some implementations, one or more implementations, one embodiment, this embodiment, another embodiment, some embodiments, one or more embodiments, one configuration, this configuration, another configuration, some configurations, one or more configurations, the subject technology, the disclosure, the present disclosure, and other variations thereof and the like are for convenience and do not imply that the disclosure associated with such phrases is essential to the subject technology or that such disclosures apply to all configurations of the subject technology. Disclosure associated with such phrases may apply to all configurations, or to one or more configurations. Disclosure associated with such phrases may provide one or more examples. A phrase such as one aspect or some aspects may refer to one or more aspects and vice versa, and this is equally true for the other above mentioned phrases.
[0071] Reference to an element in the singular is not intended to mean "one and only one" unless otherwise specified, but rather "one or more." Masculine pronouns (e.g., his) include feminine and neuter (e.g., her and its) and vice versa. The term "some" refers to one or more. Underlined and / or italicized headings and subheadings are used merely for convenience and do not limit the subject art and are not to be referenced in connection with interpreting the description of the subject art. Relative terms such as first and second and the like may be used to distinguish one entity or action from another and do not necessarily require or imply any actual such relationship or order between such entities or actions. All structural and functional equivalents of the elements of the various configurations described throughout this disclosure that are known or that later become known to those skilled in the art are expressly incorporated herein by reference and are intended to be encompassed by the technology of the present subject matter. Moreover, nothing disclosed herein is intended to be made available to the public, regardless of whether such disclosure is expressly set forth in the above description. No claim element is to be construed under the provisions of 35 U.S.C. 112, sixth paragraph, unless the element is expressly recited using the phrase "means for" or, in the case of a method claim, the element is recited using the phrase "step for."
[0072] Although this specification includes many specifics, these should not be interpreted as limitations on the scope of what can be described, but rather as descriptions of specific implementations of the subject matter. Some features described in the context of separate embodiments herein can also be implemented in a single embodiment in combination. Conversely, various features described in the context of a single embodiment can also be implemented in multiple embodiments separately or in any suitable subcombination. Furthermore, although features may be described above as functioning in a particular combination, and even initially described as such, one or more features from the described combination may, in some cases, be deleted from the combination, and the described combination may relate to a subcombination or a variation of a subcombination.
[0073] Although the subject matter herein has been described with respect to certain aspects, other aspects may be implemented and are within the scope of the appended claims. For example, although operations are shown in a particular order in the figures, this should not be understood as requiring such operations to be performed in the particular order or sequence shown, or that all of the illustrated operations be performed, to achieve desired results. Actions recited in the claims may be performed in a different order and still achieve desired results. As an example, the processes depicted in the accompanying figures do not necessarily require the particular order or sequence shown to achieve desired results. In certain circumstances, multitasking and parallel processing may be advantageous. Furthermore, the separation of various system components in the above-described aspects should not be understood as requiring such separation in all aspects, and it should be understood that the program components and systems described above may generally be integrated together in a single software product or packaged into multiple software products.
[0074] The title, background, brief description of the drawings, abstract, and drawings are incorporated herein in the disclosure and are provided as illustrative examples of the disclosure, not as limiting descriptions. They are presented with the understanding that they will not be used to limit the scope or meaning of the claims. In addition, the detailed description shows that the description provides illustrative examples, and that various features have been grouped together in various implementations for the purpose of streamlining the disclosure. The method of disclosure should not be interpreted as reflecting an intention that the described subject matter requires more features than are expressly recited in each claim. Rather, as the claims reflect, inventive subject matter lies in fewer than all features of a single disclosed structure or operation. The claims are incorporated herein in the detailed description, with each claim standing on its own as a separately described subject matter.
[0075] The claims are not intended to be limited to the embodiments described herein, but are to be accorded full scope in accordance with the claims as literal, including all legal equivalents. Nonetheless, no claim is intended, and no claim should be construed, to cover subject matter that does not satisfy the requirements of applicable patent law.
[0076] Enumeration of embodiments Embodiments disclosed herein include the following.
[0077] Embodiment I. In one embodiment, a computer-implemented method includes: first receiving incentive metadata from a brand manufacturer for an incentive associated with a selected product, the incentive metadata including a product identifier and redemption rules. The computer-implemented method also includes requesting a server host to create a distributed ledger record of the incentive using the incentive metadata, providing the incentive to a consumer via a mobile device, the incentive including the incentive metadata, assigning the incentive a public address, and receiving from the server host a first private key associated with a hash of the public address in the distributed ledger record. The computer-implemented method also includes providing the first private key to the consumer when the consumer selects the incentive using the mobile device, receiving a second private key indicating that a redemption of the incentive has occurred at a retailer, accessing the distributed ledger record using the second private key to authenticate the redemption of the incentive, and recording the redemption of the incentive at a retailer in the distributed ledger record when the redemption of the incentive is authenticated.
[0078] Embodiment II. In one embodiment, a system includes one or more processors and a memory storing instructions that, when executed by the one or more processors, cause the system to receive incentive metadata from a brand manufacturer for an incentive associated with a selected product, the incentive metadata including a product identifier and redemption rules. When executed by the one or more processors, the instructions also cause the system to request a server host to create a distributed ledger record of the incentive with the incentive metadata, provide the incentive to a consumer via a mobile device, the incentive including the incentive metadata, assign a public address to the incentive, receive from the server host a first private key associated with a hash of the public address in the distributed ledger record, and provide the first private key to the consumer when the consumer selects the incentive using the mobile device. When the one or more processors execute the instructions, the instructions also cause the system to receive a second private key indicating that the redemption of the incentive has occurred at a retailer, access a blockchain record using the second private key to authenticate the redemption of the incentive, and record the redemption of the incentive at the retailer in the blockchain record when the redemption of the incentive is authenticated.
[0079] Embodiment III. In one embodiment, a computer-implemented method includes providing incentive metadata responsive to a brand and a content provider, the incentive metadata including a barcode, receiving a request for authorization of an incentive from a point of sale at a first retailer when the barcode is detected, the request including an offer code, a serialized barcode, and a product code scanned at the point of sale. The computer-implemented method also authenticates an incentive identified in the incentive metadata based on an incentive history, provides an authorization message to the first retailer at the point of sale, provides detailed redemption data to the brand when a discount is applied to the transaction, and stores transaction data in a database.
[0080] Embodiment IV. In one embodiment, a computer-implemented method includes first providing certificate metadata according to a source and a content provider, the certificate metadata including a barcode, and receiving a request for certificate authentication from an operation point at a first location when the barcode is detected, the request including an offer code, a serialized barcode, and a product code scanned at the operation point. The computer-implemented method also authenticates a certificate identified in the certificate metadata based on a log history, provides an authentication message to the first location at the operation point, provides detailed redemption data to the source when a discount is applied to an operation, and stores operation data in a database.
[0081] Any one of embodiments I, II, III, and IV may be combined with any one of the following elements, in any order and number, consistent with the embodiments disclosed herein.
[0082] Element 1, receiving a second private key indicating that the incentive has been redeemed at a retail store occurs in response to a request by the consumer to authenticate the incentive at a retail store point of sale, the request by the consumer including the first private key. Element 2, receiving a second private key indicating that the incentive has been redeemed at a retail store occurs when the retail store verifies that the redemption rules are satisfied, assigns a new address to the distributed ledger record, requests the second private key from the distributed ledger host, and adds the redemption of the incentive to the distributed ledger record. Element 3, offering an incentive to a consumer via a mobile device includes a barcode identifying the consumer in the incentive metadata. Element 4, further includes providing detailed redemption data to a brand manufacturer when a discount is applied to a purchase transaction of the selected item at the retail store. Element 5, further includes requesting the distributed ledger host to include an offer block in the distributed ledger record associated with the incentive. Element 6, further comprising requesting the distributed ledger host to include a clear block in the distributed ledger record associated with the incentive when the redemption of the incentive is successful. Element 7, further comprising requesting the distributed ledger host to include a block associated with the incentive in the distributed ledger record when the consumer clips an incentive offer to use the incentive. Element 8, further comprising providing a command to the retailer to print a hard copy of the incentive on a printer at a point of sale of the retailer. Element 9, further comprising clearing the incentive from the distributed ledger host when the incentive is redeemed or an error occurs indicating an invalid transaction using the incentive.
[0083] Element 10, in receiving a second private key indicating that the incentive has been redeemed at a retail store, the one or more processors execute instructions for authenticating the incentive at a retail store's point of sale using the first private key. Element 11, in receiving a second private key indicating that the incentive has been redeemed at a retail store, the one or more processors execute instructions for the retail store to verify that the redemption rules have been satisfied, assign a new address to the distributed ledger record, request the second private key from the distributed ledger host, and request the distributed ledger host to include the redemption of the incentive in the distributed ledger record. Element 12, in providing an incentive to a consumer via a mobile device, the one or more processors execute instructions for including a barcode identifying the consumer in the incentive metadata. Element 13, the one or more processors further execute instructions for providing detailed redemption data to a brand manufacturer when a discount is applied to a purchase transaction of the selected item at the retail store. Element 14, the one or more processors further execute instructions to request the distributed ledger host to include an offer block in the distributed ledger record associated with the incentive. Element 15, the one or more processors further execute instructions to request the distributed ledger host to include a clear block in the distributed ledger record associated with the incentive upon successful redemption of the incentive. Element 16, the one or more processors further execute instructions to request the distributed ledger host to include a block associated with the incentive in the distributed ledger record when the consumer clips an incentive offer to use the incentive. Element 17, the one or more processors further execute instructions to provide a command to the retailer to print a hard copy of the incentive at a printer at a point of sale of the retailer.Element 18, the one or more processors further execute instructions to clear the incentive from the distributed ledger host when the incentive is redeemed or when an error occurs indicating an invalid transaction using the incentive.
[0084] Element 19, providing incentive metadata includes providing at least one of a consumer identifier, a mobile device identifier, and a product code. Element 20, authenticating the incentive based on incentive history includes applying one of a business rule, an anti-stacking rule, and a gating rule to the incentive metadata in an authentication engine. Element 21, authenticating the incentive based on incentive history includes verifying a clip block associated with the incentive in a distributed ledger host. Element 22, authenticating the incentive based on incentive history includes verifying a consumer identity with a registration tool. Element 23, authenticating the incentive based on incentive history includes receiving an identity of the first retailer of a plurality of retailers in a network from a retail integrator and verifying whether a second retailer has made a request for authentication of the incentive. Element 24, authenticating the incentive based on incentive history includes receiving an indication from the first retailer that the incentive violates an anti-stacking rule. Element 25 further includes providing the incentive metadata to the second retailer when the first retailer does not have the product identified in the incentive metadata in stock. Element 26, providing an authentication message to the first retailer at the point of sale includes providing an encrypted key to a client device at the point of sale to access a distributed ledger network including an incentive redemption block. Element 27, further includes providing a command to a printer at the point of sale of the first retailer to print a hard copy of the incentive to a consumer identified in the incentive metadata.
[0085] Element 28, providing the certificate metadata includes providing at least one of a consumer identifier, a mobile device identifier, and a product code. Element 29, authenticating the certificate based on an incentive history includes applying one of a business rule, an anti-stacking rule, and a gating rule to the certificate metadata in an authentication engine. Element 30, authenticating the certificate based on an incentive history includes verifying a clip block associated with the certificate in a distributed ledger host. Element 31, authenticating the certificate based on a certificate history includes verifying a consumer's identity with a registration tool. Element 32, authenticating the certificate based on a certificate history includes receiving an identification of the first location of a plurality of retail stores in a network from a retail integrator and verifying whether a second location made a request to authenticate the certificate. Element 33, authenticating the certificate based on a certificate history includes receiving an indication from the first location that the certificate violates an anti-stacking rule. Element 34, providing an authentication message to the first location at the operation point includes providing an encrypted key to a client device at the operation point for accessing a distributed ledger network including a certificate redemption block. Element 35, further including providing the certificate metadata to the second location when the first location does not have inventory of the product identified in the certificate metadata. Element 36, further including providing a command to a printer at the operation point of the first location to print a hard copy of the certificate to a user identified in the certificate metadata.
Claims
1. receiving incentive metadata from the brand manufacturer for incentives associated with the selected product, the incentive metadata including a product identifier and redemption rules; Requesting a distributed ledger host to create a distributed ledger record of the incentive using the incentive metadata; providing the incentive to the consumer via a mobile device, the incentive including the incentive metadata; assigning a public address to the incentive and receiving from the distributed ledger host a first private key for accessing the distributed ledger record and authenticating the incentive, the first private key being associated with a hash of the public address in the distributed ledger record; providing the first private key to the consumer when the consumer selects the incentive using the mobile device; receiving a second private key indicating that the incentive was authenticated and redeemed at a retailer using the first private key; accessing the distributed ledger record using the second private key to authenticate the redemption of the incentive; recording the redemption of the incentive at a retailer in the distributed ledger record when the redemption of the incentive is authorized. The computer-implemented method includes:
2. 2. The computer-implemented method of claim 1, wherein receiving a second private key indicating that the incentive has been redeemed at a retail store occurs in response to a request by the consumer to authenticate the incentive at a retail store point of sale, the request by the consumer including the first private key.
3. 3. The computer-implemented method of claim 1 or 2, wherein receiving a second private key at a retailer indicating that the incentive has been redeemed occurs when the retailer verifies that the redemption rules are satisfied, assigns a new address to the distributed ledger record, requests the second private key from the distributed ledger host, and adds the redemption of the incentive to the distributed ledger record.
4. 4. The computer-implemented method of claim 1, wherein providing an incentive to a consumer via a mobile device comprises including a barcode identifying the consumer in the incentive metadata.
5. 5. The computer-implemented method of claim 1, further comprising providing detailed redemption data to a brand manufacturer when a discount is applied to a purchase transaction of the selected item at the retail store.
6. 6. The computer-implemented method of claim 1, further comprising: requesting the distributed ledger host to include an offer block in the distributed ledger record associated with the incentive.
7. 7. The computer-implemented method of any one of claims 1 to 6, further comprising, upon successful redemption of the incentive, requesting the distributed ledger host to include a clear block in the distributed ledger record associated with the incentive.
8. 8. The computer-implemented method of claim 1, further comprising: when the consumer clips an incentive offer to use the incentive, requesting the distributed ledger host to include a block associated with the incentive in the distributed ledger record.
9. The computer-implemented method of any one of claims 1 to 8, further comprising providing a command to the retailer to print a hard copy of the incentive on a printer at a point of sale of the retailer.
10. 10. The computer-implemented method of any one of claims 1 to 9, further comprising clearing the incentive from the distributed ledger host when the incentive is redeemed or when an error occurs indicating an invalid transaction using the incentive.
11. one or more processors; A memory for storing instructions; A system comprising: The instructions, when executed by the one or more processors, cause the system to: receiving incentive metadata from the brand manufacturer for incentives associated with the selected product, the incentive metadata including a product identifier and redemption rules; Requesting a distributed ledger host to create a distributed ledger record of the incentive using the incentive metadata; providing the incentive to the consumer via a mobile device, the incentive including the incentive metadata; assigning a public address to the incentive and receiving from the distributed ledger host a first private key for accessing the distributed ledger record and authenticating the incentive, the first private key being associated with a hash of the public address in the distributed ledger record; providing the first private key to the consumer when the consumer selects the incentive using the mobile device; receiving a second private key indicating that the incentive was authenticated and redeemed at a retailer using the first private key; accessing the distributed ledger record using the second private key to authenticate the redemption of the incentive; recording the redemption of the incentive at a retailer in the distributed ledger record when the redemption of the incentive is authorized. A system that makes this happen.
12. 12. The system of claim 11, wherein upon receiving a second private key indicating that the incentive has been redeemed at a retail store, the one or more processors execute instructions to authenticate the incentive at a retail store point of sale using the first private key.
13. 13. The system of claim 11 or 12, wherein upon receiving a second private key indicating that the redemption of the incentive has occurred at a retailer, the one or more processors execute instructions for the retailer to verify that the redemption rules have been satisfied, assign a new address to the distributed ledger record, request the second private key from the distributed ledger host, and request the distributed ledger host to include the redemption of the incentive in the distributed ledger record.
14. The system of any one of claims 11 to 13, wherein in providing an incentive to a consumer via a mobile device, the one or more processors execute instructions to include a barcode identifying the consumer in the incentive metadata.
15. The system of any one of claims 11 to 14, wherein the one or more processors further execute instructions to provide detailed redemption data to a brand manufacturer when a discount is applied to a purchase transaction of the selected item at the retail store.
16. 16. The system of claim 11, wherein the one or more processors further execute instructions to request the distributed ledger host to include an offer block in the distributed ledger record associated with the incentive.
17. 17. The system of any one of claims 11 to 16, wherein the one or more processors further execute instructions to request the distributed ledger host to include a clear block in the distributed ledger record associated with the incentive upon successful redemption of the incentive.
18. 18. The system of any one of claims 11 to 17, wherein the one or more processors further execute instructions to request the distributed ledger host to include a block associated with the incentive in the distributed ledger record when the consumer clips an incentive offer to use the incentive.
19. 19. The system of any one of claims 11 to 18, wherein the one or more processors further execute instructions to provide a command to the retailer to print a hard copy of the incentive on a printer at a point of sale of the retailer.
20. 20. The system of any one of claims 11-19, wherein the one or more processors further execute instructions to clear the incentive from the distributed ledger host when the incentive is redeemed or when an error occurs indicating an invalid transaction using the incentive.
Citation Information
Patent Citations
Computer-implemented electronic coupon system and methods using a blockchain
US20170364936A1
Method and system for authentication of coupons via blockchain
US20180150865A1
Offer personalization engine for targeted marketing of branded consumer packaged goods
WO2018213147A1