A method of processing a transaction in a distributed electronic payment system comprising at least one point of sale terminal and at least one customer mobile terminal (101A, 101B), each being respectively configured to communicate with at least one host terminal over a network, the method comprising the steps of: reading a machine-readable unique identifier of the at least one point of sale terminal with the at least one customer mobile terminal (101A, 101B); at the at least one point of sale terminal and the at least one customer mobile terminal (101A, 101B), encoding and communicating a respective (1301, 1303) transaction request message to the at least one host terminal, wherein the encoded transaction request message communicated by the at least one point of sale terminal includes transaction data and the unique identifier and the encoded transaction request message communicated by the at least one customer mobile terminal (101A, 101B) includes the unique identifier; at the at least one host terminal, identifying the transaction request message communicated by the at least one point of sale terminal, and instantiating and storing a transaction record associated with the unique identifier and populated with the transaction data included in the transaction request message of the at least one point of sale terminal; at the at least one host terminal, identifying the transaction request message communicated by the at least one customer mobile terminal (101A, 101B), and matching the transaction request message of the at least one customer mobile terminal (101A, 101B) with the stored transaction request message of the at least one point of sale terminal using the unique identifier contained in the transaction request message of the at least one customer mobile terminal (101A, 101B) in order to identify the corresponding stored transaction record; encoding and communicating a payment request message for the transaction record to the at least one customer mobile terminal (101A, 101B); inputting a personal identification number at the at least one customer mobile terminal (101A, 101B) in response to the payment request message; generating by the at least one customer mobile terminal (101A, 101B) a hash of the inputted personal identification number and communicating the generated hash of the personal identification number to the at least one host terminal; comparing by the at least one host terminal the hash of the personal identification number received from the customer mobile terminal (101A, 101B) with a hash of the personal identification number generated by the host terminal; and authorizing electronic payment for the stored transaction if the hash of the personal identification number received from the customer mobile terminal (101A, 101B) matches the hash of the personal identification number generated by the host terminal. reading a machine-readable unique identifier of the at least one point of sale terminal with the at least one customer mobile terminal (101A, 101B); at the at least one point of sale terminal and the at least one customer mobile terminal (101A, 101B), encoding and communicating a respective (1301, 1303) transaction request message to the at least one host terminal, wherein the encoded transaction request message communicated by the at least one point of sale terminal includes transaction data and the unique identifier and the encoded transaction request message communicated by the at least one customer mobile terminal (101A, 101B) includes the unique identifier; at the at least one host terminal, identifying the transaction request message communicated by the at least one point of sale terminal, and instantiating and storing a transaction record associated with the unique identifier and populated with the transaction data included in the transaction request message of the at least one point of sale terminal; at the at least one host terminal, identifying the transaction request message communicated by the at least one customer mobile terminal (101A, 101B), and matching the transaction request message of the at least one customer mobile terminal (101A, 101B) with the stored transaction request message of the at least one point of sale terminal using the unique identifier contained in the transaction request message of the at least one customer mobile terminal (101A, 101B) in order to identify the corresponding stored transaction record;