connect-sdk-ruby 1.33.0 → 1.34.0

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (63) hide show
  1. checksums.yaml +4 -4
  2. data/connect-sdk-ruby.gemspec +1 -1
  3. data/examples/merchant/payments/create_payment_example.rb +64 -18
  4. data/examples/merchant/riskassessments/risk_assessment_cards_example.rb +1 -1
  5. data/lib/ingenico/connect/sdk/domain/definitions/airline_data.rb +2 -0
  6. data/lib/ingenico/connect/sdk/domain/definitions/company_information.rb +7 -0
  7. data/lib/ingenico/connect/sdk/domain/definitions/customer_base.rb +2 -0
  8. data/lib/ingenico/connect/sdk/domain/definitions/fraud_fields.rb +24 -0
  9. data/lib/ingenico/connect/sdk/domain/definitions/fraud_fields_shipping_details.rb +7 -0
  10. data/lib/ingenico/connect/sdk/domain/hostedcheckout/create_hosted_checkout_request.rb +11 -0
  11. data/lib/ingenico/connect/sdk/domain/hostedcheckout/created_payment_output.rb +1 -1
  12. data/lib/ingenico/connect/sdk/domain/payment/abstract_card_payment_method_specific_input.rb +24 -0
  13. data/lib/ingenico/connect/sdk/domain/payment/abstract_sepa_direct_debit_payment_product771_specific_input.rb +1 -1
  14. data/lib/ingenico/connect/sdk/domain/payment/abstract_three_d_secure.rb +74 -0
  15. data/lib/ingenico/connect/sdk/domain/payment/additional_order_input.rb +1 -1
  16. data/lib/ingenico/connect/sdk/domain/payment/browser_data.rb +73 -0
  17. data/lib/ingenico/connect/sdk/domain/payment/card_payment_method_specific_input.rb +15 -0
  18. data/lib/ingenico/connect/sdk/domain/payment/card_payment_method_specific_input_base.rb +20 -0
  19. data/lib/ingenico/connect/sdk/domain/payment/card_recurrence_details.rb +45 -0
  20. data/lib/ingenico/connect/sdk/domain/payment/cash_payment_method_specific_input.rb +2 -0
  21. data/lib/ingenico/connect/sdk/domain/payment/cash_payment_product1503_specific_input.rb +3 -0
  22. data/lib/ingenico/connect/sdk/domain/payment/complete_payment_request.rb +11 -0
  23. data/lib/ingenico/connect/sdk/domain/payment/contact_details.rb +14 -0
  24. data/lib/ingenico/connect/sdk/domain/payment/create_payment_request.rb +11 -0
  25. data/lib/ingenico/connect/sdk/domain/payment/customer.rb +38 -0
  26. data/lib/ingenico/connect/sdk/domain/payment/customer_account.rb +120 -0
  27. data/lib/ingenico/connect/sdk/domain/payment/customer_account_authentication.rb +38 -0
  28. data/lib/ingenico/connect/sdk/domain/payment/customer_approve_payment.rb +31 -0
  29. data/lib/ingenico/connect/sdk/domain/payment/customer_device.rb +84 -0
  30. data/lib/ingenico/connect/sdk/domain/payment/customer_payment_activity.rb +45 -0
  31. data/lib/ingenico/connect/sdk/domain/payment/device_render_options.rb +38 -0
  32. data/lib/ingenico/connect/sdk/domain/payment/external_cardholder_authentication_data.rb +21 -0
  33. data/lib/ingenico/connect/sdk/domain/payment/gift_card_purchase.rb +42 -0
  34. data/lib/ingenico/connect/sdk/domain/payment/level3_summary_data.rb +4 -4
  35. data/lib/ingenico/connect/sdk/domain/payment/merchant.rb +49 -0
  36. data/lib/ingenico/connect/sdk/domain/payment/merchant_action.rb +11 -0
  37. data/lib/ingenico/connect/sdk/domain/payment/mobile_three_d_secure_challenge_parameters.rb +52 -0
  38. data/lib/ingenico/connect/sdk/domain/payment/order.rb +3 -1
  39. data/lib/ingenico/connect/sdk/domain/payment/order_approve_payment.rb +11 -0
  40. data/lib/ingenico/connect/sdk/domain/payment/order_type_information.rb +7 -0
  41. data/lib/ingenico/connect/sdk/domain/payment/payment_account_on_file.rb +38 -0
  42. data/lib/ingenico/connect/sdk/domain/payment/redirect_payment_method_specific_input.rb +13 -0
  43. data/lib/ingenico/connect/sdk/domain/payment/redirect_payment_product840_specific_input.rb +1 -1
  44. data/lib/ingenico/connect/sdk/domain/payment/redirection_data.rb +38 -0
  45. data/lib/ingenico/connect/sdk/domain/payment/sdk_data_input.rb +84 -0
  46. data/lib/ingenico/connect/sdk/domain/payment/sdk_data_output.rb +31 -0
  47. data/lib/ingenico/connect/sdk/domain/payment/shipping.rb +53 -0
  48. data/lib/ingenico/connect/sdk/domain/payment/shopping_cart.rb +32 -0
  49. data/lib/ingenico/connect/sdk/domain/payment/three_d_secure.rb +46 -0
  50. data/lib/ingenico/connect/sdk/domain/payment/three_d_secure_base.rb +15 -0
  51. data/lib/ingenico/connect/sdk/domain/payment/three_d_secure_data.rb +45 -0
  52. data/lib/ingenico/connect/sdk/domain/payment/three_d_secure_results.rb +43 -0
  53. data/lib/ingenico/connect/sdk/domain/payout/create_payout_request.rb +6 -6
  54. data/lib/ingenico/connect/sdk/domain/product/value_mapping_element.rb +1 -1
  55. data/lib/ingenico/connect/sdk/domain/riskassessments/customer_account_risk_assessment.rb +38 -0
  56. data/lib/ingenico/connect/sdk/domain/riskassessments/customer_device_risk_assessment.rb +38 -0
  57. data/lib/ingenico/connect/sdk/domain/riskassessments/customer_risk_assessment.rb +38 -0
  58. data/lib/ingenico/connect/sdk/domain/riskassessments/merchant_risk_assessment.rb +31 -0
  59. data/lib/ingenico/connect/sdk/domain/riskassessments/order_risk_assessment.rb +11 -0
  60. data/lib/ingenico/connect/sdk/domain/riskassessments/risk_assessment.rb +11 -0
  61. data/lib/ingenico/connect/sdk/domain/riskassessments/shipping_risk_assessment.rb +49 -0
  62. data/lib/ingenico/connect/sdk/meta_data_provider.rb +1 -1
  63. metadata +25 -2
