Class: KambaCheckout::API

Inherits:
Object
  • Object
show all
Defined in:
lib/kamba_checkout/api.rb

Class Method Summary collapse

Class Method Details

.generate_checkout(environment, checkout) ⇒ Object



3
4
5
6
7
8
9
10
11
12
13
14
# File 'lib/kamba_checkout/api.rb', line 3

def self.generate_checkout(environment, checkout)
  time = Time.now.httpdate
  secret_key = KambaCheckout.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.digest(digest, secret_key, canonical_string)
  signature = Base64.strict_encode64(hmac_signature)
  KambaCheckout::Response.new(environment, checkout, signature, time)
end