Class: Espago::Masterpass

Inherits:
Object
  • Object
show all
Defined in:
lib/espago/masterpass.rb

Class Method Summary collapse

Class Method Details

.calculate(string) ⇒ Object



7
8
9
# File 'lib/espago/masterpass.rb', line 7

def self.calculate(string)
  Digest::MD5.hexdigest(string)
end

.calculate_checksum(app_id, session_id, amount, currency, checksum_key) ⇒ Object



11
12
13
# File 'lib/espago/masterpass.rb', line 11

def self.calculate_checksum(app_id, session_id, amount, currency, checksum_key)
  calculate [app_id.to_s, session_id.to_s, amount.to_s, currency.to_s, checksum_key.to_s].join('|')
end

.calculate_checksum_pairing(app_id, session_id, user_id, checksum_key) ⇒ Object



15
16
17
# File 'lib/espago/masterpass.rb', line 15

def self.calculate_checksum_pairing(app_id, session_id, user_id, checksum_key)
  calculate [app_id.to_s, session_id.to_s, user_id.to_s, checksum_key.to_s].join('|')
end

.friendly_tokenObject



3
4
5
# File 'lib/espago/masterpass.rb', line 3

def self.friendly_token
  SecureRandom.base64(15).tr('+/=lIO0', 'aqrsxyz')
end

.make_currency(data_currency) ⇒ Object



22
23
24
# File 'lib/espago/masterpass.rb', line 22

def self.make_currency(data_currency)
  (data_currency || Espago.currency).upcase
end

.masterpass_post(api_v = nil) ⇒ Object



19
20
# File 'lib/espago/masterpass.rb', line 19

def self.masterpass_post(api_v=nil)
end

.prepare_form(data) ⇒ Object



26
27
28
29
30
31
32
33
# File 'lib/espago/masterpass.rb', line 26

def self.prepare_form(data)
  data[:masterpass_action] ||=  'checkout'
  data[:app_id] ||=  Espago.app_id
  data[:api_version] ||= Espago.api_version
  data[:amount] = format('%.2f', data[:amount])
  data[:checksum] = calculate_checksum(data[:app_id],data[:session_id],data[:amount],data[:currency],data[:checksum_key]|| Espago.checksum_key)
  data
end

.prepare_pairing_form(data) ⇒ Object



35
36
37
38
39
40
41
# File 'lib/espago/masterpass.rb', line 35

def self.prepare_pairing_form(data)
  data[:masterpass_action] ||=  'pairing'
  data[:app_id] ||=  Espago.app_id
  data[:api_version] ||= Espago.api_version
  data[:checksum] = calculate_checksum_pairing(data[:app_id],data[:session_id],data[:user_id],data[:checksum_key]|| Espago.checksum_key)
  data
end

.prepare_precheckout_form(data) ⇒ Object



42
43
44
45
46
47
48
49
# File 'lib/espago/masterpass.rb', line 42

def self.prepare_precheckout_form(data)
  data[:masterpass_action] ||=  'precheckout'
  data[:app_id] ||=  Espago.app_id
  data[:api_version] ||= Espago.api_version
  data[:amount] = format('%.2f', data[:amount])
  data[:checksum] = calculate_checksum(data[:app_id],data[:session_id],data[:amount],data[:currency],data[:checksum_key]|| Espago.checksum_key)
  data
end