@@ -8,22 +8,22 @@ module Ingenico::Connect::SDK
8
8
  module Domain
9
9
  module Payment
10
10
 
11
- # Deprecated; Use Order.shoppingCart instead
11
+ # Deprecated; Use ShoppingCart.amountBreakdown instead
12
12
  class Level3SummaryData < Ingenico::Connect::SDK::DataObject
13
13
 
14
14
  # Integer
15
15
  #
16
- # Deprecated; Use ShoppingCart.amountbreakdown with type DISCOUNT instead
16
+ # Deprecated; Use ShoppingCart.amountBreakdown with type DISCOUNT instead
17
17
  attr_accessor :discount_amount
18
18
 
19
19
  # Integer
20
20
  #
21
- # Deprecated; Use ShoppingCart.amountbreakdown with type DUTY instead
21
+ # Deprecated; Use ShoppingCart.amountBreakdown with type DUTY instead
22
22
  attr_accessor :duty_amount
23
23
 
24
24
  # Integer
25
25
  #
26
- # Deprecated; Use ShoppingCart.amountbreakdown with type SHIPPING instead
26
+ # Deprecated; Use ShoppingCart.amountBreakdown with type SHIPPING instead
27
27
  attr_accessor :shipping_amount
28
28
 
29
29
  def to_h
