Method and system for providing digital receipt authentication - Patents.com
The system generates digital receipts with product source information, addressing consumer difficulties in accessing blockchain data by processing transaction data through a server to provide transparent product history.
Patent Information
- Application Number
- JP2024539322
- Authority / Receiving Office
- JP · JP
- Patent Type
- Applications
- Current Assignee / Owner
- Priority Date
- 2021-12-28
- Filing Date
- 2022-12-14
- Publication Date
- 2025-02-04
- Estimated Expiration
- 2042-12-14
AI Technical Summary
Consumers face difficulties in accessing and verifying the source information of products due to the complexity of blockchain systems, making it hard for them to confirm product authenticity and trace the supply chain history.
A system and method that generates digital receipts containing product source information by processing transaction data through a computing device, using a processing server to identify and format source data from blockchain networks, and transmitting it to consumer devices in a user-friendly format.
Enables consumers to easily access and understand the source information of purchased products, simplifying the process of verifying product authenticity and supply chain history without requiring technical expertise.
Smart Images

Figure 2025503534000001_ABST
Abstract
Description
[Technical field]
[0001] (CROSS REFERENCE TO RELATED APPLICATIONS) This application claims the benefit of U.S. Patent Application No. 17 / 563,221, filed December 28, 2021, the entire disclosure of which is incorporated herein by reference for all purposes.
[0002] The present disclosure relates to providing proof of origin of a product via a digital receipt, and more particularly, to generating a digital receipt for a transaction that includes origin information for a purchased product. [Background technology]
[0003] In recent years, consumers have become more interested than ever in the provenance of the products they purchase and the products they interact with. There are myriad reasons why one may be interested in the provenance of a product, such as a consumer wanting to ensure that a manufacturer uses ethical practices, a reseller wanting to verify the ownership history of a used item, a manufacturer needing to track the distribution of a product related to a necessary recall, a distributor concerned about leakage during the distribution process of a particular product, etc. Traditionally, the solutions to these problems can be as diverse as the problems themselves. For example, a distributor may use a scanning system to apply their own label to a package, but this may be of little use to the manufacturer or end user. In another example, a consumer may be able to discover a manufacturer's ethical practices but be unable to verify whether the product they purchase is genuine from the manufacturer. In yet another example, a manufacturer may need to have a recall and may recognize which products need to be recalled, but may have little ability to contact the end merchant or consumer who received the product.
[0004] One such solution is the use of blockchain to track the provenance of items through the supply chain. Such a solution is described in U.S. Patent Application No. 16 / 875,154, entitled "Method and System for Generalized Provenance Solution for Blockchain Supply Chain Applications," by Steven C. Davis et al., filed May 15, 2020, and incorporated herein by reference in its entirety. In this solution, every time a product passes from one distributor to another, a new entry is created on the blockchain for every event that affects the provenance of the product, such as the manufacturer of the product and the sale of the product to a consumer. Because blockchain is immutable, the information cannot be changed, thus allowing for an accurate record of the provenance of the product that is highly resistant to fraud.
[0005] However, blockchain is often not consumer-friendly. Consumers who purchase products may not be aware that such records regarding the origin of the product exist. Even if they are aware, the consumer must be able to figure out how to access the blockchain, how to identify the appropriate unique identifier for the purchased product, how to identify the relevant items on the blockchain, and how to analyze the identified items to obtain information regarding the origin of the product. Such procedures may be difficult for non-technical consumers and may be time-consuming for tech-savvy consumers. As a result, there is a need for a technological solution that simplifies the process of identifying the origin of a product and presenting it to the consumer. Summary of the Invention
[0006] The present disclosure provides a description of a system and method for generating a digital receipt for a transaction that includes origin information for a purchased product. A consumer can use a suitable computing device to request information about the transaction involved, such as when accessing bank information or a credit card statement through a dedicated website or application program. Such a request for information can be sent to a processing server configured to identify a unique identifier for each product purchased in the transaction and obtain the origin information for each product, either via another computing device or directly by the processing server. The origin information can be used to generate origin data for each purchased product that can be formatted to be easily understood by the requesting consumer. A digital receipt for the transaction that includes the generated origin data can then be generated, which is then sent to and presented on the consumer's device. As a result, the origin information for the purchased product can be easily accessed using an interface that the consumer is already familiar with.
[0007] A method for generating a digital receipt for a transaction including origin information of a purchased product includes receiving, by a receiver of a processing server, a data request from a first computing device including at least a transaction identifier associated with the processed payment transaction; identifying, by a processor of the processing server, transaction details of the processed payment transaction based on the transaction identifier, the transaction details including at least a product identifier for each of one or more products purchased in the processed payment transaction; transmitting, by a transmitter of the processing server, the product identifier for each of the one or more products to a second computing device; receiving, by the receiver of the processing server, origin data for each of the one or more products from the second computing device; generating, by the processor of the processing server, a digital receipt for the processed payment transaction, the digital receipt including at least the received origin data for each of the one or more products; and transmitting, by the transmitter of the processing server, the generated digital receipt to the first computing device.
[0008] A system for generating a digital receipt for a transaction including origin information of a purchased product includes a first computing device, a second computing device, and a processing server including a receiver that receives a data request from the first computing device including at least a transaction identifier associated with the processed payment transaction, a processor that identifies transaction details for the processed payment transaction based on the transaction identifier, the transaction details including at least a product identifier for each of one or more products purchased in the processed payment transaction, and a transmitter that transmits the product identifiers for each of the one or more products to the second computing device, wherein the receiver of the processing server further receives origin data for each of the one or more products from the second computing device, the processor of the processing server further generates a digital receipt for the processed payment transaction, the digital receipt including at least the received origin data for each of the one or more products, and the transmitter of the processing server further transmits the generated digital receipt to the first computing device.
[0009] The scope of the present disclosure is best understood from the following detailed description of exemplary embodiments when read in conjunction with the accompanying drawing figures, which include the following figures: [Brief description of the drawings]
[0010] [Figure 1] FIG. 2 is a block diagram illustrating a high-level system architecture for generating digital receipts that include provenance information, according to an example embodiment. [Diagram 2] 2 is a block diagram illustrating a processing server in the system of FIG. 1 for generating digital receipts including provenance information according to an exemplary embodiment. [Figure 3A] 2 is a flow diagram illustrating a process for generating a digital receipt including provenance information in the system of FIG. 1 according to an exemplary embodiment. [Figure 3B]2 is a flow diagram illustrating a process for generating a digital receipt including provenance information in the system of FIG. 1 according to an exemplary embodiment. [Figure 4] 4 is a flow chart illustrating an example method for generating a digital receipt for a transaction that includes provenance information for a purchased product, according to an example embodiment. [Diagram 5] FIG. 1 is a block diagram illustrating a computer system architecture, in accordance with an exemplary embodiment. DETAILED DESCRIPTION OF THE PREFERRED EMBODIMENTS
[0011] Further areas of applicability of the present disclosure will become apparent from the detailed description provided hereinafter. It should be understood that the detailed description of the exemplary embodiments is for purposes of illustration only, and is therefore not intended to necessarily limit the scope of the disclosure.
[0012] System for generating digital receipts with proof of origin - Patents.com FIG. 1 illustrates a system 100 for generating a digital receipt that includes proof of origin information for a product purchased in a payment transaction.
[0013] The system 100 may include a processing server 102. The processing server 102 may be configured to generate a digital receipt of the payment transaction, including the origin information of the purchased product, for use by the consumer, as described in more detail below. In the system 100, the consumer may use a user device 104 to request a digital receipt from the processing server 102. The user device 104 may be any type of computing device suitable for being specifically programmed to perform the functions described herein, such as a desktop computer, a laptop computer, a tablet computer, a notebook computer, a mobile phone, a smartphone, a smart watch, a smart television, a wearable computing device, or the like. The consumer may use interaction with the user device 104 to access a list of payment transactions, such as those in which the consumer has been involved, and select the payment transaction for which a digital receipt is requested. The user device 104 may electronically transmit a unique identifier of the payment transaction (referred to herein as a transaction identifier) to the processing server 102 using an appropriate communication network and method.
[0014] In some embodiments, the user device 104 may access a website that displays a list of payment transactions for which digital receipts are available, which may be hosted by or on behalf of the processing server 102. In such embodiments, the transaction identifier of the selected transaction may be transmitted to the processing server 102 via a form or hyperlink in a web page. In another embodiment, the user device 104 may have an application program stored thereon or accessible to and executed by the user device 104 that displays the list of payment transactions. In such embodiments, the transaction identifier of the payment transaction may be transmitted electronically to the processing server 102 via an application programming interface or other suitable method.
[0015] The processing server 102 may receive a transaction identifier from the user device 104 and identify transaction details of the payment transaction associated with the transaction identifier. The transaction details may include any data associated with the payment transaction, including at least a unique identifier for each product purchased in the payment transaction (referred to herein as a product identifier). Additional transaction details may include, for example, time, date, geographic location, transaction type, currency, payment method, merchant identifier, point of sale identifier, user device identifier, reward data, loyalty data, coupon data, transaction amount, sales data, tax data, other product data for each product purchased, etc. In some embodiments, the transaction details of the payment transaction may be stored in a database local to or accessible by the processing server 102. In such an embodiment, the processing server 102 may use the transaction identifier to query the database and identify transaction details of the associated payment transaction.
[0016] In other embodiments, the processing server 102 can be configured to obtain transaction details from another computing system. For example, the system 100 can include an issuer system 106, which can be a computing system of or associated with an issuing financial institution, such as an issuing bank, that issued the transaction account used to fund the payment transaction for which a digital receipt is being requested. The issuer system 106 can locally store or access the transaction details of the selected payment transaction. The processing server 102 can electronically transmit the transaction identifier to the issuer system 106 using a suitable communication network and method. The issuer system 106 can use the transaction identifier to identify additional transaction details of the payment transaction and electronically transmit the additional transaction details in a data message to the processing server 102 using a suitable communication network and method.
[0017] In some embodiments, the processing server 102 and the issuer system 106 may be part of the same computing system or environment, or in some cases may be the same device configured to perform the functions of both the processing server 102 and the issuer system 106, as described herein. For example, the user device 104 may execute an application program (e.g., a banking app) associated with the issuing financial institution to display a list of payment transactions and select a payment transaction for which a digital receipt is requested. In such an example, the issuer system 106 may receive the transaction identifier via the application program and identify additional transaction details of the associated payment transaction. In one embodiment, if the processing server 102 is separate from the issuer system 106, the issuer system 106 may receive the transaction identifier via the banking application, identify the additional transaction details, and electronically transmit the transaction details to the processing server 102 for use in identifying provenance data and generating a digital receipt.
[0018] Once the processing server 102 identifies additional transaction details of the payment transaction, including at least a product identifier for each product purchased in the payment transaction, the processing server 102 may identify provenance data for each purchased product. In some embodiments, the processing server 102 may first electronically transmit a list of the purchased products to the user device 104 for display to the user, and the user may select one or more of the purchased products for which provenance data is requested. In such embodiments, the user device 104 may electronically transmit the user's selection (e.g., product identifiers for each selected product) to the processing server 102. In such a case, the processing server 102 may identify provenance data only for those products selected by the user of the user device 104.
[0019] The processing server 102 may be configured to directly identify the provenance data of each product or may receive the provenance data of each product from another computing system, such as the provenance platform 112. Thus, the functions described herein relating to identifying the provenance data may be performed by the processing server 102 and / or the provenance platform 112, and the processing server 102 and the provenance platform may communicate with each other using any suitable communications network and method.
[0020] The processing server 102 can be configured to obtain data regarding the origin of each product from the blockchain. The blockchain can be created and maintained by a blockchain network 108. The blockchain network 108 can include multiple blockchain nodes 110. Each blockchain node 110 can be a computing system, such as that shown in FIG. 5 and described in more detail below, configured to perform functions related to processing and managing the blockchain, including generating blockchain data values, verifying proposed blockchain transactions, verifying digital signatures, generating new blocks, validating new blocks, and maintaining a copy of the blockchain. In some embodiments, the processing server 102 can be a blockchain node 110 in the blockchain network 108. In such embodiments, all of the functions of the blockchain node 112 described herein can be performed by the processing server 102.
[0021] A blockchain may be a distributed ledger comprising at least a number of blocks. Each block may include at least a block header and one or more data values. Each block header may include at least a timestamp, a block reference value, and a data reference value. The timestamp is the time when the block header is generated and may be represented using any suitable method (e.g., UNIX timestamp, DateTime, etc.). The block reference value may be a value that references (e.g., based on the timestamp) a preceding block in the blockchain. In some embodiments, the block reference value in the block header may be a reference to the block header of the most recently added block preceding each block. In an exemplary embodiment, the block reference value may be a hash value generated by hashing the block header of the most recently added block. The data reference value may similarly be a reference to one or more data values stored in the block including the block header. In an exemplary embodiment, the data reference value may be a hash value generated by hashing one or more data values. For example, the block reference value may be the root of a Merkle tree generated using one or more data values.
[0022] The use of block reference values and data reference values in each block header can provide immutability to the blockchain. Any attempted change to the data value requires the generation of a new data reference value for the block, which in turn requires the generation of a new block reference value for the subsequent block, which in turn requires the generation of a new block reference value for all subsequent blocks. For the change to be permanent, the above must be performed and updated for all blockchain nodes 110 in the blockchain network 108 before a new block is created and added to the blockchain. Computational and communication limitations can make such changes very difficult, if not impossible, and thus the blockchain achieves immutability.
[0023] In some embodiments, a blockchain can be used to store information about a blockchain transaction performed between two different blockchain wallets. A blockchain wallet can include a private key of a cryptographic key pair used to generate a digital signature that serves as a payer's acknowledgement of the blockchain transaction. The digital signature can be verified by the blockchain network 108 using the public key of the cryptographic key pair. In some cases, the term "blockchain wallet" can specifically refer to a private key. In other cases, the term "blockchain wallet" can refer to a computing device (e.g., user device 104, processing server 102, issuer system 106, etc.) that stores a private key for use in a blockchain transaction. For example, each computing device can have its own private key for each cryptographic key pair, and each computing device can be a blockchain wallet for use in transactions with a blockchain associated with the blockchain network. The computing device can be any type of device suitable for storing and utilizing a blockchain wallet, such as a desktop computer, a laptop computer, a notebook computer, a tablet computer, a mobile phone, a smartphone, a smart watch, a smart TV, a wearable computing device, an embedded computing device, etc.
[0024] Each blockchain data value stored in the blockchain may correspond to a blockchain transaction or other data storage, if applicable. A blockchain transaction may include at least a digital signature of the sender of the currency (e.g., a user device 104) generated using the sender's private key, a blockchain address of the recipient of the currency (e.g., another user device 104) generated using the recipient's public key, and the blockchain currency amount to be transferred or other data being stored. In some blockchain transactions, the transaction may also include one or more blockchain addresses of the sender where the blockchain currency is currently stored (e.g., the digital signature certifies access to such currency), and an address generated using the sender's public key for any changes held by the sender. The addresses sent with the cryptocurrency that can be used in future transactions are called "output" addresses, as each address was previously used to capture the output of a previous blockchain transaction, and are also called "unspent transactions". This is because there was currency sent to the address during a previous transaction where that currency remains unspent. In some cases, the blockchain transaction may also include the sender's public key for use by the entity in validating the transaction. For conventional processing of a blockchain transaction, such data may be provided by either the sender or the recipient to a blockchain node 110 in the blockchain network 108. The node may verify the digital signature using the public key of the sender's wallet's cryptographic key pair. The node may also verify the sender's access to the funds (e.g., that the unspent transaction has not yet been spent and was sent to an address associated with the sender's wallet) and a process known as "confirming" the transaction. The node may then include the blockchain transaction in a new block.In a traditional blockchain implementation, a new block may be verified by other nodes in the blockchain network 108 and distributed to all of the blockchain nodes 110 in the blockchain network 108 before being added to the blockchain. If the blockchain data value is not associated with a blockchain transaction but instead is associated with the storage of other types of data, the blockchain data value may still include or involve digital signature verification.
[0025] In the system 100, blockchain data values can be used to store data regarding events associated with the provenance of a product. Additional information regarding the storage of provenance data in blockchain data values can be found, for example, in U.S. Patent Application No. 16 / 875,154, entitled "Method and System for Generalized Provenance Solution for Blockchain Supply Chain Applications," by Steven C. Davis et al., filed May 15, 2020, which is incorporated herein by reference in its entirety. Such event information regarding the provenance of a product can include, for example, data regarding the manufacture, distribution, shipping, storage, sale, and resale of the product. For example, the blockchain data values can include an event of the date of manufacture digitally signed by the manufacturer, an event of the date the product is picked up for distribution from the manufacturer and signed by the distributor, an event of the date the product is picked up by a last-mile delivery company and signed by the delivery company, an event of the date the product is delivered to a merchant for sale and signed by the merchant, an event of the date the product is available for purchase and signed by the merchant, an event of the date the product is purchased and signed by the consumer who purchases it, and the like.
[0026] Each blockchain data value may include a product identifier for a product with which the provenance event is associated. The product identifier may be any value that is unique to the product among all other products for which provenance data is stored on the blockchain. The product identifier may be, for example, an assigned identification value, a registration number, a serial number, a universal product code, or other suitable value. The processing server 102 may identify all blockchain data values in the blockchain that include a product identifier for each product that identifies provenance data. The processing server 102 may analyze each identified blockchain data value to generate a set of provenance data for the product.
[0027] The set of provenance data may depend on the number and type of blockchain data items identified and analyzed for a product, and may vary by product and its history. For example, for some goods, a detailed manufacturing history is available, such as the sourcing of one or more of the materials used to manufacture the product, while other goods may only have a manufacturing date and / or manufacturing location. The processing server 102 may also be configured to enrich the provenance data of the object, such as by identifying the names of entities involved in the event (e.g., using the identifying information included in each blockchain data item) or by formatting the data to be easily readable by a user of the user device 104 (e.g., converting timestamps into a recognizable time and date format, converting geographic coordinates into a city and state or address, etc.).
[0028] Once the origin data for each product has been generated by the processing server 102, the processing server 102 can generate a digital receipt for the payment transaction. The digital receipt may be a data object that includes a set of origin data for each selected product purchased in the payment transaction and any additional transaction details obtained by the processing server 102. In some cases, the digital receipt may be formatted in a manner similar to a traditional physical receipt to make it easier for the consumer to read. The data object may be any type of data object suitable for transmitting and displaying the digital receipt, such as an image file that displays the digital receipt, a text file that includes all the data formatted for easy reading, or other data file that the consumer can open and view using the user device 104. Once the digital receipt has been generated, the processing server 102 can electronically transmit the digital receipt to the user device 104 using an appropriate communication network and method. The user device 104 can then display the digital receipt to its user. For example, in an example where the digital receipt is requested through a web page, transmission of the transaction identifier can cause a new page to be displayed that includes the digital receipt generated by the processing server 102. In another example, when the user device 104 executes an application program for selection of a transaction identifier, the application program can display a digital receipt in response. The processing server 102 and / or the user device 104 can store the generated and / or received digital receipt for later display or transmission if requested again by the user.
[0029] In some embodiments, the provenance data included in the digital receipt may include a hyperlink or other interactable element. By using such an element, the user may request additional details regarding the provenance of the product or a particular provenance event. For example, the provenance data for a luxury item may appear on the digital receipt as "Manufactured by LuxuryCo on August 1, 2021." The user may interact using text or another suitable element to display the additional information. In such a case, the user device 104 may electronically send a request for additional information to the processing server 102, which may include text, a transaction identifier, a product identifier, an event identifier (e.g., embedded in the digital receipt as identified in the corresponding blockchain data item), or other suitable information. The processing server 102 may use that information to identify the blockchain data item corresponding to the event and identify the additional details that are formatted and sent back to the user device 104 in a data message. The user device 104 may then display the additional details, such as as part of the digital receipt or in a separate display element. For instance, in the above example, the user could be presented with the exact time of production, the geographic location where the item was produced, LuxuryCo's digital signature, and the result of verifying that digital signature using the public key of LuxuryCo's cryptographic key pair.
[0030] The methods and systems described herein allow consumers to view digital receipts of past payment transactions that include provenance data for products purchased as part of the payment transaction. By using the processing server 102 to identify transaction details, then identify the provenance data, and subsequently generate a digital receipt that includes the provenance data, consumers are able to obtain this useful information without modifying the issuer system 106 or user device 104, and this can be done in a manner to which consumers are already accustomed. In this manner, the processing server 102 can improve upon existing systems for consumers to view transaction history and present provenance data to consumers in a user-friendly manner not available in existing systems.
[0031] Processing Server 2 illustrates one embodiment of the processing server 102 of the system 100. It will be apparent to one of ordinary skill in the art that the embodiment of the processing server 102 illustrated in FIG. 2 is provided merely as an example and does not encompass all possible configurations of a processing server 102 suitable for performing the functions described herein. For example, the computer system 500 illustrated in FIG. 5 and described in more detail below may be a suitable configuration of the processing server 102. Additional components in the system 100, such as the user device 104, the blockchain node 110, and the provenance platform 112, may include the components illustrated in FIG. 2 and described below.
[0032] The processing server 102 may include a receiving device 202. The receiving device 202 may be configured to receive data over one or more networks via one or more network protocols. In some cases, the receiving device 202 may be configured to receive data from the user devices 104, the issuer systems 106, the blockchain nodes 110, the provenance platforms 112, and other systems and entities via one or more communication means such as radio frequency, local area networks, wireless area networks, cellular communication networks, Bluetooth, the Internet, and the like. In some embodiments, the receiving device 202 may include multiple devices, such as different receiving devices receiving data over different networks, such as a first receiving device receiving data over a local area network and a second receiving device receiving data over the Internet. The receiving device 202 may receive an electronically transmitted data signal, whereby data may be superimposed or encoded on the data signal, decoded, parsed, read, or retrieved upon receipt of the data signal by the receiving device 202. In some cases, the receiving device 202 may include a parsing module for parsing the received data signal to retrieve the data superimposed thereon. For example, the receiving device 202 may include an analysis program configured to receive a data signal and convert the received data signal into usable input for functions performed by the processing device to implement the methods and systems described herein.
[0033] The receiving device 202 can be configured to receive data signals transmitted electronically by the user device 104 that are overlaid or encoded with a transaction identifier and other data for use in requesting a digital receipt (such as a product identifier for one or more products, provenance data for which more details are required, specific requests regarding the provenance data, etc.). The receiving device 202 can also be configured to receive data signals transmitted electronically by the issuer system 106 that are overlaid or encoded with transaction details, transaction identifiers, transaction account data, etc. The receiving device 202 can further be configured to receive data signals transmitted electronically by the blockchain node 110 and / or provenance platform that are overlaid or encoded with blocks, blockchain data items, provenance data, provenance events, etc.
[0034] The processing server 102 may also include a communication module 204. The communication module 204 may be configured to transfer data between modules, engines, databases, memory, and other components of the processing server 102 to perform the functions described herein. The communication module 204 may include one or more communication types and may utilize various communication methods for communication within a computing device. For example, the communication module 204 may include a bus, a connection pin connector, wires, etc. In some embodiments, the communication module 204 may also be configured to communicate between internal components of the processing server 102 and external components of the processing server 102, such as an externally connected database, display device, input device, etc. The processing server 102 may also include a processing unit. The processing unit may be configured to perform the functions of the processing server 102 described herein, as will be apparent to one of ordinary skill in the art. In some embodiments, the processing unit may include and / or consist of multiple engines and / or modules specifically configured to perform one or more functions of the processing unit, such as the query module 216, the generation module 218, the validation module 220, etc. As used herein, the term "module" may be software or hardware that is specifically programmed to receive an input, perform one or more operations using the input, and provide an output. The inputs, outputs, and operations performed by the various modules will be apparent to one of ordinary skill in the art based on this disclosure.
[0035] The processing server 102 may include an account database 206. The account database 206 may be configured to store a number of account profiles 208 using a suitable data storage format and schema. The account database 206 may be a relational database utilizing a structured query language for storing, identifying, modifying, updating, accessing, etc., structured data sets stored therein. Each account profile 208 may be a structured data set configured to store data related to one or more consumers and / or associated user devices 104. For example, the account profile 208 may include transaction details of a number of payment transactions involving the associated consumer, which may be stored in the account profile 208 utilizing a transaction identifier for each payment transaction for identification during the performance of the methods described herein.
[0036] The processing server 102 may also include memory 214. The memory 214 may be configured to store data (e.g., public keys, private keys, symmetric keys, etc.) for use by the processing server 102 in performing the functions described herein. The memory 214 may be configured to store data using appropriate data formatting methods and schemas and may be any suitable type of memory (e.g., read-only memory, random access memory, etc.). The memory 214 may include, for example, encryption keys and algorithms, communication protocols and standards, data formatting standards and protocols, program code for modules and application programs for the processing device, and other data suitable for use by the processing server 102 in performing the functions disclosed herein, as would be apparent to one of ordinary skill in the art. In some embodiments, the memory 214 may include a relational database using a structured query language to store, identify, modify, update, access, etc., stored structured data sets. The memory 214 may be configured to store, for example, encryption keys, encryption key pairs, communication information, data formatting rules, blockchain data, signature generation algorithms, account information, provenance data formatting rules, etc.
[0037] The processing server 102 may include a query module 216. The query module 216 may be configured to run a query on a database to identify information. The query module 216 may receive one or more data values or query strings based thereon and may run a query string on a designated database, such as the memory 212 of the processing server 102, to identify information stored therein. The query module 216 may output the identified information to an appropriate engine or module of the processing server 102, as appropriate. The query module 216 may, for example, run a query on the account database 206 to identify the account profile 208 of a consumer requesting a digital receipt for a payment transaction and identify transaction details of the transaction stored therein using the transaction identifier.
[0038] The processing server 102 may also include a generation module 218. The generation module 218 may be configured to generate data for use by the processing server 102 in performing the functions described herein. The generation module 218 may receive instructions as input, generate data based on the instructions, and output the generated data to one or more modules of the processing server 102. For example, the generation module 218 may be configured to generate a notification message, a confirmation message, a digital signature, a machine-readable code, a transaction amount, a data object, a digital receipt, a set of provenance data, etc.
[0039] The processing server 102 may also include a validation module 220. The validation module 220 may be configured to perform validation of the processing server 102 as part of the functionality described herein. The validation module 220 may receive as input instructions, which may also include data used to perform the validation, perform the validation upon request, and output the results of the validation to another module or engine of the processing server 102. The validation module 220 may be configured, for example, to validate a digital signature using an appropriate signature generation algorithm and key to validate a data object and / or the data contained therein.
[0040] The processing server 102 may also include a transmitting device 222. The transmitting device 222 may be configured to transmit data over one or more networks via one or more network protocols. In some cases, the transmitting device 222 may be configured to transmit data to the user devices 104, the issuer systems 106, the blockchain nodes 110, the provenance platforms 112, and other entities via one or more communication means (e.g., a local area network, a wireless area network, cellular communication, Bluetooth, radio frequency, the Internet, etc.). In some embodiments, the transmitting device 222 may include multiple devices, such as a first transmitting device for transmitting data over a local area network and a second transmitting device for transmitting data over the Internet, or different transmitting devices for transmitting data over different networks. The transmitting device 222 may electronically transmit a data signal having the superimposed data, the data being parseable by a receiving computing device. In some cases, the transmitting device 222 may include one or more modules for superimposing, encoding, or formatting the data into a data signal suitable for transmission.
[0041] The sending device 222 can be configured to electronically send the data signal overlaid or encoded with a data object, a digital receipt, a set of provenance data, detailed provenance data, a blockchain data item, an authorization request, a list of payment transaction identifiers, etc. to the user device 104. The sending device 222 can also be configured to electronically send the data signal overlaid or encoded with a transaction identifier to the issuer system 106. The sending device 222 can further be configured to electronically send the data signal overlaid or encoded with a product identifier, a blockchain data item identifier, etc. to the blockchain node 110 and / or the provenance platform.
[0042] Process to generate digital receipts 3A and 3B illustrate a process for generating a digital receipt for a payment transaction that includes source information for one or more products purchased in the transaction.
[0043] In step 302, the user device 104 may prompt the user to select a payment transaction from a list of processed payment transactions that include the user as the payer. The list of payment transactions may display any data associated with the payment transaction that may help the user make a selection, such as the merchant name, the transaction amount, the transaction time and / or date, a list of names of products purchased, etc. In step 304, the user device 104 may receive from the user a selection of a processed payment transaction for which a digital receipt is requested. The selection may include a transaction identifier for the selected payment transaction. In some embodiments, the user may also select one or more products purchased in the payment transaction for which provenance data is requested, and may further select desired criteria for the provenance data (e.g., level of detail, type of provenance event desired, etc.). In step 306, the user device 104 may electronically transmit the transaction identifier and any other information obtained from the user to the processing server 102 using an appropriate communications network and method.
[0044] In step 308, the receiving device 202 of the processing server 102 may receive the transaction identifier and any other associated data from the user device 104. In step 310, the query module 216 of the processing server 102 may perform a query on the account database 206 or memory 214 of the processing server 102 to identify additional transaction details of the payment transaction using the transaction identifier. The additional transaction details may include at least a product identifier of each product purchased in the payment transaction, and may further include a transaction time, a transaction date, a merchant identifier, a merchant name, a geographic location, a transaction type, a currency type, a transaction amount, and the like. In step 312, the sending device 222 of the processing server 102 may electronically transmit a request for provenance data to the provenance platform 112 using an appropriate communication network and method. The request may include at least a product identifier of each product purchased in the payment transaction, or, if a user of the user device 104 manually selected a product, may include a product identifier of each product selected by the user (e.g., received by the processing server 102 in step 308).
[0045] In step 314, the provenance platform 112 may receive the product identifier from the processing server 102. In step 316, the provenance platform may identify one or more blockchain data items for each purchased product in the blockchain associated with the blockchain network 108 by identifying the respective blockchain data items that include the product identifier received in requesting the provenance data. In step 318, the provenance platform 112 may generate a set of provenance data for each product. The provenance data may be generated following analysis of each blockchain data item identified for each product and the provenance events detailed therein. In some cases, the analysis of the provenance events may include identifying information regarding an associated entity, such as a merchant or manufacturer, such information may include, for example, a name, a product name, a geographic location, etc. The set of provenance data may be formatted in a manner that maximizes readability for a user of the user device 104, such as by requiring a specific format for the data included in the blockchain data items and the data identified therefrom. In step 320, the provenance platform 112 may electronically transmit the generated set of provenance data to the processing server 102.
[0046] In step 322, the receiving device 202 of the processing server 102 can receive a set of provenance data from the provenance platform 112, where each set of provenance data can be accompanied by a product identifier associated with the product to which the provenance data corresponds. In step 324, the generating module 218 of the processing server 102 can generate a digital receipt for the selected payment transaction. The digital receipt can be a data object that includes a set of provenance data for each product purchased in the payment transaction (e.g., or the selected product) and any additional transaction details identified by the processing server 102. In some embodiments, the data object can be formatted as an image or other suitable data type formatted in a manner similar to a conventional physical receipt. In step 326, the transmitting device 222 of the processing server 102 can electronically transmit the digital receipt including the set of provenance data for each product to the user device 104. In step 328, the user device 104 receives the digital receipt, and in step 330, the user device 104 can display the digital receipt to its user. The user can then view a transaction receipt that includes the origin data for each product purchased in the payment transaction.
[0047] Exemplary Method for Generating a Digital Receipt FIG. 4 illustrates a method 400 for generating a digital receipt for a transaction that includes origin information for the products purchased.
[0048] In step 402, a receiver (e.g., receiving device 202) of a processing server (e.g., processing server 102) may receive a data request from a first computing device (e.g., user device 104). The data request may include at least a transaction identifier associated with a processed payment transaction. In step 404, transaction details of the processed payment transaction may be identified by a processor (e.g., query module 216) of the processing server based on the transaction identifier, the transaction details including at least a product identifier for each of the one or more products purchased in the processed payment transaction. In step 406, the product identifier for each of the one or more products may be transmitted by a transmitter (e.g., transmitting device 222) of the processing server to a second computing device (e.g., blockchain node 110, provenance platform 112, etc.).
[0049] At step 408, the provenance data for each of the one or more products may be received from the second computing device by a receiver of the processing server. At step 410, a digital receipt for the processed payment transaction may be generated by a processor (e.g., generation module 218) of the processing server, the digital receipt including at least the received provenance data for each of the one or more products. At step 412, the generated digital receipt may be transmitted by a transmitter of the processing server to the first computing device.
[0050] In one embodiment, the second computing device may be a component of a processing server. In a further embodiment, each of the one or more data items may further include at least one of a time stamp, merchant data, shipping data, product data, and manufacturing data. In another further embodiment, the method 400 may further include identifying, by a processor of the second computing device (e.g., query module 216), one or more data items for each of the one or more products including a respective product identifier, and generating, by a processor of the second computing device (e.g., generation module 218), provenance data for each of the one or more products based on the one or more data items identified for the respective products. In yet a further embodiment, each of the one or more data items may be a blockchain data item included in a blockchain accessible by the second computing device. In yet another embodiment, the second computing device may be a blockchain node (e.g., blockchain node 110) in a blockchain network (e.g., blockchain network 108) associated with the blockchain.
[0051] In some embodiments, the digital receipt may further include at least one of a time, a date, a geographic location, a device identifier, a point of sale identifier, a transaction amount, a transaction type, a currency type, rewards data, loyalty data, and offer data. In one embodiment, identifying transaction details of the processed payment transaction may include transmitting, by a transmitter of the processing server, a transaction identifier to the external computing system, and receiving, by a receiver of the processing server, a product identifier for each of the one or more products from the external computing system.
[0052] Computer System Architecture 5 illustrates a computer system 500 in which an embodiment of the present disclosure or a portion thereof can be implemented as computer readable code. For example, the computing device 102 of FIG. 1 and FIG. 2 as well as the user device 104, issuer system 106, blockchain node 110, and provenance platform 112 of FIG. 1 can be implemented in the computer system 500 using hardware, a non-transitory computer readable medium having instructions stored thereon, or a combination thereof, and can be implemented in one or more computer systems or other processing systems. The hardware can embody modules and components used to implement the methods of FIG. 3A, FIG. 3B, and FIG. 4.
[0053] Where programmable logic is used, such logic may be executed on commercially available processing platforms configured with executable software code, resulting in a special purpose computer or special purpose device (e.g., programmable logic arrays, application specific integrated circuits, etc.). Those skilled in the art will appreciate that embodiments of the disclosed subject matter may be implemented in a variety of computer system configurations, including multi-core multiprocessor systems, minicomputers, mainframe computers, computers linked or clustered with distributed functionality, and pervasive or miniature computers that may be incorporated into virtually any device. For example, the above-described embodiments may be implemented using at least one processor device and memory.
[0054] A processor unit or device described herein may be a single processor, multiple processors, or a combination thereof. A processor device may have one or more processor "cores." The terms "computer program medium," "non-transitory computer-readable medium," and "computer usable medium" described herein are generally used to refer to tangible media, such as removable storage unit 518, removable storage unit 522, and a hard disk installed in hard disk drive 512.
[0055] Various embodiments of the present disclosure are described with respect to this exemplary computer system 500. After reading this description, it will be obvious to one of ordinary skill in the art how to implement the present disclosure using other computer systems and / or computer architectures. Although operations are described as sequential processes, some operations may in fact be performed in parallel, concurrently, and / or in a distributed environment using program code, where the program code is stored locally or remotely for access by a single-processor or multi-processor machine. Furthermore, in some embodiments, the order of operations may be rearranged without departing from the spirit of the disclosed subject matter.
[0056] The processor unit 504 can be a special purpose or general purpose processor unit that is specially configured to perform the functions described herein. The processor unit 504 can be connected to a communication infrastructure 506, such as, for example, a bus, a message queue, a network, a multi-core message passing scheme, etc. The network can be any network suitable for performing the functions disclosed herein and can include a local area network (LAN), a wide area network (WAN), a wireless network (e.g., WiFi), a mobile communication network, a satellite network, the Internet, optical fiber, coaxial cable, infrared, radio frequency (RF), or any combination thereof. Other suitable network types and configurations will be apparent to those skilled in the art. The computer system 500 can also include a main memory 508 (e.g., random access memory, read only memory, etc.) and can also include a secondary memory 510. The secondary memory 510 can include a hard disk drive 512 and a removable storage drive 514, such as, for example, a floppy disk drive, a magnetic tape drive, an optical disk drive, a flash memory, etc.
[0057] The removable storage drive 514 may read from and write to the removable storage unit 518 in a well-known manner. The removable storage unit 518 may include a removable storage medium that can be read from or written to by the removable storage drive 514. For example, if the removable storage drive 514 is a floppy disk drive or a universal serial bus port, the removable storage unit 518 may be a floppy disk or a portable flash drive, respectively. In one embodiment, the removable storage unit 518 may be a non-transitory computer readable recording medium.
[0058] In some embodiments, secondary memory 510 may include alternative means for allowing computer programs or other instructions to be loaded into computer system 500 (e.g., removable storage unit 522 and interface 520). Those skilled in the art will appreciate that examples of such means may include program cartridges and cartridge interfaces (e.g., as found in video game systems), removable memory chips (e.g., EEPROM, PROM, etc.) and associated sockets, other removable storage units 522 and interfaces 520.
[0059] Data stored in computer system 500 (e.g., in main memory 508 and / or in secondary memory 510) may be stored on any type of suitable computer-readable medium (e.g., optical storage (e.g., compact disc, digital versatile disc, Blu-ray disc, etc.) or magnetic tape storage (e.g., hard disk drive)). The data may be organized in any type of suitable database configuration (e.g., a relational database, a Structured Query Language (SQL) database, a distributed database, an object database, etc.). Suitable configurations and storage types will be apparent to those skilled in the art.
[0060] Computer system 500 may also include a communications interface 524. Communications interface 524 may be configured to allow software and data to be transmitted between computer system 500 and external devices. Exemplary communications interface 524 may include a modem, a network interface (e.g., an Ethernet card), a communications port, a PCMCIA slot and card, and the like. The software and data transferred via communications interface 524 may be in the form of signals, which may be electronic, electromagnetic, optical, or other signals as would be apparent to one skilled in the art. The signals travel over communications path 526, which is configured to transmit the signals and may be implemented using wire, cable, optical fiber, a telephone line, a cellular phone link, a radio frequency link, and the like.
[0061] The computer system 500 may further include a display interface 502. The display interface 502 may be configured to allow data to be transferred between the computer system 500 and an external display 530. Exemplary display interfaces 502 may include a high-definition multimedia interface (HDMI), a digital visual interface (DVI), a video graphics array (VGA), etc. The display 530 may be any suitable type of display to display data transferred via the display interface 502 of the computer system 500, including a cathode ray tube (CRT) display, a liquid crystal display (LCD), a light emitting diode (LED) display, a capacitive touch display, a thin film transistor (TFT) display, etc.
[0062] The computer program medium and computer usable medium may refer to memory (e.g., main memory 508 and secondary memory 510), which may be semiconductor memory (e.g., DRAM, etc.). These computer program products may be a means for providing software to the computer system 500. Computer programs (e.g., computer control logic) may be stored in the main memory 508 and / or the secondary memory 510. The computer programs may also be received via the communication interface 524. Such computer programs, when executed, may enable the computer system 500 to perform the methods described herein. In particular, the computer programs, when executed, may enable the processor unit 504 to perform the methods described herein shown in Figures 3A, 3B, and 4. Thus, such computer programs may represent the controller of the computer system 500. When the present disclosure is implemented using software, the software may be stored in the computer program product and loaded into the computer system 500 using the removable storage drive 514, the interface 520, and the hard disk drive 512 or the communication interface 524.
[0063] The processor unit 504 may include one or more modules or engines configured to perform the functions of the computer system 500. Each module or engine may be implemented using hardware and in some cases may utilize software (e.g., corresponding to program code and / or programs stored in the main memory 508 or secondary memory 510). In such cases, the program code may be compiled by the processor unit 504 (e.g., by compiling the module or engine) before execution by the hardware of the computer system 500. For example, the program code may be source code (e.g., assembly language or machine code) written in a programming language that is translated into a lower-level language for execution by the processor unit 504 and / or any additional hardware components of the computer system 500. The compilation process may include the use of lexical analysis, preprocessing, parsing, semantic analysis, syntax-driven translation, code generation, code optimization, and any other techniques suitable for translating the program code into a lower-level language that may be suitable for controlling the computer system 500 to perform the functions disclosed herein. Those skilled in the art will appreciate that such processing results in computer system 500 being a specially configured computer system 500 that is uniquely programmed to perform the functions described above.
[0064] The technology consistent with this disclosure provides, among other things, a system and method for generating a digital receipt of a transaction that includes provenance information of the purchased product. While various exemplary embodiments of the disclosed system and method have been described above, it should be understood that they have been presented for purposes of illustration only and are not intended to be limiting. They are not exhaustive and are not intended to limit the disclosure to the precise forms disclosed. Modifications and variations are possible in light of the above teachings or may be acquired from implementations of the present disclosure without departing from the breadth or scope.
Claims
1. 1. A method for generating a digital receipt for a transaction including provenance information for a purchased product, comprising: receiving, by a receiver of the processing server, a data request from a first computing device, the data request including at least a transaction identifier associated with a processed payment transaction; identifying, by a processor of the processing server, transaction details of the processed payment transaction based on the transaction identifier, the transaction details including at least a product identifier for each of one or more products purchased in the processed payment transaction; transmitting, by a transmitter of the processing server, the product identifier for each of the one or more products to a second computing device; receiving, by the receiver of the processing server, provenance data for each of the one or more products from the second computing device; generating, by the processor of the processing server, a digital receipt for the processed payment transaction, the digital receipt including at least the received provenance data for each of the one or more products; transmitting, by the transmitter of the processing server, the generated digital receipt to the first computing device; A method comprising:
2. The method of claim 1 , wherein the second computing device is a component of the processing server.
3. Furthermore, identifying, by a processor of the second computing device, one or more items of data for each of the one or more products, each including the product identifier; generating, by the processor of the second computing device, the provenance data for each of the one or more products based on the identified one or more data items for each product; The method of claim 2 , comprising:
4. The method of claim 3 , wherein each of the one or more data items is a blockchain data item included in a blockchain accessible by the second computing device.
5. 5. The method of claim 4, wherein the second computing device is a blockchain node in a blockchain network associated with the blockchain.
6. The method of claim 2 , wherein each of the one or more data items further comprises at least one of a time stamp, merchant data, shipping data, product data, and manufacturing data.
7. The method of claim 1 , wherein the digital receipt further comprises at least one of a time, a date, a geographic location, a device identifier, a point of sale identifier, a transaction amount, a transaction type, a currency type, reward data, loyalty data, and offer data.
8. Identifying transaction details of the processed payment transaction includes: transmitting, by the transmitter of the processing server, the transaction identifier to an external computing system; receiving, by the receiver of the processing server, the product identifier for each of the one or more products from the external computing system; The method of claim 1 , comprising:
9. 1. A system for generating a digital receipt for a transaction including provenance information for a purchased product, comprising: a first computing device; a second computing device; and A processing server, a receiver for receiving a data request from the first computing device, the data request including at least a transaction identifier associated with a processed payment transaction; a processor that identifies transaction details of the processed payment transaction based on the transaction identifier, the transaction details including at least a product identifier for each of one or more products purchased in the processed payment transaction; a transmitter for transmitting the product identifier for each of the one or more products to a second computing device; a processing server including: Including, the receiver of the processing server further receives provenance data for each of the one or more products from the second computing device; the processor of the processing server further generates a digital receipt for the processed payment transaction, the digital receipt including at least the received provenance data for each of the one or more products; the transmitter of the processing server further transmits the generated digital receipt to the first computing device. system.
10. The system of claim 9 , wherein the second computing device is a component of the processing server.
11. the second computing device identifying one or more items of data for each of the one or more products, each including a product identifier; generating the provenance data for each of the one or more products based on the identified one or more data items for each product; The system of claim 10 comprising a processor.
12. 12. The system of claim 11, wherein each of the one or more data items is a blockchain data item included in a blockchain accessible by the second computing device.
13. 13. The system of claim 12, wherein the second computing device is a blockchain node in a blockchain network associated with the blockchain.
14. The system of claim 10 , wherein each of the one or more data items further comprises at least one of a time stamp, merchant data, shipping data, product data, and manufacturing data.
15. 10. The system of claim 9, wherein the digital receipt further comprises at least one of a time, a date, a geographic location, a device identifier, a point of sale identifier, a transaction amount, a transaction type, a currency type, reward data, loyalty data, and offer data.
16. Identifying transaction details of the processed payment transaction includes: transmitting, by the transmitter of the processing server, the transaction identifier to an external computing system; receiving, by the receiver of the processing server, the product identifier for each of the one or more products from the external computing system; The system of claim 9 , comprising:
Citation Information
Patent Citations
Commodity information output method, commodity information provision system, commodity information management device and computer program
JP2010238103A
Secure and traceable manufactured parts
JP2019520638A
Electronic receipt management server, program, and electronic receipt management system
JP2020191127A
SYSTEM AND METHOD FOR USING CODE AND IMAGES IN A BLOCKCHAIN
JP2021519488A
Systems and methods for using codes and images within a blockchain
US20190303951A1