connect-sdk-ruby 1.7.0 → 1.8.0

Sign up to get free protection for your applications and to get access to all the features.
Files changed (59) hide show
  1. checksums.yaml +4 -4
  2. data/README.md +1 -1
  3. data/connect-sdk-ruby.gemspec +3 -3
  4. data/examples/merchant/payments/create_payment_example.rb +14 -10
  5. data/examples/merchant/payouts/create_payout_example.rb +9 -5
  6. data/lib/ingenico/connect/sdk/api_exception.rb +4 -4
  7. data/lib/ingenico/connect/sdk/api_resource.rb +3 -3
  8. data/lib/ingenico/connect/sdk/authenticator.rb +1 -1
  9. data/lib/ingenico/connect/sdk/authorization_exception.rb +2 -2
  10. data/lib/ingenico/connect/sdk/call_context.rb +1 -1
  11. data/lib/ingenico/connect/sdk/client.rb +1 -1
  12. data/lib/ingenico/connect/sdk/communication_exception.rb +1 -1
  13. data/lib/ingenico/connect/sdk/communicator.rb +10 -10
  14. data/lib/ingenico/connect/sdk/communicator_configuration.rb +11 -11
  15. data/lib/ingenico/connect/sdk/declined_payment_exception.rb +3 -3
  16. data/lib/ingenico/connect/sdk/declined_payout_exception.rb +3 -3
  17. data/lib/ingenico/connect/sdk/declined_refund_exception.rb +3 -3
  18. data/lib/ingenico/connect/sdk/declined_transaction_exception.rb +1 -1
  19. data/lib/ingenico/connect/sdk/defaultimpl/default_authenticator.rb +1 -1
  20. data/lib/ingenico/connect/sdk/defaultimpl/default_connection.rb +5 -5
  21. data/lib/ingenico/connect/sdk/domain/payment/approve_payment_direct_debit_payment_method_specific_input.rb +15 -0
  22. data/lib/ingenico/connect/sdk/domain/payment/approve_payment_non_sepa_direct_debit_payment_method_specific_input.rb +2 -2
  23. data/lib/ingenico/connect/sdk/domain/payment/approve_payment_sepa_direct_debit_payment_method_specific_input.rb +2 -2
  24. data/lib/ingenico/connect/sdk/domain/payment/complete_payment_request.rb +11 -0
  25. data/lib/ingenico/connect/sdk/domain/payment/order.rb +2 -0
  26. data/lib/ingenico/connect/sdk/domain/payment/payment_product840_specific_output.rb +11 -0
  27. data/lib/ingenico/connect/sdk/domain/payment/protection_eligibility.rb +38 -0
  28. data/lib/ingenico/connect/sdk/domain/payment/redirect_payment_method_specific_input.rb +11 -0
  29. data/lib/ingenico/connect/sdk/domain/payment/redirect_payment_method_specific_input_base.rb +14 -0
  30. data/lib/ingenico/connect/sdk/domain/payment/redirect_payment_product840_specific_input.rb +38 -0
  31. data/lib/ingenico/connect/sdk/domain/payment/shopping_cart.rb +14 -0
  32. data/lib/ingenico/connect/sdk/domain/product/abstract_indicator.rb +38 -0
  33. data/lib/ingenico/connect/sdk/domain/product/authentication_indicator.rb +15 -0
  34. data/lib/ingenico/connect/sdk/domain/product/payment_product.rb +11 -0
  35. data/lib/ingenico/connect/sdk/endpoint_configuration.rb +10 -10
  36. data/lib/ingenico/connect/sdk/factory.rb +4 -4
  37. data/lib/ingenico/connect/sdk/global_collect_exception.rb +3 -3
  38. data/lib/ingenico/connect/sdk/idempotence_exception.rb +2 -2
  39. data/lib/ingenico/connect/sdk/merchant/captures/captures_client.rb +3 -3
  40. data/lib/ingenico/connect/sdk/merchant/hostedcheckouts/hostedcheckouts_client.rb +6 -6
  41. data/lib/ingenico/connect/sdk/merchant/payments/payments_client.rb +38 -38
  42. data/lib/ingenico/connect/sdk/merchant/payouts/payouts_client.rb +16 -16
  43. data/lib/ingenico/connect/sdk/merchant/productgroups/productgroups_client.rb +6 -6
  44. data/lib/ingenico/connect/sdk/merchant/products/products_client.rb +15 -15
  45. data/lib/ingenico/connect/sdk/merchant/refunds/refunds_client.rb +12 -12
  46. data/lib/ingenico/connect/sdk/merchant/riskassessments/riskassessments_client.rb +6 -6
  47. data/lib/ingenico/connect/sdk/merchant/services/services_client.rb +12 -12
  48. data/lib/ingenico/connect/sdk/merchant/sessions/sessions_client.rb +3 -3
  49. data/lib/ingenico/connect/sdk/merchant/tokens/tokens_client.rb +15 -15
  50. data/lib/ingenico/connect/sdk/meta_data_provider.rb +2 -2
  51. data/lib/ingenico/connect/sdk/modules.rb +24 -24
  52. data/lib/ingenico/connect/sdk/not_found_exception.rb +1 -1
  53. data/lib/ingenico/connect/sdk/reference_exception.rb +2 -2
  54. data/lib/ingenico/connect/sdk/response_exception.rb +7 -7
  55. data/lib/ingenico/connect/sdk/session.rb +3 -3
  56. data/lib/ingenico/connect/sdk/validation_exception.rb +3 -3
  57. data/spec/integration/convert_amount_spec.rb +1 -1
  58. data/spec/integration/risk_assessments_spec.rb +1 -1
  59. metadata +11 -6