@@ -0,0 +1,49 @@
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
+ require 'ingenico/connect/sdk/domain/payment/seller'
7
+
8
+ module Ingenico::Connect::SDK
9
+ module Domain
10
+ module Payment
11
+
12
+ class Merchant < Ingenico::Connect::SDK::DataObject
13
+
14
+ # String
15
+ attr_accessor :contact_website_url
16
+
17
+ # {Ingenico::Connect::SDK::Domain::Payment::Seller}
18
+ attr_accessor :seller
19
+
20
+ # String
21
+ attr_accessor :website_url
22
+
23
+ def to_h
24
+ hash = super
25
+ add_to_hash(hash, 'contactWebsiteUrl', @contact_website_url)
26
+ add_to_hash(hash, 'seller', @seller)
27
+ add_to_hash(hash, 'websiteUrl', @website_url)
28
+ hash
29
+ end
30
+
31
+ def from_hash(hash)
32
+ super
33
+ if hash.has_key?('contactWebsiteUrl')
34
+ @contact_website_url = hash['contactWebsiteUrl']
35
+ end
36
+ if hash.has_key?('seller')
37
+ if !(hash['seller'].is_a? Hash)
38
+ raise TypeError, "value '%s' is not a Hash" % [hash['seller']]
39
+ end
40
+ @seller = Ingenico::Connect::SDK::Domain::Payment::Seller.new_from_hash(hash['seller'])
41
+ end
42
+ if hash.has_key?('websiteUrl')
43
+ @website_url = hash['websiteUrl']
44
+ end
45
+ end
46
+ end
47
+ end
48
+ end
49
+ end
@@ -4,6 +4,7 @@
4
4
  #
5
5
  require 'ingenico/connect/sdk/data_object'
6
6
  require 'ingenico/connect/sdk/domain/definitions/key_value_pair'
7
+ require 'ingenico/connect/sdk/domain/payment/mobile_three_d_secure_challenge_parameters'
7
8
  require 'ingenico/connect/sdk/domain/payment/redirect_data'
8
9
  require 'ingenico/connect/sdk/domain/product/payment_product_field'
9
10
 
@@ -19,6 +20,9 @@ module Ingenico::Connect::SDK
19
20
  # Array of {Ingenico::Connect::SDK::Domain::Product::PaymentProductField}
20
21
  attr_accessor :form_fields
21
22
 
23
+ # {Ingenico::Connect::SDK::Domain::Payment::MobileThreeDSecureChallengeParameters}
24
+ attr_accessor :mobile_three_d_secure_challenge_parameters
25
+
22
26
  # {Ingenico::Connect::SDK::Domain::Payment::RedirectData}
23
27
  attr_accessor :redirect_data
24
28
 
@@ -32,6 +36,7 @@ module Ingenico::Connect::SDK
32
36
  hash = super
33
37
  add_to_hash(hash, 'actionType', @action_type)
34
38
  add_to_hash(hash, 'formFields', @form_fields)
39
+ add_to_hash(hash, 'mobileThreeDSecureChallengeParameters', @mobile_three_d_secure_challenge_parameters)
35
40
  add_to_hash(hash, 'redirectData', @redirect_data)
36
41
  add_to_hash(hash, 'renderingData', @rendering_data)
37
42
  add_to_hash(hash, 'showData', @show_data)
@@ -52,6 +57,12 @@ module Ingenico::Connect::SDK
52
57
  @form_fields << Ingenico::Connect::SDK::Domain::Product::PaymentProductField.new_from_hash(e)
53
58
  end
54
59
  end
60
+ if hash.has_key?('mobileThreeDSecureChallengeParameters')
61
+ if !(hash['mobileThreeDSecureChallengeParameters'].is_a? Hash)
62
+ raise TypeError, "value '%s' is not a Hash" % [hash['mobileThreeDSecureChallengeParameters']]
63
+ end
64
+ @mobile_three_d_secure_challenge_parameters = Ingenico::Connect::SDK::Domain::Payment::MobileThreeDSecureChallengeParameters.new_from_hash(hash['mobileThreeDSecureChallengeParameters'])
65
+ end
55
66
  if hash.has_key?('redirectData')
56
67
  if !(hash['redirectData'].is_a? Hash)
57
68
  raise TypeError, "value '%s' is not a Hash" % [hash['redirectData']]
