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(datatrans, params) ⇒ AuthorizeResponse

Returns a new instance of AuthorizeResponse.



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

def initialize(datatrans, params)
  warn "DEPRECATION WARNING: Support for the payment page is deprecated and will be removed in the next major version. Please use the JSON API instead."

  @datatrans = datatrans
  @params = params
end

Instance Attribute Details

#datatransObject

Returns the value of attribute datatrans.



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

def datatrans
  @datatrans
end

#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



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

def authorization_code
  params[:authorizationCode]
rescue
  nil
end

#creditcard_aliasObject



83
84
85
86
87
# File 'lib/datatrans/web/transaction/authorize.rb', line 83

def creditcard_alias
  params[:aliasCC]
rescue
  nil
end

#error_codeObject



89
90
91
92
93
# File 'lib/datatrans/web/transaction/authorize.rb', line 89

def error_code
  params[:errorCode]
rescue
  nil
end

#error_detailObject



101
102
103
104
105
# File 'lib/datatrans/web/transaction/authorize.rb', line 101

def error_detail
  params[:errorDetail]
rescue
  nil
end

#error_messageObject



95
96
97
98
99
# File 'lib/datatrans/web/transaction/authorize.rb', line 95

def error_message
  params[:errorMessage]
rescue
  nil
end

#exp_monthObject



77
78
79
80
81
# File 'lib/datatrans/web/transaction/authorize.rb', line 77

def exp_month
  params[:expm]
rescue
  nil
end

#exp_yearObject



71
72
73
74
75
# File 'lib/datatrans/web/transaction/authorize.rb', line 71

def exp_year
  params[:expy]
rescue
  nil
end

#masked_ccObject



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

def masked_cc
  params[:maskedCC]
rescue
  nil
end

#payment_methodObject



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

def payment_method
  params[:pmethod]
rescue
  nil
end

#reference_numberObject



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

def reference_number
  params[:refno]
rescue
  nil
end

#response_codeObject



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

def response_code
  params[:responseCode]
rescue
  nil
end

#response_messageObject



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

def response_message
  params[:responseMessage]
rescue
  nil
end

#statusObject



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

def status
  params[:status]
rescue
  nil
end

#successful?Boolean

Returns:

  • (Boolean)

Raises:



12
13
14
15
# File 'lib/datatrans/web/transaction/authorize.rb', line 12

def successful?
  raise Datatrans::InvalidSignatureError unless valid_signature?
  response_code == "01" && status == "success" && !errors_occurred?
end

#transaction_idObject



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

def transaction_id
  params[:uppTransactionId]
rescue
  nil
end

#valid_signature?Boolean

Returns:

  • (Boolean)


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

def valid_signature?
  # TODO: does not make sense... true if errors?
  return true if errors_occurred? # no sign2 sent on error
  sign(datatrans.merchant_id, params[:amount], params[:currency], params[:uppTransactionId]) == params[:sign2]
end