class Securetrading::SiteSecurity

Public Class Methods

hash(fields, config_options = nil) click to toggle source
# File lib/securetrading/site_security.rb, line 3
def self.hash(fields, config_options = nil)
  Digest::SHA256.hexdigest(str_to_encode(fields, config_options))
end

Private Class Methods

configuration(config_options) click to toggle source
# File lib/securetrading/site_security.rb, line 20
def self.configuration(config_options)
  return Securetrading.config unless config_options.present?
  Configuration.new(config_options)
end
str_to_encode(fields, config_options = nil) click to toggle source
# File lib/securetrading/site_security.rb, line 7
def self.str_to_encode(fields, config_options = nil)
  config = configuration(config_options)
  str = ''
  fields.reverse_merge!(authmethod: config.auth_method)
  %i(currencyiso3a mainamount sitereference settlestatus authmethod
     settleduedate paypaladdressoverride strequiredfields version
     stprofile ruleidentifier successfulurlredirect
     declinedurlredirect).each do |field|
    str << fields[field].to_s
  end
  str << config.site_security_password
end