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(