A method of using a barcode to facilitate an authentication of a first mobile terminal of a seller and a second mobile terminal of a buyer when performing a transaction between the seller and the buyer, the method comprising: a. receiving a first authentication data comprising a secret by a server from said first mobile terminal using a first application; b. verifying said first authentication data and said seller by said server; c. upon verification erasing said first authentication data from a memory of the said first mobile terminal by said first application; d. providing a unique identity and a first data set comprising a transaction data by said first mobile terminal to the server; e. generating and providing a barcode by said server, said barcode not including the transaction data to said first mobile terminal; f. transferring said barcode to said second mobile terminal from said first mobile terminal; g. decoding said barcode by said second mobile terminal using a second application to recover the challenge; h. providing said server by said second mobile terminal with the challenge number and a second identity to obtain transaction information; i. verifying by said server the challenge number and providing said second mobile terminal with a second data set comprising the transaction information, wherein the transaction information comprises a specified amount to be transferred from the buyers account to the seller's account and a transaction id; j. verifying the second data set by said buyer in said second mobile terminal using a unique code; k. providing from the said second mobile terminal, the unique code, the transaction id and a third identity to said server; l. validating data provided in the step (k) by said server and upon validation transferring the specified amount from the buyers to the seller's account;, wherein said barcode is created by: • generating a challenge number by said server and storing it in a local database along with a current time and information about a browser session; the challenge number being randomly generated, • converting by the server the challenge number to a short text string, and • creating by the server the barcode containing the short text string. a. receiving a first authentication data comprising a secret by a server from said first mobile terminal using a first application; b. verifying said first authentication data and said seller by said server; c. upon verification erasing said first authentication data from a memory of the said first mobile terminal by said first application; d. providing a unique identity and a first data set comprising a transaction data by said first mobile terminal to the server; e. generating and providing a barcode by said server, said barcode not including the transaction data to said first mobile terminal; f. transferring said barcode to said second mobile terminal from said first mobile terminal; g. decoding said barcode by said second mobile terminal using a second application to recover the challenge; h. providing said server by said second mobile terminal with the challenge number and a second identity to obtain transaction information; i. verifying by said server the challenge number and providing said second mobile terminal with a second data set comprising the transaction information, wherein the transaction information comprises a specified amount to be transferred from the buyers account to the seller's account and a transaction id; j. verifying the second data set by said buyer in said second mobile terminal using a unique code; k. providing from the said second mobile terminal, the unique code, the transaction id and a third identity to said server; l. validating data provided in the step (k) by said server and upon validation transferring the specified amount from the buyers to the seller's account;, wherein said barcode is created by: • generating a challenge number by said server and storing it in a local database along with a current time and information about a browser session; the challenge number being randomly generated, • converting by the server the challenge number to a short text string, and • creating by the server the barcode containing the short text string. • generating a challenge number by said server and storing it in a local database along with a current time and information about a browser session; the challenge number being randomly generated, • converting by the server the challenge number to a short text string, and • creating by the server the barcode containing the short text string.