Class: Espago::Masterpass
- Inherits:
-
Object
- Object
- Espago::Masterpass
- Defined in:
- lib/espago/masterpass.rb
Class Method Summary collapse
- .calculate(string) ⇒ Object
- .calculate_checksum(app_id, session_id, amount, currency, checksum_key) ⇒ Object
- .calculate_checksum_pairing(app_id, session_id, user_id, checksum_key) ⇒ Object
- .friendly_token ⇒ Object
- .make_currency(data_currency) ⇒ Object
- .masterpass_post(api_v = nil) ⇒ Object
- .prepare_form(data) ⇒ Object
- .prepare_pairing_form(data) ⇒ Object
- .prepare_precheckout_form(data) ⇒ Object
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_token ⇒ Object
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 |