Class: Datatrans::Web::Transaction::AuthorizeResponse

Inherits:
Object
  • Object
show all
Includes:
Common
Defined in:
lib/datatrans/web/transaction/authorize.rb

Instance Attribute Summary collapse

Instance Method Summary collapse

Methods included from Common

#sign

Constructor Details

#initialize(params) ⇒ AuthorizeResponse

Returns a new instance of AuthorizeResponse.



5
6
7
# File 'lib/datatrans/web/transaction/authorize.rb', line 5

def initialize(params)
  @params = params
end

Instance Attribute Details

#paramsObject

Returns the value of attribute params.



3
4
5
# File 'lib/datatrans/web/transaction/authorize.rb', line 3

def params
  @params
end

Instance Method Details

#authorization_codeObject



35
36
37
# File 'lib/datatrans/web/transaction/authorize.rb', line 35

def authorization_code
  params[:authorizationCode] rescue nil
end

#creditcard_aliasObject



55
56
57
# File 'lib/datatrans/web/transaction/authorize.rb', line 55

def creditcard_alias
  params[:aliasCC] rescue nil
end

#error_codeObject



59
60
61
# File 'lib/datatrans/web/transaction/authorize.rb', line 59

def error_code
  params[:errorCode] rescue nil
end

#error_detailObject



67
68
69
# File 'lib/datatrans/web/transaction/authorize.rb', line 67

def error_detail
  params[:errorDetail] rescue nil
end

#error_messageObject



63
64
65
# File 'lib/datatrans/web/transaction/authorize.rb', line 63

def error_message
  params[:errorMessage] rescue nil
end

#exp_monthObject



51
52
53
# File 'lib/datatrans/web/transaction/authorize.rb', line 51

def exp_month
  params[:expm] rescue nil
end

#exp_yearObject



47
48
49
# File 'lib/datatrans/web/transaction/authorize.rb', line 47

def exp_year
  params[:expy] rescue nil
end

#masked_ccObject



43
44
45
# File 'lib/datatrans/web/transaction/authorize.rb', line 43

def masked_cc
  params[:maskedCC] rescue nil
end

#payment_methodObject



39
40
41
# File 'lib/datatrans/web/transaction/authorize.rb', line 39

def payment_method
  params[:pmethod] rescue nil
end

#reference_numberObject



31
32
33
# File 'lib/datatrans/web/transaction/authorize.rb', line 31

def reference_number
  params[:refno] rescue nil 
end

#response_codeObject



19
20
21
# File 'lib/datatrans/web/transaction/authorize.rb', line 19

def response_code
  params[:responseCode] rescue nil
end

#response_messageObject



23
24
25
# File 'lib/datatrans/web/transaction/authorize.rb', line 23

def response_message
  params[:responseMessage] rescue nil
end

#successful?Boolean

Returns:

  • (Boolean)

Raises:



9
10
11
12
# File 'lib/datatrans/web/transaction/authorize.rb', line 9

def successful?
  raise Datatrans::InvalidSignatureError unless valid_signature?
  response_code == '01' && response_message == 'Authorized' && !errors_occurred?
end

#transaction_idObject



27
28
29
# File 'lib/datatrans/web/transaction/authorize.rb', line 27

def transaction_id
  params[:uppTransactionId] rescue nil 
end

#valid_signature?Boolean

Returns:

  • (Boolean)


14
15
16
17
# File 'lib/datatrans/web/transaction/authorize.rb', line 14

def valid_signature?
  return true if errors_occurred? # no sign2 sent on error
  sign(Datatrans.merchant_id, params[:amount], params[:currency], params[:uppTransactionId]) == params[:sign2]
end