lib/active_merchant/billing/gateways/redsys.rb in activemerchant-1.101.0 vs lib/active_merchant/billing/gateways/redsys.rb in activemerchant-1.102.0

- old
+ new

@@ -371,13 +371,13 @@ end end def build_signature(data) str = data[:amount] + - data[:order_id].to_s + - @options[:login].to_s + - data[:currency] + data[:order_id].to_s + + @options[:login].to_s + + data[:currency] if card = data[:card] str << card[:pan] str << card[:cvv] if card[:cvv] end @@ -493,18 +493,18 @@ if sha256_authentication? sig = Base64.strict_encode64(mac256(get_key(data[:ds_order].to_s), xml_signed_fields(data))) sig.casecmp(data[:ds_signature].to_s).zero? else str = data[:ds_amount] + - data[:ds_order].to_s + - data[:ds_merchantcode] + - data[:ds_currency] + - data[:ds_response] + - data[:ds_cardnumber].to_s + - data[:ds_transactiontype].to_s + - data[:ds_securepayment].to_s + - @options[:secret_key] + data[:ds_order].to_s + + data[:ds_merchantcode] + + data[:ds_currency] + + data[:ds_response] + + data[:ds_cardnumber].to_s + + data[:ds_transactiontype].to_s + + data[:ds_securepayment].to_s + + @options[:secret_key] sig = Digest::SHA1.hexdigest(str) data[:ds_signature].to_s.downcase == sig end end @@ -589,10 +589,10 @@ OpenSSL::HMAC.digest(OpenSSL::Digest.new('sha256'), key, data) end def xml_signed_fields(data) xml_signed_fields = data[:ds_amount] + data[:ds_order] + data[:ds_merchantcode] + - data[:ds_currency] + data[:ds_response] + data[:ds_currency] + data[:ds_response] xml_signed_fields += data[:ds_cardnumber] if data[:ds_cardnumber] xml_signed_fields += data[:ds_emv3ds] if data[:ds_emv3ds]