@@ -99,25 +99,25 @@ module Ingenico::Connect::SDK
99
99
  @http_client.session_count
100
100
  end
101
101
 
102
- # Performs a GET request to the GlobalCollect platform
102
+ # Performs a GET request to the Ingenico ePayments platform
103
103
  # @see request
104
104
  def get(uri, request_headers)
105
105
  request('get', uri, request_headers)
106
106
  end
107
107
 
108
- # Performs a DELETE request to the GlobalCollect platform
108
+ # Performs a DELETE request to the Ingenico ePayments platform
109
109
  # @see request
110
110
  def delete(uri, request_headers)
111
111
  request('delete', uri, request_headers)
112
112
  end
113
113
 
114
- # Performs a POST request to the GlobalCollect platform
114
+ # Performs a POST request to the Ingenico ePayments platform
115
115
  # @see request
116
116
  def post(uri, request_headers, body)
117
117
  request('post', uri, request_headers, body)
118
118
  end
119
119
 
120
- # Performs a PUT request to the GlobalCollect platform
120
+ # Performs a PUT request to the Ingenico ePayments platform
121
121
  # @see request
122
122
  def put(uri, request_headers, body)
123
123
  request('put', uri, request_headers, body)
@@ -125,7 +125,7 @@ module Ingenico::Connect::SDK
125
125
 
126
126
  # performs a HTTP request and returns the response as an {Ingenico::Connect::SDK::Response} object.
127
127
  # Also ensures the request is logged when sent and its response is logged when received.
128
- # Raises {Ingenico::Connect::SDK::CommunicationException} when communication with the GlobalCollect platform was not successful.
128
+ # Raises {Ingenico::Connect::SDK::CommunicationException} when communication with the Ingenico ePayments platform was not successful.
129
129
  # method:: 'GET', 'DELETE', 'POST' or 'PUT' depending on the HTTP method being used.
130
130
  # uri:: Full URI of the location the request is targeted at, including query parameters.
131
131
  # request_headers:: {Ingenico::Connect::SDK::RequestHeader} list of headers that should be used as HTTP headers in the request.
