module Transferuj

Public Class Methods

configured?() click to toggle source
# File lib/transferuj.rb, line 40
      def self.configured?
  self.id.present? && self.security_code.present?
end
id() click to toggle source
# File lib/transferuj.rb, line 12
def self.id
  @@id
end
id=(new_id) click to toggle source
# File lib/transferuj.rb, line 8
def self.id=(new_id)
  @@id = new_id
end
pay_url(params = {}) click to toggle source

Creates URL for redirection to pay page

# File lib/transferuj.rb, line 26
def self.pay_url(params = {})
        self.sanity_check!
        md5sum = Digest::MD5.hexdigest(self.id.to_s+params[:kwota].to_s+params[:crc].to_s+self.security_code.to_s)
        params.merge!({:id => self.id, :md5sum => md5sum})
        URI::HTTP.build(:host => "secure.transferuj.pl", :query => params.to_query).to_s
end
sanity_check!() click to toggle source
# File lib/transferuj.rb, line 44
def self.sanity_check!
  unless configured?
    raise Exception.new("Transferuj Gem not properly configured. See README to get help how to do it.")
  end
end
security_code() click to toggle source
# File lib/transferuj.rb, line 21
def self.security_code
  @@security_code
end
security_code=(new_security_code) click to toggle source

Security code

# File lib/transferuj.rb, line 17
def self.security_code=(new_security_code)
  @@security_code = new_security_code
end
webhook_valid?(transaction, ip) click to toggle source

Checks MD5 checksum and IP of request

# File lib/transferuj.rb, line 34
    def self.webhook_valid?(transaction, ip)
            self.sanity_check!
            md5sum = Digest::MD5.hexdigest(self.id.to_s+transaction[:tr_id].to_s+transaction[:tr_amount].to_s+transaction[:tr_crc].to_s+self.security_code.to_s)
ip == '195.149.229.109' && transaction[:md5sum] == md5sum
    end