Class: Opay::Providers::Transferuj

Inherits:
Object
  • Object
show all
Defined in:
lib/opay/providers/transferuj.rb

Constant Summary collapse

TRANSFERUJ_URL =
'https://secure.transferuj.pl/'

Class Method Summary collapse

Class Method Details

.create_form_sig(options) ⇒ Object



33
34
35
36
37
38
39
40
# File 'lib/opay/providers/transferuj.rb', line 33

def self.create_form_sig(options)
  sig_string = ''
  %w( id kwota crc ).each do |key|
    sig_string += options[key.to_sym].to_s if options.has_key?(key.to_sym)
  end

  create_sig(sig_string)
end

.create_sig(*values) ⇒ Object



25
26
27
# File 'lib/opay/providers/transferuj.rb', line 25

def self.create_sig(*values)
  Digest::MD5.hexdigest(values.join + Opay.config.transferuj_secure_code)
end

.process(params) ⇒ Object



10
11
12
13
14
15
16
17
18
19
# File 'lib/opay/providers/transferuj.rb', line 10

def self.process(params)
  return false unless verify_sig(params[:md5sum], params[:id], params[:tr_id], params[:tr_amount], params[:tr_crc])

  if params[:tr_status] == 'TRUE'
    payment = Opay::Payment.where(session_id: params[:tr_crc]).first!
    payment.payable.finish
  end

  return true
end

.urlObject



21
22
23
# File 'lib/opay/providers/transferuj.rb', line 21

def self.url
  Opay.config.process_payments_localy == true ? '/opay/transferuj/secure' : TRANSFERUJ_URL
end

.verify_sig(sig, *values) ⇒ Object



29
30
31
# File 'lib/opay/providers/transferuj.rb', line 29

def self.verify_sig(sig, *values)
  sig == Digest::MD5.hexdigest(values.join + Opay.config.transferuj_secure_code)
end