@@ -0,0 +1,15 @@
1
+ #
2
+ # This class was auto-generated from the API references found at
3
+ # https://epayments-api.developer-ingenico.com/s2sapi/v1/
4
+ #
5
+ require 'ingenico/connect/sdk/domain/payment/approve_payment_payment_method_specific_input'
6
+
7
+ module Ingenico::Connect::SDK
8
+ module Domain
9
+ module Payment
10
+
11
+ class ApprovePaymentDirectDebitPaymentMethodSpecificInput < Ingenico::Connect::SDK::Domain::Payment::ApprovePaymentPaymentMethodSpecificInput
12
+ end
13
+ end
14
+ end
15
+ end
@@ -2,13 +2,13 @@
2
2
  # This class was auto-generated from the API references found at
3
3
  # https://epayments-api.developer-ingenico.com/s2sapi/v1/
4
4
  #
5
- require 'ingenico/connect/sdk/domain/payment/approve_payment_payment_method_specific_input'
5
+ require 'ingenico/connect/sdk/domain/payment/approve_payment_direct_debit_payment_method_specific_input'
6
6
 
7
7
  module Ingenico::Connect::SDK
8
8
  module Domain
9
9
  module Payment
10
10
 
11
- class ApprovePaymentNonSepaDirectDebitPaymentMethodSpecificInput < Ingenico::Connect::SDK::Domain::Payment::ApprovePaymentPaymentMethodSpecificInput
11
+ class ApprovePaymentNonSepaDirectDebitPaymentMethodSpecificInput < Ingenico::Connect::SDK::Domain::Payment::ApprovePaymentDirectDebitPaymentMethodSpecificInput
12
12
  end
13
13
  end
14
14
  end
@@ -2,13 +2,13 @@
2
2
  # This class was auto-generated from the API references found at
3
3
  # https://epayments-api.developer-ingenico.com/s2sapi/v1/
4
4
  #
5
- require 'ingenico/connect/sdk/domain/payment/approve_payment_payment_method_specific_input'
5
+ require 'ingenico/connect/sdk/domain/payment/approve_payment_direct_debit_payment_method_specific_input'
6
6
 
7
7
  module Ingenico::Connect::SDK
8
8
  module Domain
9
9
  module Payment
10
10
 
11
- class ApprovePaymentSepaDirectDebitPaymentMethodSpecificInput < Ingenico::Connect::SDK::Domain::Payment::ApprovePaymentPaymentMethodSpecificInput
11
+ class ApprovePaymentSepaDirectDebitPaymentMethodSpecificInput < Ingenico::Connect::SDK::Domain::Payment::ApprovePaymentDirectDebitPaymentMethodSpecificInput
12
12
  end
13
13
  end
14
14
  end
@@ -4,6 +4,7 @@
4
4
  #
5
5
  require 'ingenico/connect/sdk/data_object'
6
6
  require 'ingenico/connect/sdk/domain/payment/complete_payment_card_payment_method_specific_input'
7
+ require 'ingenico/connect/sdk/domain/payment/order'
7
8
 
8
9
  module Ingenico::Connect::SDK
9
10
  module Domain
@@ -14,9 +15,13 @@ module Ingenico::Connect::SDK
14
15
  # {Ingenico::Connect::SDK::Domain::Payment::CompletePaymentCardPaymentMethodSpecificInput}
15
16
  attr_accessor :card_payment_method_specific_input
16
17
 
18
+ # {Ingenico::Connect::SDK::Domain::Payment::Order}
19
+ attr_accessor :order
20
+
17
21
  def to_h
18
22
  hash = super
19
23
  add_to_hash(hash, 'cardPaymentMethodSpecificInput', @card_payment_method_specific_input)
24
+ add_to_hash(hash, 'order', @order)
20
25
  hash
21
26
  end
22
27
 
@@ -28,6 +33,12 @@ module Ingenico::Connect::SDK
28
33
  end
