lib/active_merchant/billing/gateways/ogone.rb in activemerchant-1.53.0 vs lib/active_merchant/billing/gateways/ogone.rb in activemerchant-1.54.0

- old
+ new

@@ -204,10 +204,17 @@ # Refund of a settled transaction def refund(money, reference, options = {}) perform_reference_credit(money, reference, options) end + def verify(credit_card, options={}) + MultiResponse.run(:use_first_response) do |r| + r.process { authorize(100, credit_card, options) } + r.process(:ignore_result) { void(r.authorization, options) } + end + end + # Store a credit card by creating an Ogone Alias def store(payment_source, options = {}) options.merge!(:alias_operation => 'BYPSP') unless(options.has_key?(:billing_id) || options.has_key?(:store)) response = authorize(@options[:store_amount] || 1, payment_source, options) void(response.authorization) if response.success? @@ -421,11 +428,12 @@ Digest::SHA1 else raise "Unknown signature algorithm #{algorithm}" end + filtered_params = signed_parameters.select{|k,v| !v.blank?} sha_encryptor.hexdigest( - signed_parameters.sort_by{|k,v| k.upcase}.map{|k, v| "#{k.upcase}=#{v}#{secret}"}.join("") + filtered_params.sort_by{|k,v| k.upcase}.map{|k, v| "#{k.upcase}=#{v}#{secret}"}.join("") ).upcase end def legacy_calculate_signature(parameters, secret) Digest::SHA1.hexdigest(