class KambaSignatureGeneration::API

Public Class Methods

generate_md5(checkout) click to toggle source
# File lib/kamba_signature_generation/api.rb, line 16
def self.generate_md5(checkout)
  Digest::MD5.hexdigest(checkout)
end
generate_signature(checkout) click to toggle source
# File lib/kamba_signature_generation/api.rb, line 5
def self.generate_signature(checkout)
  time = Time.now.utc.httpdate
  secret_key = KambaSignatureGeneration.secret_key

  json_string = checkout.to_json
  canonical_string = "POST,application/json,#{generate_md5(json_string)},/v1/checkouts,#{time}"
  digest = OpenSSL::Digest.new('sha1')
  hmac_signature = OpenSSL::HMAC.hexdigest(digest, secret_key, canonical_string)
  time + '.' + Base64.strict_encode64(hmac_signature)
end