class MomoPay::Signature

Attributes

query_string[R]

Public Class Methods

new(data, keys) click to toggle source
# File lib/momo_pay/signature.rb, line 11
def initialize(data, keys)
  @query_string = MomoPay::QueryString.new(data).to_s(keys)
end
verify!(data, type) click to toggle source
# File lib/momo_pay/signature.rb, line 4
def self.verify!(data, type)
  momo_signature = self.new(data, MomoPay.setup.get_verify_keys!(type)).to_s
  data_signature = data['signature'] || data[:signature]
  return true if momo_signature == data_signature
  raise MomoPay::SignatureError, "Gem:#{momo_signature || 'nil'} vs Data:#{data_signature || 'nil'}"
end

Public Instance Methods

to_s() click to toggle source
# File lib/momo_pay/signature.rb, line 15
def to_s
  OpenSSL::HMAC.hexdigest("SHA256", MomoPay.setup.secret_key, query_string)
end