Sha256: dbff5a7d622e8c9427f020728dfe313699f64d060b9da3a46bba3dc414fac832

Contents?: true

Size: 1.81 KB

Versions: 4

Compression:

Stored size: 1.81 KB

Contents

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

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

    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

    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

    def self.masterpass_post(api_v=nil)
    end

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

    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

    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
    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

  end
end

Version data entries

4 entries across 4 versions & 1 rubygems

Version Path
espago-0.1.11 lib/espago/masterpass.rb
espago-0.1.10 lib/espago/masterpass.rb
espago-0.1.9 lib/espago/masterpass.rb
espago-0.1.8 lib/espago/masterpass.rb