@@ -0,0 +1,52 @@
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 MobileThreeDSecureChallengeParameters < Ingenico::Connect::SDK::DataObject
12
+
13
+ # String
14
+ attr_accessor :acs_reference_number
15
+
16
+ # String
17
+ attr_accessor :acs_signed_content
18
+
19
+ # String
20
+ attr_accessor :acs_transaction_id
21
+
22
+ # String
23
+ attr_accessor :three_d_server_transaction_id
24
+
25
+ def to_h
26
+ hash = super
27
+ add_to_hash(hash, 'acsReferenceNumber', @acs_reference_number)
28
+ add_to_hash(hash, 'acsSignedContent', @acs_signed_content)
29
+ add_to_hash(hash, 'acsTransactionId', @acs_transaction_id)
30
+ add_to_hash(hash, 'threeDServerTransactionId', @three_d_server_transaction_id)
31
+ hash
32
+ end
33
+
34
+ def from_hash(hash)
35
+ super
36
+ if hash.has_key?('acsReferenceNumber')
37
+ @acs_reference_number = hash['acsReferenceNumber']
38
+ end
39
+ if hash.has_key?('acsSignedContent')
40
+ @acs_signed_content = hash['acsSignedContent']
41
+ end
42
+ if hash.has_key?('acsTransactionId')
43
+ @acs_transaction_id = hash['acsTransactionId']
44
+ end
45
+ if hash.has_key?('threeDServerTransactionId')
46
+ @three_d_server_transaction_id = hash['threeDServerTransactionId']
47
+ end
48
+ end
49
+ end
50
+ end
51
+ end
52
+ end
@@ -29,13 +29,15 @@ module Ingenico::Connect::SDK
29
29
 
30
30
  # Array of {Ingenico::Connect::SDK::Domain::Payment::LineItem}
31
31
  #
32
- # Deprecated; Use ShoppingCart.items instead
32
+ # Deprecated; Use shoppingCart.items instead
33
33
  attr_accessor :items
34
34
 
35
35
  # {Ingenico::Connect::SDK::Domain::Payment::OrderReferences}
36
36
  attr_accessor :references
37
37
 
38
38
  # {Ingenico::Connect::SDK::Domain::Payment::Seller}
39
+ #
40
+ # Deprecated; Use Merchant.seller instead
39
41
  attr_accessor :seller
40
42
 
41
43
  # {Ingenico::Connect::SDK::Domain::Payment::Shipping}
@@ -4,6 +4,7 @@
4
4
  #
5
5
  require 'ingenico/connect/sdk/data_object'
6
6
  require 'ingenico/connect/sdk/domain/definitions/additional_order_input_airline_data'
7
+ require 'ingenico/connect/sdk/domain/payment/customer_approve_payment'
7
8
  require 'ingenico/connect/sdk/domain/payment/order_references_approve_payment'
8
9
 
9
10
  module Ingenico::Connect::SDK
@@ -15,12 +16,16 @@ module Ingenico::Connect::SDK
15
16
  # {Ingenico::Connect::SDK::Domain::Definitions::AdditionalOrderInputAirlineData}
16
17
  attr_accessor :additional_input
17
18
 
19
+ # {Ingenico::Connect::SDK::Domain::Payment::CustomerApprovePayment}
20
+ attr_accessor :customer
21
+
18
22
  # {Ingenico::Connect::SDK::Domain::Payment::OrderReferencesApprovePayment}
19
23
  attr_accessor :references
20
24
 
21
25
  def to_h
22
26
  hash = super
23
27
  add_to_hash(hash, 'additionalInput', @additional_input)
28
+ add_to_hash(hash, 'customer', @customer)
24
29
  add_to_hash(hash, 'references', @references)
25
30
  hash
26
31
  end
@@ -33,6 +38,12 @@ module Ingenico::Connect::SDK
33
38
  end
34
39
  @additional_input = Ingenico::Connect::SDK::Domain::Definitions::AdditionalOrderInputAirlineData.new_from_hash(hash['additionalInput'])
35
40
  end
41
+ if hash.has_key?('customer')
42
+ if !(hash['customer'].is_a? Hash)
43
+ raise TypeError, "value '%s' is not a Hash" % [hash['customer']]
44
+ end
45
+ @customer = Ingenico::Connect::SDK::Domain::Payment::CustomerApprovePayment.new_from_hash(hash['customer'])
46
+ end
36
47
  if hash.has_key?('references')
37
48
  if !(hash['references'].is_a? Hash)
38
49
  raise TypeError, "value '%s' is not a Hash" % [hash['references']]
@@ -13,12 +13,16 @@ module Ingenico::Connect::SDK
13
13
  # String
14
14
  attr_accessor :purchase_type
15
15
 
16
+ # String
17
+ attr_accessor :transaction_type
18
+
16
19
  # String
17
20
  attr_accessor :usage_type
18
21
 
19
22
  def to_h
20
23
  hash = super
21
24
  add_to_hash(hash, 'purchaseType', @purchase_type)
25
+ add_to_hash(hash, 'transactionType', @transaction_type)
22
26
  add_to_hash(hash, 'usageType', @usage_type)
