A method for authenticating a transaction involving a terminal of a provider of a product or a service and a mobile application of a user mobile device wherein: - operating an authentication server to generate a set of transaction unpredictable numbers to be sent to the mobile device, - operating the mobile device to receive and store the generated set of transaction unpredictable numbers, during an authentication of the transaction: - operating the mobile application to select a transaction unpredictable number not marked as used from the stored set of transaction unpredictable numbers and to associate said selected transaction unpredictable number to said transaction, - the mobile application elaborates an authorization request from a standard transaction authentication algorithm, said authorization request comprising a cryptogram computed according to the standard transaction authentication algorithm from at least the selected transaction unpredictable number associated to the transaction, standard keys and a list of transaction data defined by the standard transaction authentication algorithm, and wherein a unique identifier of the user is added to the authorization request, - operating the mobile application to encode the authorization request into an image payment code, said image payment code being sent from the mobile application to the terminal of a provider for payment, - said terminal of a provider comprising means configured to decode the received image payment code and to send the decoded authorization request to the server for authentication, - operating the authentication server to extract the unique identifier of the user added to the authorization request and to recover a transaction unpredictable number previously stored in the server database based on the extracted unique identifier of the user and the pre-determined sequence, - operating the authentication server to send to an issuer for authorization of the transaction the recovered transaction unpredictable number and the cryptogram of the authorization request, said issuer authorizing the transaction by verifying the content of the authorization request according to procedures defined in the standard transaction authentication algorithm by using the received recovered transaction unpredictable number, and wherein the terminal of a provider is notified by the issuer of a result indicating whether or not said transaction is authenticated and authorized. - operating an authentication server to generate a set of transaction unpredictable numbers to be sent to the mobile device, - operating the mobile device to receive and store the generated set of transaction unpredictable numbers, - operating the mobile application to select a transaction unpredictable number not marked as used from the stored set of transaction unpredictable numbers and to associate said selected transaction unpredictable number to said transaction, - the mobile application elaborates an authorization request from a standard transaction authentication algorithm, said authorization request comprising a cryptogram computed according to the standard transaction authentication algorithm from at least the selected transaction unpredictable number associated to the transaction, standard keys and a list of transaction data defined by the standard transaction authentication algorithm, and wherein a unique identifier of the user is added to the authorization request, - operating the mobile application to encode the authorization request into an image payment code, said image payment code being sent from the mobile application to the terminal of a provider for payment, - said terminal of a provider comprising means configured to decode the received image payment code and to send the decoded authorization request to the server for authentication, - operating the authentication server to extract the unique identifier of the user added to the authorization request and to recover a transaction unpredictable number previously stored in the server database based on the extracted unique identifier of the user and the pre-determined sequence, - operating the authentication server to send to an issuer for authorization of the transaction the recovered transaction unpredictable number and the cryptogram of the authorization request, said issuer authorizing the transaction by verifying the content of the authorization request according to procedures defined in the standard transaction authentication algorithm by using the received recovered transaction unpredictable number, and wherein the terminal of a provider is notified by the issuer of a result indicating whether or not said transaction is authenticated and authorized.