29
34
  @card_payment_method_specific_input = Ingenico::Connect::SDK::Domain::Payment::CompletePaymentCardPaymentMethodSpecificInput.new_from_hash(hash['cardPaymentMethodSpecificInput'])
30
35
  end
36
+ if hash.has_key?('order')
37
+ if !(hash['order'].is_a? Hash)
38
+ raise TypeError, "value '%s' is not a Hash" % [hash['order']]
39
+ end
40
+ @order = Ingenico::Connect::SDK::Domain::Payment::Order.new_from_hash(hash['order'])
41
+ end
31
42
  end
32
43
  end
33
44
  end
@@ -26,6 +26,8 @@ module Ingenico::Connect::SDK
26
26
  attr_accessor :customer
27
27
 
28
28
  # Array of {Ingenico::Connect::SDK::Domain::Payment::LineItem}
29
+ #
30
+ # Deprecated; Use ShoppingCart.items instead
29
31
  attr_accessor :items
30
32
 
31
33
  # {Ingenico::Connect::SDK::Domain::Payment::OrderReferences}
@@ -5,6 +5,7 @@
5
5
  require 'ingenico/connect/sdk/data_object'
6
6
  require 'ingenico/connect/sdk/domain/definitions/address'
7
7
  require 'ingenico/connect/sdk/domain/payment/payment_product840_customer_account'
8
+ require 'ingenico/connect/sdk/domain/payment/protection_eligibility'
8
9
 
9
10
  module Ingenico::Connect::SDK
10
11
  module Domain
@@ -18,10 +19,14 @@ module Ingenico::Connect::SDK
18
19
  # {Ingenico::Connect::SDK::Domain::Definitions::Address}
19
20
  attr_accessor :customer_address
20
21
 
22
+ # {Ingenico::Connect::SDK::Domain::Payment::ProtectionEligibility}
23
+ attr_accessor :protection_eligibility
24
+
21
25
  def to_h
22
26
  hash = super
23
27
  add_to_hash(hash, 'customerAccount', @customer_account)
24
28
  add_to_hash(hash, 'customerAddress', @customer_address)
29
+ add_to_hash(hash, 'protectionEligibility', @protection_eligibility)
25
30
  hash
26
31
  end
27
32
 
@@ -39,6 +44,12 @@ module Ingenico::Connect::SDK
39
44
  end
40
45
  @customer_address = Ingenico::Connect::SDK::Domain::Definitions::Address.new_from_hash(hash['customerAddress'])
41
46
  end
47
+ if hash.has_key?('protectionEligibility')
48
+ if !(hash['protectionEligibility'].is_a? Hash)
49
+ raise TypeError, "value '%s' is not a Hash" % [hash['protectionEligibility']]
50
+ end
51
+ @protection_eligibility = Ingenico::Connect::SDK::Domain::Payment::ProtectionEligibility.new_from_hash(hash['protectionEligibility'])
52
+ end
42
53
  end
43
54
  end
44
55
  end
@@ -0,0 +1,38 @@
1
+ #
2
+ # This class was auto-generated from the API references found at
3
+ # https://epayments-api.developer-ingenico.com/s2sapi/v1/
4
+ #
5
+ require 'ingenico/connect/sdk/data_object'
6
+
7
+ module Ingenico::Connect::SDK
8
+ module Domain
9
+ module Payment
10
+
11
+ class ProtectionEligibility < Ingenico::Connect::SDK::DataObject
12
+
13
+ # String
14
+ attr_accessor :eligibility
15
+
16
+ # String
17
+ attr_accessor :type
18
+
19
+ def to_h
20
+ hash = super
21
+ add_to_hash(hash, 'eligibility', @eligibility)
22
+ add_to_hash(hash, 'type', @type)
23
+ hash
24
+ end
25
+
26
+ def from_hash(hash)
27
+ super
28
+ if hash.has_key?('eligibility')
29
+ @eligibility = hash['eligibility']
30
+ end
31
+ if hash.has_key?('type')
32
+ @type = hash['type']
33
+ end
34
+ end
35
+ end
36
+ end
37
+ end
38
+ end
@@ -5,6 +5,7 @@
5
5
  require 'ingenico/connect/sdk/domain/payment/redirect_payment_method_specific_input_base'