23
27
  hash
24
28
  end
@@ -28,6 +32,9 @@ module Ingenico::Connect::SDK
28
32
  if hash.has_key?('purchaseType')
29
33
  @purchase_type = hash['purchaseType']
30
34
  end
35
+ if hash.has_key?('transactionType')
36
+ @transaction_type = hash['transactionType']
37
+ end
31
38
  if hash.has_key?('usageType')
32
39
  @usage_type = hash['usageType']
33
40
  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 PaymentAccountOnFile < Ingenico::Connect::SDK::DataObject
12
+
13
+ # String
14
+ attr_accessor :create_date
15
+
16
+ # Integer
17
+ attr_accessor :number_of_card_on_file_creation_attempts_last24_hours
18
+
19
+ def to_h
20
+ hash = super
21
+ add_to_hash(hash, 'createDate', @create_date)
22
+ add_to_hash(hash, 'numberOfCardOnFileCreationAttemptsLast24Hours', @number_of_card_on_file_creation_attempts_last24_hours)
23
+ hash
24
+ end
25
+
26
+ def from_hash(hash)
27
+ super
28
+ if hash.has_key?('createDate')
29
+ @create_date = hash['createDate']
30
+ end
31
+ if hash.has_key?('numberOfCardOnFileCreationAttemptsLast24Hours')
32
+ @number_of_card_on_file_creation_attempts_last24_hours = hash['numberOfCardOnFileCreationAttemptsLast24Hours']
33
+ end
34
+ end
35
+ end
36
+ end
37
+ end
38
+ end
@@ -8,6 +8,7 @@ require 'ingenico/connect/sdk/domain/payment/redirect_payment_product816_specifi
8
8
  require 'ingenico/connect/sdk/domain/payment/redirect_payment_product840_specific_input'
9
9
  require 'ingenico/connect/sdk/domain/payment/redirect_payment_product863_specific_input'
10
10
  require 'ingenico/connect/sdk/domain/payment/redirect_payment_product882_specific_input'
11
+ require 'ingenico/connect/sdk/domain/payment/redirection_data'
11
12
 
12
13
  module Ingenico::Connect::SDK
13
14
  module Domain
@@ -33,7 +34,12 @@ module Ingenico::Connect::SDK
33
34
  # {Ingenico::Connect::SDK::Domain::Payment::RedirectPaymentProduct882SpecificInput}
34
35
  attr_accessor :payment_product882_specific_input
35
36
 
37
+ # {Ingenico::Connect::SDK::Domain::Payment::RedirectionData}
38
+ attr_accessor :redirection_data
39
+
36
40
  # String
41
+ #
42
+ # Deprecated; Use redirectionData.returnUrl instead
37
43
  attr_accessor :return_url
38
44
 
39
45
  def to_h
@@ -44,6 +50,7 @@ module Ingenico::Connect::SDK
44
50
  add_to_hash(hash, 'paymentProduct840SpecificInput', @payment_product840_specific_input)
45
51
  add_to_hash(hash, 'paymentProduct863SpecificInput', @payment_product863_specific_input)
46
52
  add_to_hash(hash, 'paymentProduct882SpecificInput', @payment_product882_specific_input)
53
+ add_to_hash(hash, 'redirectionData', @redirection_data)
47
54
  add_to_hash(hash, 'returnUrl', @return_url)
48
55
  hash
49
56
  end
@@ -83,6 +90,12 @@ module Ingenico::Connect::SDK
83
90
  end
84
91
  @payment_product882_specific_input = Ingenico::Connect::SDK::Domain::Payment::RedirectPaymentProduct882SpecificInput.new_from_hash(hash['paymentProduct882SpecificInput'])
85
92
  end
93
+ if hash.has_key?('redirectionData')
94
+ if !(hash['redirectionData'].is_a? Hash)
95
+ raise TypeError, "value '%s' is not a Hash" % [hash['redirectionData']]
96
+ end
97
+ @redirection_data = Ingenico::Connect::SDK::Domain::Payment::RedirectionData.new_from_hash(hash['redirectionData'])
98
+ end
86
99
  if hash.has_key?('returnUrl')
87
100
  @return_url = hash['returnUrl']
88
101
  end
@@ -12,7 +12,7 @@ module Ingenico::Connect::SDK
12
12
 
13
13
  # String
14
14
  #
