public CreateTransactionResponseDto CreateTransaction(CreateTransactionRequestDto transactionDto)
{
_logger.Debug(string.Format("Call to Create Transaction for TransactionId: {0}, and amount: {1}", transactionDto.TransactionId, transactionDto.Currency));
var dateNow = DateTime.UtcNow;
var message = string.Format("{0}{1}{2}{1}{3}{1}{4}", _configuration.GetCreateTransactionFunction(), "\n",
transactionDto.TransactionId, transactionDto.Currency, dateNow.ToString("r"));
_logger.Debug(string.Format("Generate message {0}, for PuntoPago", message));
var authorization = _authorization.GetAuthorizationHeader(message);
var response = _webExecute.Execute(_configuration.GetCreateTransactionUrl(), "POST", transactionDto.GetJson(), authorization, dateNow);
_logger.Debug("End create transaction, start CreateTransactionResponseDto");
var createTransactionResponseDto = new CreateTransactionResponseDto(response, _configuration);
_logger.Info(string.Format("Create new Transaction for TransactionId: {0} with Token: {1}",
createTransactionResponseDto.TransactionId, createTransactionResponseDto.Token));
return createTransactionResponseDto;
}