Method and System for Providing Proof of Origin of Digital Receipts
A digital receipt system simplifies the process of accessing product origin information by generating user-friendly transaction receipts from blockchain data, addressing consumer difficulties in verifying product authenticity and provenance.
Patent Information
- Application Number
- JP2024539322
- Authority / Receiving Office
- JP · JP
- Patent Type
- Patents
- Current Assignee / Owner
- Priority Date
- 2021-12-28
- Filing Date
- 2022-12-14
- Publication Date
- 2025-08-01
- Estimated Expiration
- 2042-12-14
AI Technical Summary
Consumers face difficulties in accessing and understanding the origin information of purchased products due to the complexity and technical requirements of existing blockchain-based tracking systems, making it hard for them to verify authenticity and provenance.
A system and method that generates a digital receipt of transactions, allowing consumers to request and receive origin information of purchased products through a user-friendly interface, using a processing server to identify and format product origin data from blockchain records.
Enables consumers to easily access and understand the origin information of their purchases without requiring technical expertise, simplifying the process and presenting the data in a user-friendly manner.
Smart Images

Figure 0007717287000001 
Figure 0007717287000002 
Figure 0007717287000003
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 on December 28, 2021, the entire disclosure of which is incorporated herein by reference for all purposes.
[0002] This disclosure relates to providing proof of origin of products via digital receipts, and more particularly to generating digital receipts of transactions that include origin information of purchased products.
Background Art
[0003] In recent years, consumers are more concerned than ever about the origin of the products they purchase and the products they are associated with. There are countless reasons why consumers can be interested in the origin of products. For example, when consumers want to confirm that manufacturers are using ethical practices, when resellers want to check the ownership history of used products, when manufacturers need to track the distribution of products related to necessary recalls, when distributors are concerned about leaks during the distribution process of specific products, etc. Conventionally, the solutions to these problems can be as diverse as the problems themselves. For example, distributors can use a scanning system to attach a unique label to packages, but this may be of little use to manufacturers or end - users. In another example, consumers can discover the ethical practices of manufacturers, but may not be able to verify whether the products they purchase are genuine from the manufacturer. In yet another example, manufacturers may recognize that a recall is necessary and which products need to be recalled, but may have little ability to contact the end - merchants or consumers who received the products.
[0004] One such solution involves using blockchain to track the origin of items through the supply chain. Such a solution is described in U.S. Patent Application No. 16 / 875,154, filed on May 15, 2020, by Steven C. Davis et al., titled "Method and System for Generalized Provenance Solution for Blockchain Supply Chain Applications," which is hereby incorporated by reference in its entirety. In this solution, each time a product is passed from one distributor to another, a new entry is created on the blockchain for all events that affect the origin of the product, such as the sale of the product to the manufacturer and consumers of the product. Since the blockchain is immutable, information cannot be changed, and thus an accurate record of the origin of the product with a very high resistance to fraud is possible.
[0005] However, blockchains are often not consumer-friendly. Consumers who purchase products may not be aware that such records of the origin of the products exist. Even if they are aware, consumers must find a way to access the blockchain, identify the appropriate unique identifier for the purchased product, identify the relevant entry on the blockchain, and analyze the identified entry to obtain information about the origin of the product. Such procedures can be difficult for consumers who are not technically proficient and may be time-consuming for consumers who are technically proficient. As a result, there is a need for a technical 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 an explanation of a system and method for generating a digital receipt of a transaction including origin information of purchased products. A consumer can request information regarding a transaction involved, such as when accessing bank information or credit card statements through a dedicated website or application program using a suitable computing device. Such a request for information can identify a unique identifier for each product purchased in the transaction and be sent to a processing server configured to obtain origin information of each product either via another computing device or directly by the processing server. Using the origin information, origin data of each purchased product can be generated in a format that can be presented in an easy-to-understand manner for the requesting consumer. A digital receipt of the transaction including the generated origin data can be generated, and then this digital receipt is sent to and presented on the consumer's device. As a result, the consumer can easily access the origin information of the purchased products using an interface that the consumer is already familiar with.
[0007] A method for generating a digital receipt of a transaction including origin information of purchased products includes receiving, by a receiver of a processing server, a data request including at least a transaction identifier related to a processed payment transaction from a first computing device; 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 of 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 of a transaction including origin information of a purchased product includes a first computing device, a second computing device, and a processing server. The processing server includes a receiver that receives, from the first computing device, a data request including at least a transaction identifier related to a processed payment transaction, a processor that identifies, based on the transaction identifier, transaction details of the processed payment transaction, 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 identifier for each of the one or more products to the second computing device. 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 of 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 the exemplary embodiments when read in conjunction with the accompanying drawings. The drawings include the following figures.
Brief Description of the Drawings
[0010]
Figure 1
Figure 2
Figure 3A
Figure 3B
Figure 4
Figure 5
[0011] Further application areas of the present disclosure will become apparent from the detailed description provided below. It should be understood that the detailed description of the exemplary embodiments is for illustrative purposes only and is not necessarily intended to limit the scope of the disclosure.
[0012] System for Generating a Digital Receipt with Origin Certification FIG. 1 shows a system 100 for generating a digital receipt including origin certification information of a product purchased in a payment transaction.
[0013] System 100 can include a processing server 102. The processing server 102, which will be described in more detail below, can be configured to generate a digital receipt for a payment transaction that includes origin information of a purchased product so that it can be used by a consumer. In System 100, a consumer can use a user device 104 to request a digital receipt from the processing server 102. The user device 104 can be any type of computing device suitable for being specially 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 smartwatch, a smart TV, a wearable computing device, etc. The consumer can use the interaction with the user device 104 to access a list of payment transactions, such as payment transactions in which the consumer participated, and select a payment transaction for which to request a digital receipt. The user device 104 can 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 can access a website that displays a list of payment transactions for which digital receipts are available, which may be provided by or on behalf of the processing server 102. In such embodiments, the transaction identifier of a selected transaction can be sent to the processing server 102 via a form or hyperlink within the web page. In another embodiment, an application program that displays a list of payment transactions is stored on the user device 104, or the user device 104 can have an application program that is accessible from the user device 104 and is executed by the user device 104. In such embodiments, the transaction identifier of the payment transaction can be electronically sent to the processing server 102 via an application programming interface or other suitable means.
[0015] The processing server 102 can receive a transaction identifier from the user device 104 and identify the transaction details of the payment transaction associated with the transaction identifier. The transaction details can include any data associated with the payment transaction, including at least a unique identifier (referred to herein as a product identifier) for each product purchased in the payment transaction. Additional transaction details can include, for example, time, date, geographical location, transaction type, currency, payment method, merchant identifier, point-of-sale identifier, user device identifier, reward data, royalty data, coupon data, transaction amount, sales data, tax data, other product data for each product purchased, and the like. In some embodiments, the transaction details of the payment transaction can be stored in a database local to the processing server 102 or a database accessible by the processing server 102. In such embodiments, the processing server 102 can query the database using the transaction identifier and identify the 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 an issuing financial institution such as an issuing bank that issued the transaction account used to fund the payment transaction for which the digital receipt is requested, or a computing system associated with the issuing financial institution. The issuer system 106 can locally store the transaction details of the selected payment transaction or can access the transaction details of the selected payment transaction. The processing server 102 can electronically transmit a transaction identifier to the issuer system 106 using an appropriate communication network and method. The issuer system 106 can use the transaction identifier to identify additional transaction details of the payment transaction and can electronically transmit the additional transaction details to the processing server 102 in a data message using an appropriate 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 bank 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 a transaction identifier via the application program and identify additional transaction details of the associated payment transaction. In one embodiment, when the processing server 102 is separate from the issuer system 106, the issuer system 106 may receive a transaction identifier via the bank application, identify additional transaction details, and electronically transmit the transaction details to the processing server 102 for use in identifying source data and generating a digital receipt.
[0018] When the processing server 102 identifies additional transaction details of a payment transaction that include at least a product identifier for each product purchased in the payment transaction, the processing server 102 can identify source data for each product purchased. In some embodiments, the processing server 102 first electronically transmits a list of purchased products to the user device 104 for display to the user, and the user can select one or more of the purchased products for which source data is requested. In such embodiments, the user device 104 can electronically transmit the user's selection (e.g., the product identifier for each selected product) to the processing server 102. In such a case, the processing server 102 can identify source data only for the products selected by the user of the user device 104.
[0019] The processing server 102 can be configured to directly identify the origin data of each product, or can receive the origin data of each product from another computing system such as the origin platform 112. Accordingly, the functions described herein regarding the identification of origin data can be executed by the processing server 102 and / or the origin platform 112, and the processing server 102 and the origin platform can communicate with each other using any suitable communication 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 the blockchain network 108. The blockchain network 108 can include a plurality of blockchain nodes 110. Each blockchain node 110 can be a computing system as shown in FIG. 5 and described in more detail below, and is configured to execute functions related to the processing and management of the blockchain, including the generation of blockchain data values, the verification of proposed blockchain transactions, the verification of digital signatures, the generation of new blocks, the confirmation (validation) of new blocks, and the maintenance of a copy of the blockchain. In some embodiments, the processing server 102 can be a blockchain node 110 within the blockchain network 108. In such embodiments, all of the functions of the blockchain node 112 described herein can be executed by the processing server 102.
[0021] A blockchain can be a distributed ledger comprising at least a plurality of blocks. Each block can include at least a block header and one or more data values. Each block header can include at least a timestamp, a block reference value, and a data reference value. The timestamp is the time at which the block header was generated and can be represented using any suitable method (e.g., UNIX timestamp, DateTime, etc.). The block reference value can be a value that references a preceding block within the blockchain (e.g., based on the timestamp). In some embodiments, the block reference value within the block header can be a reference to the block header of the most recently added block preceding each block. In an exemplary embodiment, the block reference value can be a hash value generated by hashing the block header of the most recently added block. Similarly, the data reference value can be a reference to one or more data values stored within the block that includes the block header. In an exemplary embodiment, the data reference value can be a hash value generated by hashing one or more data values. For example, the block reference value can be the root of a Merkle tree generated using one or more data values.
[0022] By using the block reference value and the data reference value within each block header, immutability can be imparted to the blockchain. To attempt a change to a data value, generation of a new data reference value for that block is required, which in turn requires generation of a new block reference value for subsequent blocks, and further requires generation of new block reference values for all subsequent blocks. To make the change permanent, it is necessary to execute and update the foregoing for all blockchain nodes 110 within the blockchain network 108 before generating a new block and adding it to the blockchain. Due to the limits of computing power and communication capabilities, such a change may be very difficult if not impossible, and thus the blockchain acquires immutability.
[0023] In some embodiments, a blockchain can be used to store information regarding blockchain transactions executed 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 functions as an approval by a payer of a blockchain transaction. The digital signature can be verified by a blockchain network 108 using the public key of the cryptographic key pair. In some cases, the term "blockchain wallet" can specifically refer to the 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 the private key for use in blockchain transactions. 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 using a blockchain wallet, such as a desktop computer, laptop computer, notebook computer, tablet computer, mobile phone, smartphone, smartwatch, smart TV, wearable computing device, embedded computing device, etc.
[0024] Each blockchain data value stored within the blockchain can, where applicable, correspond to the storage of a blockchain transaction or other data. A blockchain transaction can include at least a digital signature of the currency sender (e.g., user device 104) generated using the sender's private key, a blockchain address of the currency recipient (e.g., another user device 104) generated using the recipient's public key, and the amount of blockchain currency transferred or other data stored. Also, in some blockchain transactions, the transaction can include one or more blockchain addresses of the sender where the blockchain currency is currently stored (e.g., the digital signature authenticates access to such currency), and an address generated using the sender's public key for any changes held by the sender. An address sent by a cryptocurrency that can be used in future transactions is called an “output” address, which is one that has been previously used to capture the output of a previous blockchain transaction and is also called an “unused transaction”. This is due to there being currency sent to the address during a previous transaction where the currency remains unused. Also, in some cases, a blockchain transaction can include the sender's public key for use by an entity verifying the transaction. For the conventional processing of a blockchain transaction, such data can be provided by either the sender or the recipient to a blockchain node 110 within the blockchain network 108. The node can verify the digital signature using the public key of the sender's wallet's cryptographic key pair. Also, the node can verify access to the sender's funds (e.g., that an unused transaction has not yet been used and has been sent to an address associated with the sender's wallet) and a process known as “confirmation” of the transaction. Next, the node can include the blockchain transaction within a new block.In conventional blockchain implementations, new blocks can be verified by other nodes within the blockchain network 108 and distributed to all of the blockchain nodes 110 within 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 can still include, or be accompanied by, the verification of a digital signature.
[0025] In 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 is described, for example, in U.S. Patent Application No. 16 / 875,154, filed May 15, 2020, by Steven C. Davis et al., entitled "Method and System for Generalized Provenance Solution for Blockchain Supply Chain Applications", which is hereby incorporated by reference in its entirety. Such event information regarding the provenance of a product can include, for example, data regarding the manufacture, distribution, shipment, storage, sale, and resale of the product. For example, the blockchain data value can include an event of the manufacturing date digitally signed by the manufacturer, an event of the product being picked up from the manufacturer for distribution and signed by the distributor, an event of the product being picked up by the last-mile delivery provider and signed by the delivery provider, an event of the product being delivered to the merchant for sale and signed by the merchant, an event of the product becoming available for purchase and signed by the merchant, an event of the product being purchased and signed by the consumer who is the purchaser, etc.
[0026] Each blockchain data value can include the product identifier of the product to which the origin event is associated. The product identifier can be any value unique to the product among all other products for which origin data is stored in the blockchain. The product identifier can be, for example, an assigned identification value, a registration number, a serial number, a universal product code, or other appropriate value. The processing server 102 can identify all blockchain data values within the blockchain that include the product identifier of each product that identifies the origin data. The processing server 102 can analyze each identified blockchain data value to generate a set of origin data for the product.
[0027] The set of origin data may depend on the number and type of blockchain data items identified and analyzed for the product and may vary depending on the product and its history. For example, for some products, detailed manufacturing history such as the procurement of one or more of the materials used in the manufacture of the product is available, while other products may have only the manufacturing date and / or manufacturing location. The processing server 102 can also be configured to enrich the origin data of the object by identifying the names of the entities related to the event (e.g., using the identification information included in each blockchain data item), or by formatting the data in a user-readable manner (e.g., converting a timestamp to a recognizable time and date format, converting geographical coordinates to a city and state or address, etc.).
[0028] When the processing server 102 generates the origin data of each product, 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 conventional physical receipt for easier reading by the consumer. 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 another data file that can be opened and displayed by the user device 104. When the digital receipt is generated, the processing server 102 can electronically transmit the digital receipt to the user device 104 using an appropriate communication network and method. Thereafter, the user device 104 can display the digital receipt to the user. For example, in an example where the digital receipt is requested through a web page, a new page including the digital receipt generated by the processing server 102 can be displayed by transmitting a transaction identifier. In another example, when the user device 104 executes an application program for selecting a transaction identifier, the application program can display the digital receipt as a 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 can include hyperlinks or other interactive elements. By using such elements, a user can request additional details regarding the provenance of a product or a particular provenance event. For example, the provenance data of a luxury item can be displayed on the digital receipt as "Manufactured by LuxuryCo on August 1, 2021". The user can interact using text or another suitable element to display additional information. In such a case, the user device 104 can electronically transmit a request for additional information that may include text, a transaction identifier, a product identifier, an event identifier (such as one embedded in the digital receipt as identified by a corresponding blockchain data item), or other suitable information to the processing server 102. The processing server 102 can use that information to identify the blockchain data item corresponding to the event and identify additional details that are formatted and returned to the user device 104 in a data message. The user device 104 can then display the additional details as part of the digital receipt or in a separate display element, etc. For example, in the above example, the exact manufacturing time, the geographical location where the item was manufactured, the digital signature of LuxuryCo, and the result of verifying that digital signature using the public key of LuxuryCo's cryptographic key pair can be presented to the user.
[0030] With the methods and systems described herein, a consumer can display a digital receipt of a past payment transaction that includes origin data of a product purchased as part of the payment transaction. By using the processing server 102 to identify transaction details, then identify the origin data, and subsequently generate a digital receipt that includes the origin data, the consumer can obtain this useful information without changing the issuer system 106 or the user device 104, which can be done in a manner the consumer is already familiar with. Thus, the processing server 102 can improve existing systems in which consumers display transaction histories and can present origin data to consumers in a user-friendly manner that is not available in existing systems.
[0031] Processing server FIG. 2 shows one embodiment of the processing server 102 of the system 100. It will be apparent to those skilled in the art that the embodiment of the processing server 102 shown in FIG. 2 is provided by way of example only and does not cover all possible configurations of the processing server 102 suitable for performing the functions described herein. For example, the computer system 500 shown in FIG. 5 and described in more detail below can be a suitable configuration of the processing server 102. Additional components within the system 100, such as the user device 104, the blockchain node 110, and the origin platform 112, can include the components shown in FIG. 2 and described below.
[0032] The processing server 102 can include a receiving device 202. The receiving device 202 can be configured to receive data on one or more networks via one or more network protocols. In some cases, the receiving device 202 can be configured to receive data from the user device 104, the issuer system 106, the blockchain node 110, the source platform 112, and other systems and entities via one or more communication means such as radio frequency, local area network, wireless area network, cellular communication network, Bluetooth, Internet, etc. In some embodiments, the receiving device 202 can include a plurality of devices such as different receiving devices that receive data on different networks, such as a first receiving device that receives data on a local area network and a second receiving device that receives data on the Internet. The receiving device 202 can receive an electronically transmitted data signal, and at this time, by receiving the data signal by the receiving device 202, the data can be superimposed or encoded on the data signal and decoded, parsed, read, or acquired. In some cases, the receiving device 202 can include a parsing module that parses the received data signal to obtain the data superimposed thereon. For example, the receiving device 202 can receive a data signal, convert the received data signal into available input for functions executed by a processing device, and include a parsing program configured to execute the methods and systems described herein.
[0033] The receiving device 202 can be configured to receive a data signal electronically transmitted by the user device 104 that is overlaid or encoded with a transaction identifier and other data (product identifiers of one or more products, origin data for which more details are requested, specific requests regarding the origin data, etc.) for use when requesting a digital receipt. The receiving device 202 can also be configured to receive a data signal electronically transmitted by the issuer system 106 that is overlaid or encoded with transaction details, a transaction identifier, transaction account data, etc. The receiving device 202 can further be configured to receive a data signal electronically transmitted by the blockchain node 110 and / or the origin platform that is overlaid or encoded with blocks, blockchain data items, origin data, origin events, etc.
[0034] The processing server 102 can also include a communication module 204. The communication module 204 can be configured to transfer data between modules, engines, databases, memories, and other components of the processing server 102 in order to execute the functions described herein. The communication module 204 can include one or more communication types and can utilize various communication methods for communication within the computing device. For example, the communication module 204 can include a bus, connection pin connectors, wires, etc. In some embodiments, the communication module 204 can 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 can also include a processing device. The processing device can be configured to execute the functions of the processing server 102 described herein, as will be apparent to those skilled in the art. In some embodiments, the processing device can include and / or be composed of a plurality of engines and / or modules that are specially configured to execute one or more functions of the processing device, such as a query module 216, a generation module 218, a verification module 220, etc. As used herein, the term "module" can be software or hardware that is specially programmed to receive an input, execute one or more processes using the input, and provide an output. The inputs, outputs, and processes executed by the various modules are apparent to those skilled in the art based on the present disclosure.
[0035] The processing server 102 can include an account database 206. The account database 206 can be configured to store a plurality of account profiles 208 using a suitable data storage format and schema. The account database 206 can be a relational database that utilizes Structured Query Language for storage, identification, modification, update, access, etc. of the structured data set stored therein. Each account profile 208 can 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 can include transaction details of a plurality of payment transactions in which the associated consumer is involved, and the transaction identifier of each payment transaction can be utilized and stored in the account profile 208 for identification during the execution of the methods described herein.
[0036] The processing server 102 may also include a memory 214. The memory 214 can be configured to store data (e.g., public keys, private keys, symmetric keys, etc.) for the processing server 102 to use when executing the functions described herein. The memory 214 can be configured to store data using an appropriate data formatting method and schema, and can be any appropriate type of memory (e.g., read-only memory, random access memory, etc.). The memory 214 can include, for example, encryption keys and algorithms, communication protocols and standards, data format standards and protocols, module program code and application programs for the processing device, and other data suitable for the processing server 102 to use when executing the functions disclosed herein, as will be apparent to those skilled in the art. In some embodiments, the memory 214 may include a relational database using Structured Query Language and may store, identify, modify, update, access, etc. the stored structured data set. The memory 214 can be configured to store, for example, encryption keys, encryption key pairs, communication information, data format rules, blockchain data, signature generation algorithms, account information, origin data format rules, etc.
[0037] The processing server 102 can include a query module 216. The query module 216 can be configured to execute a query on a database to identify information. The query module 216 may receive one or more data values or query columns and, based on them, execute a query column on a specified database such as the memory 212 of the processing server 102 to identify the information stored therein. The query module 216 can output the identified information to an appropriate engine or module of the processing server 102 as needed. The query module 216 can, for example, execute a query on the account database 206 to identify the consumer account profile 208 that requested the digital receipt of the payment transaction and use the transaction identifier to identify the transaction details of the transaction stored therein.
[0038] The processing server 102 can also include a generation module 218. The generation module 218 can be configured to generate data used when the processing server 102 executes the functions described herein. The generation module 218 can receive an instruction as an input value, generate data based on the instruction, and output the generated data to one or more modules of the processing server 102. For example, the generation module 218 can be configured to generate notification messages, confirmation messages, digital signatures, machine-readable codes, transaction amounts, data objects, digital receipts, sets of source data, etc.
[0039] The processing server 102 can also include a verification module 220. The verification module 220 can be configured to perform verification of the processing server 102 as part of some of the functions described herein. The verification module 220 can receive, as input, instructions that may also include data used for performing the verification, execute the verification in response to a request, and output the result of the verification to another module or engine of the processing server 102. The verification module 220 can be configured to verify digital signatures, for example, using an appropriate signature generation algorithm and key, and verify data objects and / or data included therein.
[0040] The processing server 102 can also include a transmission device 222. The transmission device 222 can be configured to transmit data on one or more networks via one or more network protocols. In some cases, the transmission device 222 can be configured to transmit data to the user device 104, the issuer system 106, the blockchain node 110, the provenance platform 112, and other entities via one or more communication means (e.g., local area network, wireless area network, cellular communication, Bluetooth, radio frequency, Internet, etc.). In some embodiments, the transmission device 222 can include multiple devices, such as a first transmission device for transmitting data on a local area network and a second transmission device for transmitting data on the Internet, different transmission devices for transmitting data on different networks, etc. The transmission device 222 can electronically transmit a data signal having overlaid data that can be parsed by the receiving computing device. In some cases, the transmission device 222 can include one or more modules for overlaying, encoding, or formatting the data into a data signal suitable for transmission.
[0041] The transmitting device 222 can be configured to electronically transmit data signals superimposed or encoded with a data object, a digital receipt, a set of origin data, detailed origin data, blockchain data items, an authentication request, a list of payment transaction identifiers, etc. to the user device 104. The transmitting device 222 can also be configured to electronically transmit data signals superimposed or encoded with a transaction identifier to the issuer system 106. The transmitting device 222 can further be configured to electronically transmit data signals superimposed or encoded with a product identifier, a blockchain data item identifier, etc. to the blockchain node 110 and / or the origin platform.
[0042] Process for generating a digital receipt Figures 3A and 3B show a process for generating a digital receipt of a payment transaction including origin information of one or more products purchased in the transaction.
[0043] In step 302, the user device 104 can prompt the user to select a payment transaction from a list of processed payment transactions that includes the user as the payer. The list of payment transactions can display any data associated with the payment transaction that may be useful for the user to make a selection, such as the merchant name, transaction amount, transaction time and / or date, list of purchased product names, etc. In step 304, the user device 104 can receive from the user a selection of a processed payment transaction for which a digital receipt is requested. The selection can include the transaction identifier of the selected payment transaction. In some embodiments, the user can also select one or more products purchased in the payment transaction for which origin data is requested, and further can select desired conditions regarding the origin data (level of detail, type of desired origin event, etc.). In step 306, the user device 104 can electronically transmit to the processing server 102 the transaction identifier and any other information obtained from the user using an appropriate communication network and method.
[0044] In step 308, the receiving device 202 of the processing server 102 can receive a transaction identifier and any other accompanying data from the user device 104. In step 310, the query module 216 of the processing server 102 can execute a query on the account database 206 or the memory 214 of the processing server 102 and use the transaction identifier to identify additional transaction details of the payment transaction. The additional transaction details can include at least the product identifier of each product purchased in the payment transaction, and can further include transaction time, transaction date, merchant identifier, merchant name, geographical location, transaction type, currency type, transaction amount, etc. In step 312, the transmitting device 222 of the processing server 102 can electronically transmit a request for source data to the source platform 112 using an appropriate communication network and method. The request can include at least the product identifier of each product purchased in the payment transaction, or, if the user of the user device 104 manually selects a product, can include the 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 origin platform 112 can receive a product identifier from the processing server 102. In step 316, the origin platform can identify one or more blockchain data items within the blockchain associated with the blockchain network 108 for each purchased product in the blockchain by identifying each blockchain data item that includes the product identifier received when requesting origin data. In step 318, the origin platform 112 can generate a set of origin data for each product. The origin data can be generated following an analysis of each blockchain data item identified for each product and the origin event detailed therein. In some cases, the analysis of the origin event can include identification information about a related entity such as a merchant or manufacturer, and such information can include, for example, a name, product name, geographical location, etc. The set of origin data can be formatted in a way that is maximally readable for the user of the user device 104, such as by requiring a specific format for the data included in the blockchain data item and the data identified based thereon. In step 320, the origin platform 112 can electronically transmit the generated set of origin data to the processing server 102.
[0046] In step 322, the receiving device 202 of the processing server 102 can receive a set of origin data from the origin platform 112, and each set of origin data can be accompanied by a product identifier associated with the product to which the origin data corresponds. In step 324, the generation 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 origin data for each product purchased (e.g., or the selected product) in the payment transaction 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 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, which includes a set of origin 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 the user. Thereafter, the user can view the receipt of the transaction that includes the origin data for each product purchased in the payment transaction.
[0047] Exemplary Method for Generating a Digital Receipt FIG. 4 shows a method 400 for generating a digital receipt for a transaction that includes origin information for a purchased product.
[0048] In step 402, a receiver (e.g., receiving device 202) of a processing server (e.g., processing server 102) can receive a data request from a first computing device (e.g., user device 104). The data request includes at least a transaction identifier related to the processed payment transaction. In step 404, the transaction details of the processed payment transaction can be identified by a processor (e.g., query module 216) of the processing server based on the transaction identifier, and the transaction details include at least product identifiers for each of one or more products purchased in the processed payment transaction. In step 406, the product identifiers for each of the one or more products can be transmitted by a transmitter (e.g., transmitting device 222) of the processing server to a second computing device (e.g., blockchain node 110, source platform 112, etc.).
[0049] In step 408, the source data for each of the one or more products can be received by a receiver of the processing server from the second computing device. In step 410, a digital receipt for the processed payment transaction can be generated by a processor (e.g., generation module 218) of the processing server, and the digital receipt includes at least the received source data for each of the one or more products. In step 412, the generated digital receipt can 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 timestamp, merchant data, shipping data, product data, and manufacturing data. In another further embodiment, 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 one or more products including respective product identifiers, 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 each respective product. In an even 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) within 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, date, geographical location, device identifier, point-of-sale identifier, transaction amount, transaction type, currency type, reward data, royalty data, and offer data. In one embodiment, identifying the transaction details of a processed payment transaction may include transmitting, by a transmitter of the processing server, a transaction identifier to an external computing system, and receiving, by a receiver of the processing server, product identifiers for each of the one or more products from the external computing system.
[0052] Computer System Architecture FIG. 5 shows a computer system 500 that can implement an embodiment of the present disclosure or a part thereof as computer-readable code. For example, the computing device 102 of FIGS. 1 and 2 and the user device 104, issuer system 106, blockchain node 110, and provenance platform 112 of FIG. 1 can be implemented within the computer system 500 using hardware, a non-transitory computer-readable medium storing instructions, or a combination thereof, and can be implemented in one or more computer systems or other processing systems. The hardware can embody the modules and components used to implement the methods of FIGS. 3A, 3B, and 4.
[0053] When programmable logic is used, such logic is executed on a commercially available processing platform configured with executable software code and can be a special-purpose computer or a special-purpose device (e.g., a programmable logic array, an application-specific integrated circuit, etc.). Those skilled in the art will understand that embodiments of the disclosed subject matter can be implemented in various computer system configurations, including multi-core multiprocessor systems, minicomputers, mainframe computers, computers linked or clustered with distributed functions, and pervasive or miniature computers that can be incorporated into virtually any device. For example, at least one processor device and memory can be used to implement the above embodiments.
[0054] The processor unit or apparatus described herein can be a single processor, multiple processors, or a combination thereof. The processor apparatus can have one or more processor "cores". The terms "computer program medium", "non-transitory computer-readable medium", and "computer-usable medium" as described herein are generally used to refer to tangible media such as removable storage unit 518, removable storage unit 522, and a hard disk such as the 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 apparent to those skilled in the art how to implement the present disclosure using other computer systems and / or computer architectures. The operations are described as sequential processes, but some operations can actually be performed in parallel, simultaneously, and / or using program code in a distributed environment, where the program code is stored locally or remotely for access by a single-processor or multi-processor machine. Further, in some embodiments, the order of operations can be rearranged without departing from the spirit of the disclosed subject matter.
[0056] The processor device 504 can be a special-purpose or general-purpose processor device specially configured to execute the functions described herein. The processor device 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 executing 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, an optical fiber, a 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 may also include a main memory 508 (e.g., random access memory, read-only memory, etc.) and may also include a secondary memory 510. The secondary memory 510 may 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 or write to a removable storage unit 518 in a well-known manner. The removable storage unit 518 may include a removable storage medium that can be read or written 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 units 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, the secondary memory 510 can include alternative means that enable a computer program or other instructions to be loaded into the computer system 500 (e.g., removable storage unit 522 and interface 520). Examples of such means may include program cartridges and cartridge interfaces (such as those found in video game systems), removable memory chips (e.g., EEPROM, PROM, etc.) and associated sockets, other removable storage units 522 and interfaces 520, which will be apparent to those skilled in the art.
[0059] Data stored in the computer system 500 (e.g., in main memory 508 and / or secondary memory 510) may be stored on any suitable type of computer-readable medium (e.g., optical storage (e.g., compact disk, digital versatile disk, Blu-ray disk, etc.) or magnetic tape storage (e.g., hard disk drive)). The data may be structured in any suitable type of database configuration (e.g., relational database, structured query language (SQL) database, distributed database, object database, etc.). Appropriate configurations and storage types will be apparent to those skilled in the art.
[0060] Computer system 500 may also include a communication interface 524. The communication interface 524 can be configured to enable software and data to be transmitted between the computer system 500 and an external device. Exemplary communication interfaces 524 may include a modem, a network interface (e.g., an Ethernet card), a communication port, a PCMCIA slot and card, etc. The software and data transferred via the communication interface 524 may be in a signal form, and the signal form can be an electronic signal, an electromagnetic signal, an optical signal, or other signals obvious to those skilled in the art. The signal is transmitted via a communication path 526, and the communication path 526 is configured to transmit the signal and may be implemented using wires, cables, optical fibers, telephone lines, mobile phone links, radio frequency links, etc.
[0061] Computer system 500 may further include a display interface 502. The display interface 502 can be configured to enable 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 can be any suitable type of display, which displays the data transferred via the display interface 502 of the computer system 500, and this includes 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] Computer program media and computer-usable media may refer to memory (e.g., main memory 508 and secondary memory 510) and may be semiconductor memory (e.g., DRAM, etc.). These computer program products can serve as means for providing software to computer system 500. A computer program (e.g., computer control logic) can be stored in main memory 508 and / or secondary memory 510. A computer program can also be received via communication interface 524. When such a computer program is executed, computer system 500 can implement the methods described herein. In particular, when the computer program is executed, it may enable processor device 504 to implement the methods described herein shown in FIGS. 3A, 3B, and 4. Accordingly, such a computer program can represent a controller of computer system 500. When the present disclosure is implemented using software, the software may be stored in a computer program product using removable storage drive 514, interface 520, and hard disk drive 512 or communication interface 524 and loaded into computer system 500.
[0063] The processor device 504 can include one or more modules or engines configured to execute the functions of the computer system 500. Each module or engine can be implemented using hardware and, in some cases, can utilize software (e.g., program code stored in the main memory 508 or the secondary memory 510 and / or corresponding to a program). In such cases, the program code can be compiled by the processor device 504 (e.g., by compiling a module or engine) before execution by the hardware of the computer system 500. For example, the program code can be source code (e.g., assembly language or machine code) written in a programming language that is translated into a low-level language, which is for execution by the processor device 504 and / or any additional hardware components of the computer system 500. The compilation process can include lexical analysis, preprocessing, parsing, semantic analysis, syntax-directed translation, code generation, code optimization, and the use of any other techniques suitable for translating the program code into a low-level language suitable for controlling the computer system 500 to execute the functions disclosed herein. It will be apparent to those skilled in the art that such a process results in a specially configured computer system 500 that is uniquely programmed to execute the above functions.
[0064] Technologies consistent with the present disclosure provide, among other things, systems and methods for generating digital receipts of transactions that include provenance information of purchased products. While various exemplary embodiments of the disclosed systems and methods are described above, it is to be understood that they are presented for purposes of illustration only and not limitation. They are not exhaustive and do not limit the present disclosure to the forms disclosed. Modifications and variations are possible in light of the above teachings or may be obtained from practice of the present disclosure without departing from its scope or breadth.
Claims
1. A method for generating a digital receipt of a transaction including origin information of a purchased product, comprising: Receiving, by a receiver of a processing server, a data request including at least a transaction identifier related to a processed payment transaction from a first computing device; 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 of the processed payment transaction, the digital receipt including at least the received origin 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 the above.
2. The method according to 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 data items for each of the one or more products, each including the product identifier; Generating, by the processor of the second computing device, the origin data for each of the one or more products based on the one or more identified data items for each product. The method according to claim 2, comprising the above.
4. The method according to 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. The method according to claim 4, wherein the second computing device is a blockchain node in a blockchain network associated with the blockchain.
6. The method according to claim 2, wherein each of the one or more data items further includes at least one of a timestamp, merchant data, shipping data, product data, and manufacturing data.
7. The method according to claim 1, wherein the digital receipt further includes at least one of a time, a date, a geographical location, a device identifier, a point-of-sale identifier, a transaction amount, a transaction type, a currency type, reward data, royalty data, and offer data.
8. Identifying the transaction details of the processed payment transaction includes transmitting, by the transmitter of the processing server, the transaction identifier to an external computing system; and 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 according to claim 1.
9. A system for generating a digital receipt of a transaction including origin information of a purchased product, comprising a first computing device; a second computing device; a processing server, comprising a receiver that receives, from the first computing device, a 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 product identifiers for each of the one or more products purchased in the processed payment transaction; a transmitter that transmits the product identifier for each of the one or more products to the second computing device; a processing server; and 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 of the processed payment transaction, the digital receipt including at least the received origin 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 according to claim 9, wherein the second computing device is a component of the processing server.
11. The second computing device, identifies one or more data items for each of the one or more products, each including the product identifier, and generates the origin data for each of the one or more products based on the one or more identified data items for each product The system according to claim 10, comprising a processor.
12. The system according to 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. The system according to claim 12, wherein the second computing device is a blockchain node in a blockchain network associated with the blockchain.
14. The system according to claim 10, wherein each of the one or more data items further includes at least one of a timestamp, merchant data, shipping data, product data, and manufacturing data.
15. The system according to claim 9, wherein the digital receipt further includes at least one of a time, a date, a geographical location, a device identifier, a point-of-sale identifier, a transaction amount, a transaction type, a currency type, reward data, royalty data, and offer data.
16. Identifying the 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 according to claim 9.
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