module Paymob

Constants

FILTERED_KEYS
VERSION

Public Class Methods

calc_secure_hash(key, data) click to toggle source
# File lib/paymob.rb, line 7
def Paymob.calc_secure_hash(key, data)
  digest = ::OpenSSL::Digest.new('sha256')
  sorted = data.keys.sort.reject { |e| FILTERED_KEYS.include?(e.to_s) }
  data_str = sorted.reduce('') do |memo, key|
    unless data[key].nil?
      memo + data[key].to_s
    else
      memo
    end
  end
  ::OpenSSL::HMAC.hexdigest(digest, key, data_str)
end