IP Library Granted Patent US 9,613,350
Granted Patent B1
US 9,613,350 · App. 15/052,790 · Granted Apr 4, 2017

Message dispatcher for payment system

View Patent ↗
Loading inventors, assignments & file history…
Monitor This Case
Get email alerts when status or documents change.
Order Certified Copies
Most orders are placed with the USPTO same day — all within 24 business hours.
Order via The Patent Place →
Pre-filled with this patent's details
Quick Facts
Patent No.
US 9,613,350
App. No.
15/052,790
Granted
Apr 4, 2017
Kind
B1
Abstract

A payment reader includes a contactless interface for communicating with a contactless device. The payment reader has a processor that executes instructions stored in memory, and the instructions include instructions for a plurality of firmware modules including a message dispatcher module and a plurality of functional modules. The functional modules generate messages and the message dispatcher module stores the messages in a queued data structure such as a stack or a queue. The messages are provided to the functional modules from the queued data structure. Some of the messages are timed messages that are returned to the queued data structure.

Claims (29)

1. A payment reader for processing transactions with a payment device, comprising:

a payment interface configured to interface with the payment device and to receive payment information from the payment device;

a memory comprising a plurality of firmware modules, the plurality of firmware modules comprising a message dispatcher module and a plurality of functional modules, the plurality of functional modules comprising a payment module associated with the payment interface and a transaction processing module associated with processing of the payment information; and

a processor coupled to the memory to execute instructions in the plurality of firmware modules to execute instructions associated with the plurality of functional modules based on one or more messages provided by the message dispatcher module, receive payment information based on the payment module and a first message of the one or more messages, and process the payment information based on the transaction processing module and a second message of the one or more messages, the first message associated with a first message type of the one or more messages that is associated with the concurrent operation of the functional modules and the second message associated with a second message type of the one or more messages that is associated with an ordered processing of the functional modules.

2. The payment reader of claim 1 , further comprising:

a communication interface to communicate with a merchant device that runs a point-of-sale application, the functional modules further comprising a communication module associated with the communication interface, and the processor coupled to the memory to execute the instructions of the communication module to receive a request for the payment information from the point-of-sale application and to transmit the payment information to the point-of-sale application.

3. The payment reader of claim 2 , wherein the communication interface comprises a wireless communication interface.

4. The payment reader of claim 1 , wherein the first message type comprises a timed message and wherein the second message type comprises a standard message.

5. The payment reader of claim 1 , wherein the processor enables the concurrent operation of the functional modules based on a timing value and the instructions of the message dispatcher module.

6. The payment reader of claim 5 , wherein the processor provides the first message of the first message type to the payment module while the timing value is not expired, based on the instructions of the message dispatcher module.

7. The payment reader of claim 5 , wherein the processor provides the first message of the first message type to the payment module when the timing value is expired, based on the instructions of the message dispatcher module.

8. The payment reader of claim 1 , wherein the payment interface comprises a contactless interface and the payment module comprises a contactless module.

9. A method for processing payment transactions, comprising:

providing one or more messages from a message dispatcher module of a plurality of firmware modules to one or more of a plurality of functional modules of the plurality of firmware modules, a first message type of the one or more messages associated with the concurrent operation of the functional modules and a second message type of the one or more messages associated with an ordered processing of the functional modules;

determining, based on the instructions of the message dispatcher module, that a payment module of the plurality of functional modules should receive payment information;

receiving payment information from a payment interface based on the determining, instructions of the payment module, and a first message of the one or more messages that is associated with the first message type; and

processing the received payment information based on instructions of a transaction processing module of the plurality of functional modules and a second message of the one or more messages that is associated with the second message type.

10. The method of claim 9 , further comprising enabling the concurrent operation of the functional modules based on a timing value and the instructions of the message dispatcher module.

11. The method of claim 10 , further comprising providing the first message of the first message type to the payment module while the timing value is not expired, based on the instructions of the message dispatcher module.

12. The method of claim 10 , further comprising providing the first message of the first message type to the payment module when the timing value is expired, based on the instructions of the message dispatcher module.

13. The method of claim 9 , wherein the payment interface comprises a contactless interface and the payment module comprises a contactless module.

14. A non-transitory computer-readable storage medium comprising instructions stored therein, which when executed by one or more processors, cause the one or more processors to perform operations comprising:

providing one or more messages from a message dispatcher module of a plurality of firmware modules to one or more of a plurality of functional modules of the plurality of firmware modules, a first message type of the one or more messages associated with the concurrent operation of the functional modules and a second message type of the one or more messages associated with an ordered processing of the functional modules;

determining, based on the instructions of the message dispatcher module, that a payment module of the plurality of functional modules should receive payment information;

receiving payment information from a payment interface based on the determining, instructions of the payment module, and a first message of the one or more messages that is associated with the first message type; and

processing the received payment information based on a transaction processing module of the plurality of functional modules and a second message of the one or more messages that is associated with the second message type.

15. The non-transitory computer-readable storage medium of claim 14 , wherein the instructions further cause the one or more processors to perform operations comprising enabling the concurrent operation of the functional modules based on a timing value and the instructions of the message dispatcher module.

16. The non-transitory computer-readable storage medium of claim 15 , wherein the instructions further cause the one or more processors to perform operations comprising providing the first message of the first message type to the payment module while the timing value is not expired, based on the instructions of the message dispatcher module.

17. The non-transitory computer-readable storage medium of claim 15 , wherein the instructions further cause the one or more processors to perform operations comprising providing the first message of the first message type to the payment module when the timing value is expired, based on the instructions of the message dispatcher module.

Assignments (2)
CHANGE OF NAME Recorded Jan 10, 2022
From: SQUARE, INC.
To: BLOCK, INC.
Reel/Frame 058668/0326 →
ASSIGNMENT OF ASSIGNOR'S INTEREST Recorded Aug 11, 2016
From: VADERA, KSHITIZ
To: SQUARE, INC.
Reel/Frame 039403/0021 →