6
6
  require 'ingenico/connect/sdk/domain/payment/redirect_payment_product809_specific_input'
7
7
  require 'ingenico/connect/sdk/domain/payment/redirect_payment_product816_specific_input'
8
+ require 'ingenico/connect/sdk/domain/payment/redirect_payment_product840_specific_input'
8
9
  require 'ingenico/connect/sdk/domain/payment/redirect_payment_product882_specific_input'
9
10
 
10
11
  module Ingenico::Connect::SDK
@@ -22,6 +23,9 @@ module Ingenico::Connect::SDK
22
23
  # {Ingenico::Connect::SDK::Domain::Payment::RedirectPaymentProduct816SpecificInput}
23
24
  attr_accessor :payment_product816_specific_input
24
25
 
26
+ # {Ingenico::Connect::SDK::Domain::Payment::RedirectPaymentProduct840SpecificInput}
27
+ attr_accessor :payment_product840_specific_input
28
+
25
29
  # {Ingenico::Connect::SDK::Domain::Payment::RedirectPaymentProduct882SpecificInput}
26
30
  attr_accessor :payment_product882_specific_input
27
31
 
@@ -33,6 +37,7 @@ module Ingenico::Connect::SDK
33
37
  add_to_hash(hash, 'isRecurring', @is_recurring)
34
38
  add_to_hash(hash, 'paymentProduct809SpecificInput', @payment_product809_specific_input)
35
39
  add_to_hash(hash, 'paymentProduct816SpecificInput', @payment_product816_specific_input)
40
+ add_to_hash(hash, 'paymentProduct840SpecificInput', @payment_product840_specific_input)
36
41
  add_to_hash(hash, 'paymentProduct882SpecificInput', @payment_product882_specific_input)
37
42
  add_to_hash(hash, 'returnUrl', @return_url)
38
43
  hash
@@ -55,6 +60,12 @@ module Ingenico::Connect::SDK
55
60
  end
56
61
  @payment_product816_specific_input = Ingenico::Connect::SDK::Domain::Payment::RedirectPaymentProduct816SpecificInput.new_from_hash(hash['paymentProduct816SpecificInput'])
57
62
  end
63
+ if hash.has_key?('paymentProduct840SpecificInput')
64
+ if !(hash['paymentProduct840SpecificInput'].is_a? Hash)
65
+ raise TypeError, "value '%s' is not a Hash" % [hash['paymentProduct840SpecificInput']]
66
+ end
67
+ @payment_product840_specific_input = Ingenico::Connect::SDK::Domain::Payment::RedirectPaymentProduct840SpecificInput.new_from_hash(hash['paymentProduct840SpecificInput'])
68
+ end
58
69
  if hash.has_key?('paymentProduct882SpecificInput')
59
70
  if !(hash['paymentProduct882SpecificInput'].is_a? Hash)
60
71
  raise TypeError, "value '%s' is not a Hash" % [hash['paymentProduct882SpecificInput']]
@@ -16,14 +16,22 @@ module Ingenico::Connect::SDK
16
16
  # String
17
17
  attr_accessor :recurring_payment_sequence_indicator
18
18
 
19
+ # true/false
20
+ attr_accessor :requires_approval
21
+
19
22
  # String
20
23
  attr_accessor :token
21
24
 
25
+ # true/false
26
+ attr_accessor :tokenize
27
+
22
28
  def to_h
23
29
  hash = super
24
30
  add_to_hash(hash, 'expirationPeriod', @expiration_period)
25
31
  add_to_hash(hash, 'recurringPaymentSequenceIndicator', @recurring_payment_sequence_indicator)
