public RedsysNotification(string merchantData, decimal amount, string order, int response, string authorizationCode, string consumerLanguage, string cardType, DateTime date,  string merchantCode, int terminal, string signature, bool securePayment, RedsysTransactionType transactionType, string cardCountry, string currency)
 {
     MerchantData = merchantData;
     Amount = amount;
     Order = order;
     Response = response;
     AuthorizationCode = authorizationCode;
     ConsumerLanguage = consumerLanguage;
     CardType = cardType;
     DateTime = date;
     MerchantCode = merchantCode;
     Terminal = terminal;
     Signature = signature;
     SecurePayment = securePayment;
     TransactionType = transactionType;
     CardCountry = cardCountry;
     Currency = currency;
 }
        /// <summary>
        /// Gets a SHA1 signature.
        /// </summary>
        /// <param name="amount">The amount.</param>
        /// <param name="order">The order.</param>
        /// <param name="merchantCode">The merchant code.</param>
        /// <param name="currency">The currency.</param>
        /// <param name="transactionType">Type of the transaction.</param>
        /// <param name="callback">The callback.</param>
        /// <param name="secret">The secret.</param>
        /// <returns>System.String.</returns>
        public static string GetSignature(decimal amount,
                                          string order,
                                          int merchantCode,
                                          int currency,
                                          RedsysTransactionType transactionType,
                                          string callback,
                                          string secret)
        {
            string input = string.Format("{0}{1}{2}{3}{4}{5}{6}",
                                          (int)Math.Round(amount * 100, 2),
                                          order,
                                          merchantCode,
                                          currency,
                                          (char)transactionType,
                                          callback,
                                          secret);

            return Hash(input);
        }