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