Class: PaymentHighway::Signer

Inherits:
Object
  • Object
show all
Defined in:
lib/payment_highway/signer.rb

Class Method Summary collapse

Class Method Details

.signature(config:, method:, uri:, headers:, body: "") ⇒ Object



3
4
5
6
7
# File 'lib/payment_highway/signer.rb', line 3

def self.signature(config:, method:, uri:, headers:, body: "")
  payload = ([method, uri] + Hash[headers.sort].map{|k,v| "#{k}:#{v}"} + [body]).join("\n")
  hmac = OpenSSL::HMAC.hexdigest(OpenSSL::Digest::SHA256.new, config.secret, payload)
  "SPH1 #{config.key} #{hmac}"
end