32
+ add_to_hash(hash, 'requiresApproval', @requires_approval)
26
33
  add_to_hash(hash, 'token', @token)
34
+ add_to_hash(hash, 'tokenize', @tokenize)
27
35
  hash
28
36
  end
29
37
 
@@ -35,9 +43,15 @@ module Ingenico::Connect::SDK
35
43
  if hash.has_key?('recurringPaymentSequenceIndicator')
36
44
  @recurring_payment_sequence_indicator = hash['recurringPaymentSequenceIndicator']
37
45
  end
46
+ if hash.has_key?('requiresApproval')
47
+ @requires_approval = hash['requiresApproval']
48
+ end
38
49
  if hash.has_key?('token')
39
50
  @token = hash['token']
40
51
  end
52
+ if hash.has_key?('tokenize')
53
+ @tokenize = hash['tokenize']
54
+ end
41
55
  end
42
56
  end
43
57
  end
@@ -0,0 +1,38 @@
1
+ #
2
+ # This class was auto-generated from the API references found at
3
+ # https://epayments-api.developer-ingenico.com/s2sapi/v1/
4
+ #
5
+ require 'ingenico/connect/sdk/data_object'
6
+
7
+ module Ingenico::Connect::SDK
8
+ module Domain
9
+ module Payment
10
+
11
+ class RedirectPaymentProduct840SpecificInput < Ingenico::Connect::SDK::DataObject
12
+
13
+ # String
14
+ attr_accessor :custom
15
+
16
+ # true/false
17
+ attr_accessor :is_shortcut
18
+
19
+ def to_h
20
+ hash = super
21
+ add_to_hash(hash, 'custom', @custom)
22
+ add_to_hash(hash, 'isShortcut', @is_shortcut)
23
+ hash
24
+ end
25
+
26
+ def from_hash(hash)
27
+ super
28
+ if hash.has_key?('custom')
29
+ @custom = hash['custom']
30
+ end
31
+ if hash.has_key?('isShortcut')
32
+ @is_shortcut = hash['isShortcut']
33
+ end
34
+ end
35
+ end
36
+ end
37
+ end
38
+ end
@@ -4,6 +4,7 @@
4
4
  #
5
5
  require 'ingenico/connect/sdk/data_object'
6
6
  require 'ingenico/connect/sdk/domain/payment/amount_breakdown'
7
+ require 'ingenico/connect/sdk/domain/payment/line_item'
7
8
 
8
9
  module Ingenico::Connect::SDK
9
10
  module Domain
@@ -14,9 +15,13 @@ module Ingenico::Connect::SDK
14
15
  # Array of {Ingenico::Connect::SDK::Domain::Payment::AmountBreakdown}
15
16
  attr_accessor :amount_breakdown
16
17
 
18
+ # Array of {Ingenico::Connect::SDK::Domain::Payment::LineItem}
19
+ attr_accessor :items
20
+
17
21
  def to_h
18
22
  hash = super
19
23
  add_to_hash(hash, 'amountBreakdown', @amount_breakdown)
24
+ add_to_hash(hash, 'items', @items)
20
25
  hash
21
26
  end
22
27
 
@@ -31,6 +36,15 @@ module Ingenico::Connect::SDK
31
36
  @amount_breakdown << Ingenico::Connect::SDK::Domain::Payment::AmountBreakdown.new_from_hash(e)
32
37
  end
33
38
  end
39
+ if hash.has_key?('items')
40
+ if !(hash['items'].is_a? Array)
41
+ raise TypeError, "value '%s' is not an Array" % [hash['items']]
42
+ end
43
+ @items = []
44
+ hash['items'].each do |e|
45
+ @items << Ingenico::Connect::SDK::Domain::Payment::LineItem.new_from_hash(e)
46
+ end
47
+ end
34
48
  end
35
49
  end
36
50
  end