15
- # Deprecated; use order.references.descriptor instead.
15
+ # Deprecated; Use Order.references.descriptor instead
16
16
  attr_accessor :custom
17
17
 
18
18
  # true/false
@@ -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 RedirectionData < Ingenico::Connect::SDK::DataObject
12
+
13
+ # String
14
+ attr_accessor :return_url
15
+
16
+ # String
17
+ attr_accessor :variant
18
+
19
+ def to_h
20
+ hash = super
21
+ add_to_hash(hash, 'returnUrl', @return_url)
22
+ add_to_hash(hash, 'variant', @variant)
23
+ hash
24
+ end
25
+
26
+ def from_hash(hash)
27
+ super
28
+ if hash.has_key?('returnUrl')
29
+ @return_url = hash['returnUrl']
30
+ end
31
+ if hash.has_key?('variant')
32
+ @variant = hash['variant']
33
+ end
34
+ end
35
+ end
36
+ end
37
+ end
38
+ end
@@ -0,0 +1,84 @@
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
+ require 'ingenico/connect/sdk/domain/payment/device_render_options'
7
+
8
+ module Ingenico::Connect::SDK
9
+ module Domain
10
+ module Payment
11
+
12
+ class SdkDataInput < Ingenico::Connect::SDK::DataObject
13
+
14
+ # String
15
+ attr_accessor :device_info
16
+
17
+ # {Ingenico::Connect::SDK::Domain::Payment::DeviceRenderOptions}
18
+ attr_accessor :device_render_options
19
+
20
+ # String
21
+ attr_accessor :sdk_app_id
22
+
23
+ # String
24
+ attr_accessor :sdk_encrypted_data
25
+
26
+ # String
27
+ attr_accessor :sdk_ephemeral_public_key
28
+
29
+ # String
30
+ attr_accessor :sdk_max_timeout
31
+
32
+ # String
33
+ attr_accessor :sdk_reference_number
34
+
35
+ # String
36
+ attr_accessor :sdk_transaction_id
37
+
38
+ def to_h
39
+ hash = super
40
+ add_to_hash(hash, 'deviceInfo', @device_info)
41
+ add_to_hash(hash, 'deviceRenderOptions', @device_render_options)
42
+ add_to_hash(hash, 'sdkAppId', @sdk_app_id)
43
+ add_to_hash(hash, 'sdkEncryptedData', @sdk_encrypted_data)
44
+ add_to_hash(hash, 'sdkEphemeralPublicKey', @sdk_ephemeral_public_key)
45
+ add_to_hash(hash, 'sdkMaxTimeout', @sdk_max_timeout)
46
+ add_to_hash(hash, 'sdkReferenceNumber', @sdk_reference_number)
47
+ add_to_hash(hash, 'sdkTransactionId', @sdk_transaction_id)
48
+ hash
49
+ end
50
+
51
+ def from_hash(hash)
52
+ super
53
+ if hash.has_key?('deviceInfo')
54
+ @device_info = hash['deviceInfo']
55
+ end
56
+ if hash.has_key?('deviceRenderOptions')
57
+ if !(hash['deviceRenderOptions'].is_a? Hash)
58
+ raise TypeError, "value '%s' is not a Hash" % [hash['deviceRenderOptions']]
59
+ end
60
+ @device_render_options = Ingenico::Connect::SDK::Domain::Payment::DeviceRenderOptions.new_from_hash(hash['deviceRenderOptions'])
61
+ end
62
+ if hash.has_key?('sdkAppId')
63
+ @sdk_app_id = hash['sdkAppId']
64
+ end
65
+ if hash.has_key?('sdkEncryptedData')
66
+ @sdk_encrypted_data = hash['sdkEncryptedData']
67
+ end
68
+ if hash.has_key?('sdkEphemeralPublicKey')
69
+ @sdk_ephemeral_public_key = hash['sdkEphemeralPublicKey']
70
+ end
71
+ if hash.has_key?('sdkMaxTimeout')
72
+ @sdk_max_timeout = hash['sdkMaxTimeout']
73
+ end
74
+ if hash.has_key?('sdkReferenceNumber')
75
+ @sdk_reference_number = hash['sdkReferenceNumber']
76
+ end
77
+ if hash.has_key?('sdkTransactionId')
78
+ @sdk_transaction_id = hash['sdkTransactionId']
79
+ end
80
+ end
81
+ end
82
+ end
83
+ end
84
+ end