Sha256: 8a9eaf372600fb32b368c30f6d174434912ae196219e39c8622190122be6e993

Contents?: true

Size: 675 Bytes

Versions: 3

Compression:

Stored size: 675 Bytes

Contents

module Securetrading
  class SiteSecurity
    def self.hash(fields)
      Digest::SHA256.hexdigest(str_to_encode(fields))
    end

    def self.str_to_encode(fields)
      str = ''
      fields.reverse_merge!(authmethod: Securetrading.config.auth_method)
      [:currencyiso3a, :mainamount, :sitereference, :settlestatus,
       :settleduedate, :authmethod, :paypaladdressoverride,
       :strequiredfields, :version, :stprofile, :ruleidentifier,
       :successfulurlredirect, :declinedurlredirect].each do |field|
        str << fields[field].to_s
      end
      str << Securetrading.config.site_security_password
    end
    private_class_method :str_to_encode
  end
end

Version data entries

3 entries across 3 versions & 1 rubygems

Version Path
securetrading-0.3.2 lib/securetrading/site_security.rb
securetrading-0.3.1 lib/securetrading/site_security.rb
securetrading-0.3.0 lib/securetrading/site_security.rb