主权项 |
1. A payment reader for processing transactions between a contactless device or a chip card and a point-of-sale application running on a seller mobile device, the payment reader comprising:
a contactless interface configured to communicate with the contactless device; a contact interface configured to receive the chip card and communicate with the chip card; a wireless communication interface configured to communicate with the seller mobile device; a memory comprising a plurality of firmware modules, wherein the plurality of firmware modules comprise a message dispatcher module and a plurality of functional modules, wherein the functional modules comprise a contactless module associated with the contactless interface, a contact module associated with the contact interface, a communication module associated with the wireless communication interface, a transaction processing module, and a cryptography module; and a processor configured to execute instructions in the message dispatcher module and the plurality of functional modules, wherein the processor is configured to generate a queue for messages based on instructions associated with the message dispatcher module, wherein the processor is configured to execute functional instructions associated with one or more of the functional modules and provide one or more messages to the queue based on the executed functional instructions, and wherein the processor is configured to:
receive a request to receive payment information from the point-of-sale application via the wireless communication interface;generate a first message based on the request to receive payment information, wherein the first message includes a request to receive payment information from one or more of the contactless interface or the contact interface;store the first message in the queue based on instructions of the message dispatcher module, wherein the first message is a timed message that includes a timing value;receive one or more additional messages based on instructions of one or more of the functional modules, wherein the one or more additional messages are standard messages;store the one or more additional messages in the queue based on the instructions of the message dispatcher module;provide the first message to one or more of the contactless module or the contact module based on the instructions of the message dispatcher module and the timing value;return the first message to the queue based on the timing message, a flag associated with the first message, and the instructions of the message dispatcher module, wherein the timing message and the flag associated with the first message indicate that processing of the first message should continue;provide the one or more additional messages to one or more of the functional modules based on the position of each of the one or more additional messages in the queue and the instructions of the message dispatcher module;provide the returned first message to one or more of the contactless module or the contact module based on the position of the returned first message in the queue, the timing value, and the instructions of the message dispatcher module; andremove the returned first message from the queue based the timed message or the flag associated with the first message, wherein one or more of the timed message and the flag associated with the first message indicate that processing of the returned first message should end. |