class PaymentHighway::Signer

Public Class Methods

signature(config:, method:, uri:, headers:, body: "") click to toggle source
# 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