Module: Paymob
- Defined in:
- lib/paymob.rb,
lib/paymob/version.rb
Constant Summary collapse
- FILTERED_KEYS =
['c_pan_U', 'c_holder_name_U', 'c_expiry_mm_U', 'c_expiry_yy_U', 'c_cvv_U']
- VERSION =
"0.1.1"
Class Method Summary collapse
Class Method Details
.calc_secure_hash(key, data) ⇒ Object
7 8 9 10 11 12 13 14 15 16 17 18 |
# 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 |