Class: MomoPay::Signature

Inherits:
Object
  • Object
show all
Defined in:
lib/momo_pay/signature.rb

Class Method Summary collapse

Instance Method Summary collapse

Constructor Details

#initialize(data, keys) ⇒ Signature

Returns a new instance of Signature.



12
13
14
# File 'lib/momo_pay/signature.rb', line 12

def initialize(data, keys)
  @query_string = MomoPay::QueryString.new(data).to_s(keys)
end

Class Method Details

.verify!(data) ⇒ Object



4
5
6
7
8
9
10
# File 'lib/momo_pay/signature.rb', line 4

def self.verify!(data)
  momo_signature = self.new(data, MomoPay.setup.signature_verify_keys).to_s
  data_signature = data['signature'] || data[:signature]
  if momo_signature != data_signature
    raise MomoPay::SignatureError.new("#{momo_signature} vs #{data_signature}")
  end
end

Instance Method Details

#to_sObject



16
17
18
# File 'lib/momo_pay/signature.rb', line 16

def to_s
  OpenSSL::HMAC.hexdigest("SHA256", MomoPay.setup.secret_key, query_string)
end