@@ -0,0 +1,38 @@
1
+ #
2
+ # This class was auto-generated from the API references found at
3
+ # https://epayments-api.developer-ingenico.com/s2sapi/v1/
4
+ #
5
+ require 'ingenico/connect/sdk/data_object'
6
+
7
+ module Ingenico::Connect::SDK
8
+ module Domain
9
+ module Product
10
+
11
+ class AbstractIndicator < Ingenico::Connect::SDK::DataObject
12
+
13
+ # String
14
+ attr_accessor :name
15
+
16
+ # String
17
+ attr_accessor :value
18
+
19
+ def to_h
20
+ hash = super
21
+ add_to_hash(hash, 'name', @name)
22
+ add_to_hash(hash, 'value', @value)
23
+ hash
24
+ end
25
+
26
+ def from_hash(hash)
27
+ super
28
+ if hash.has_key?('name')
29
+ @name = hash['name']
30
+ end
31
+ if hash.has_key?('value')
32
+ @value = hash['value']
33
+ end
34
+ end
35
+ end
36
+ end
37
+ end
38
+ end
@@ -0,0 +1,15 @@
1
+ #
2
+ # This class was auto-generated from the API references found at
3
+ # https://epayments-api.developer-ingenico.com/s2sapi/v1/
4
+ #
5
+ require 'ingenico/connect/sdk/domain/product/abstract_indicator'
6
+
7
+ module Ingenico::Connect::SDK
8
+ module Domain
9
+ module Product
10
+
11
+ class AuthenticationIndicator < Ingenico::Connect::SDK::Domain::Product::AbstractIndicator
12
+ end
13
+ end
14
+ end
15
+ end
@@ -4,6 +4,7 @@
4
4
  #
5
5
  require 'ingenico/connect/sdk/data_object'
6
6
  require 'ingenico/connect/sdk/domain/product/account_on_file'
7
+ require 'ingenico/connect/sdk/domain/product/authentication_indicator'
7
8
  require 'ingenico/connect/sdk/domain/product/payment_product_display_hints'
8
9
  require 'ingenico/connect/sdk/domain/product/payment_product_field'
9
10
 
@@ -22,6 +23,9 @@ module Ingenico::Connect::SDK
22
23
  # true/false
23
24
  attr_accessor :allows_tokenization
24
25
 
26
+ # {Ingenico::Connect::SDK::Domain::Product::AuthenticationIndicator}
27
+ attr_accessor :authentication_indicator
28
+
25
29
  # true/false
26
30
  attr_accessor :auto_tokenized
27
31
 
@@ -60,6 +64,7 @@ module Ingenico::Connect::SDK
60
64
  add_to_hash(hash, 'accountsOnFile', @accounts_on_file)
61
65
  add_to_hash(hash, 'allowsRecurring', @allows_recurring)
62
66
  add_to_hash(hash, 'allowsTokenization', @allows_tokenization)
67
+ add_to_hash(hash, 'authenticationIndicator', @authentication_indicator)
63
68
  add_to_hash(hash, 'autoTokenized', @auto_tokenized)
64
69
  add_to_hash(hash, 'canBeIframed', @can_be_iframed)
65
70
  add_to_hash(hash, 'displayHints', @display_hints)
@@ -91,6 +96,12 @@ module Ingenico::Connect::SDK
91
96
  if hash.has_key?('allowsTokenization')
92
97
  @allows_tokenization = hash['allowsTokenization']
93
98
  end
99
+ if hash.has_key?('authenticationIndicator')
100
+ if !(hash['authenticationIndicator'].is_a? Hash)
101
+ raise TypeError, "value '%s' is not a Hash" % [hash['authenticationIndicator']]
102
+ end
103
+ @authentication_indicator = Ingenico::Connect::SDK::Domain::Product::AuthenticationIndicator.new_from_hash(hash['authenticationIndicator'])
104
+ end
94
105
  if hash.has_key?('autoTokenized')
95
106
  @auto_tokenized = hash['autoTokenized']
96
107
  end