Class: Sisow::Api::TransactionRequest

Inherits:
Request
  • Object
show all
Defined in:
lib/sisow/api/request/transaction_request.rb

Constant Summary

Constants inherited from Request

Request::BASE_URI

Instance Attribute Summary collapse

Instance Method Summary collapse

Methods inherited from Request

#default_params, #perform, perform

Constructor Details

#initialize(payment) ⇒ TransactionRequest

Returns a new instance of TransactionRequest.



11
12
13
# File 'lib/sisow/api/request/transaction_request.rb', line 11

def initialize(payment)
  @payment = payment
end

Instance Attribute Details

#amountObject

Returns the value of attribute amount.



5
6
7
# File 'lib/sisow/api/request/transaction_request.rb', line 5

def amount
  @amount
end

#descriptionObject

Returns the value of attribute description.



5
6
7
# File 'lib/sisow/api/request/transaction_request.rb', line 5

def description
  @description
end

#issuer_idObject

Returns the value of attribute issuer_id.



5
6
7
# File 'lib/sisow/api/request/transaction_request.rb', line 5

def issuer_id
  @issuer_id
end

#payment=(value) ⇒ Object

Sets the attribute payment

Parameters:

  • value

    the value to set the attribute payment to.



5
6
7
# File 'lib/sisow/api/request/transaction_request.rb', line 5

def payment=(value)
  @payment = value
end

#purchase_idObject

Returns the value of attribute purchase_id.



5
6
7
# File 'lib/sisow/api/request/transaction_request.rb', line 5

def purchase_id
  @purchase_id
end

Instance Method Details

#clean(response) ⇒ Object



23
24
25
26
27
28
29
# File 'lib/sisow/api/request/transaction_request.rb', line 23

def clean(response)
  check_validity!(response)

  if response.transactionrequest? && response.transactionrequest.transaction?
    response.transactionrequest.transaction
  end
end

#methodObject



15
16
17
# File 'lib/sisow/api/request/transaction_request.rb', line 15

def method
  'TransactionRequest'
end

#paramsObject



19
20
21
# File 'lib/sisow/api/request/transaction_request.rb', line 19

def params
  default_params.merge!(transaction_params)
end

#sha1Object



35
36
37
38
39
40
41
42
43
44
45
# File 'lib/sisow/api/request/transaction_request.rb', line 35

def sha1
  string = [
    payment.purchase_id,
    payment.entrance_code,
    payment.amount,
    Sisow.configuration.merchant_id,
    Sisow.configuration.merchant_key
  ].join

  Digest::SHA1.hexdigest(string)
end

#validate!Object

Raises:



31
32
33
# File 'lib/sisow/api/request/transaction_request.rb', line 31

def validate!
  raise Sisow::Exception, 'One of your payment parameters is missing or invalid' unless @payment.valid?
end