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
checksums.yaml CHANGED
@@ -1,7 +1,7 @@
1
1
  ---
2
2
  SHA256:
3
- metadata.gz: dddcd06bb06ff14b1cb296b5aa57988a655bcf02f32e17956ffed6a600230b77
4
- data.tar.gz: 0c6cce4fe93c28fd8fc01d4653d7e5588bfa1f6019fa7a47aae07d5d486e3934
3
+ metadata.gz: f90ebf9942717f2734929d062449e19c0f52faf864a2ebe5a0217de9344cff6c
4
+ data.tar.gz: e5f3b1ba31d47befc71fc2da226700e9580d9356e5b9734cdc9da331c7b02537
5
5
  SHA512:
6
- metadata.gz: 93333fa3b6ce0fdca69b2fc8d43e4eede1410111aeb27e96e540d25f63ef48400881b2162bd9be700cdf6eeea734fa7eef20e6210f3d02079c15c2f2bfc8e88a
7
- data.tar.gz: e3042ac20359ba6f508ae97a1e05eb572f5d5e50fdf74a4ceb538bd6c22045d4dd9d3a0e58857f9353af17d4650647810155e7a8fa9b9bb6903f9db454341525
6
+ metadata.gz: c4b5ec63b26fa654d92bd01d2c1ce58832af52493e2b626f4d9f313a5aad2cba97c59230db0ac4f78a4ff5cd9544031d2652a02a9cea455eec395f2876186022
7
+ data.tar.gz: 0f94785f73786e5baf709181b18b15a631a2a466218d5616afdcd234692a47f481142fd690fec27b27b612c949d8cad8d1c57609e196b99a0e2ffc64bc7cbb7b
@@ -1,6 +1,6 @@
1
1
  Gem::Specification.new do |spec|
2
2
  spec.name = 'connect-sdk-ruby'
3
- spec.version = '1.33.0'
3
+ spec.version = '1.34.0'
4
4
  spec.authors = ['Ingenico ePayments']
5
5
  spec.email = ['github@epay.ingenico.com']
6
6
  spec.summary = %q{SDK to communicate with the Ingenico ePayments platform using the Ingenico Connect Server API}
@@ -14,6 +14,8 @@ require 'ingenico/connect/sdk/domain/payment/card_payment_method_specific_input'
14
14
  require 'ingenico/connect/sdk/domain/payment/contact_details'
15
15
  require 'ingenico/connect/sdk/domain/payment/create_payment_request'
16
16
  require 'ingenico/connect/sdk/domain/payment/customer'
17
+ require 'ingenico/connect/sdk/domain/payment/device_render_options'
18
+ require 'ingenico/connect/sdk/domain/payment/external_cardholder_authentication_data'
17
19
  require 'ingenico/connect/sdk/domain/payment/line_item'
18
20
  require 'ingenico/connect/sdk/domain/payment/line_item_invoice_data'
19
21
  require 'ingenico/connect/sdk/domain/payment/order'
@@ -21,7 +23,11 @@ require 'ingenico/connect/sdk/domain/payment/order_invoice_data'
21
23
  require 'ingenico/connect/sdk/domain/payment/order_references'
22
24
  require 'ingenico/connect/sdk/domain/payment/personal_information'
23
25
  require 'ingenico/connect/sdk/domain/payment/personal_name'
26
+ require 'ingenico/connect/sdk/domain/payment/sdk_data_input'
27
+ require 'ingenico/connect/sdk/domain/payment/shipping'
24
28
  require 'ingenico/connect/sdk/domain/payment/shopping_cart'
29
+ require 'ingenico/connect/sdk/domain/payment/three_d_secure'
30
+ require 'ingenico/connect/sdk/domain/payment/three_d_secure_data'
25
31
 
26
32
  Definitions = Ingenico::Connect::SDK::Domain::Definitions
27
33
  Payment = Ingenico::Connect::SDK::Domain::Payment
@@ -34,10 +40,47 @@ def example
34
40
  card.cvv = '123'
35
41
  card.expiry_date = '1220'
36
42
 
43
+ external_cardholder_authentication_data = Payment::ExternalCardholderAuthenticationData.new
44
+ external_cardholder_authentication_data.cavv = 'AgAAAAAABk4DWZ4C28yUQAAAAAA='
45
+ external_cardholder_authentication_data.cavv_algorithm = '1'
46
+ external_cardholder_authentication_data.eci = 8
47
+ external_cardholder_authentication_data.three_d_secure_version = 'v2'
48
+ external_cardholder_authentication_data.three_d_server_transaction_id = '3DSTID1234'
49
+ external_cardholder_authentication_data.validation_result = 'Y'
50
+ external_cardholder_authentication_data.xid = 'n3h2uOQPUgnmqhCkXNfxl8pOZJA='
51
+
52
+ prior_three_d_secure_data = Payment::ThreeDSecureData.new
53
+ prior_three_d_secure_data.acs_transaction_id = 'empty'
54
+ prior_three_d_secure_data.method = 'challenged'
55
+ prior_three_d_secure_data.utc_timestamp = '201901311530'
56
+
57
+ device_render_options = Payment::DeviceRenderOptions.new
58
+ device_render_options.sdk_interface = 'native'
59
+ device_render_options.sdk_ui_type = 'multi-select'
60
+
61
+ sdk_data = Payment::SdkDataInput.new
62
+ sdk_data.device_info = 'abc123'
63
+ sdk_data.device_render_options = device_render_options
64
+ sdk_data.sdk_app_id = 'xyz'
65
+ sdk_data.sdk_encrypted_data = 'abc123'
66
+ sdk_data.sdk_ephemeral_public_key = '123xyz'
67
+ sdk_data.sdk_max_timeout = '30'
68
+ sdk_data.sdk_reference_number = 'zaq123'
69
+ sdk_data.sdk_transaction_id = 'xsw321'
70
+
71
+ three_d_secure = Payment::ThreeDSecure.new
72
+ three_d_secure.authentication_flow = 'browser'
73
+ three_d_secure.challenge_canvas_size = '600x400'
74
+ three_d_secure.challenge_indicator = 'challenge-requested'
75
+ three_d_secure.external_cardholder_authentication_data = external_cardholder_authentication_data
76
+ three_d_secure.prior_three_d_secure_data = prior_three_d_secure_data
77
+ three_d_secure.sdk_data = sdk_data
78
+ three_d_secure.skip_authentication = false
79
+
37
80
  card_payment_method_specific_input = Payment::CardPaymentMethodSpecificInput.new
38
81
  card_payment_method_specific_input.card = card
39
82
  card_payment_method_specific_input.payment_product_id = 1
40
- card_payment_method_specific_input.skip_authentication = false
83
+ card_payment_method_specific_input.three_d_secure = three_d_secure
41
84
 
42
85
  amount_of_money = Definitions::AmountOfMoney.new
43
86
  amount_of_money.amount = 2980
@@ -54,6 +97,7 @@ def example
54
97
 
55
98
  company_information = Definitions::CompanyInformation.new
56
99
  company_information.name = 'Acme Labs'
100
+ company_information.vat_number = '1234AB5678CD'
57
101
 
58
102
  contact_details = Payment::ContactDetails.new
59
103
  contact_details.email_address = 'wile.e.coyote@acmelabs.com'
@@ -72,21 +116,6 @@ def example
72
116
  personal_information.gender = 'male'
73
117
  personal_information.name = name
74
118
 
75
- shipping_name = Payment::PersonalName.new
76
- shipping_name.first_name = 'Road'
77
- shipping_name.surname = 'Runner'
78
- shipping_name.title = 'Miss'
79
-
80
- shipping_address = Payment::AddressPersonal.new
81
- shipping_address.additional_info = 'Suite II'
82
- shipping_address.city = 'Monument Valley'
83
- shipping_address.country_code = 'US'
84
- shipping_address.house_number = '1'
85
- shipping_address.name = shipping_name
86
- shipping_address.state = 'Utah'
87
- shipping_address.street = 'Desertroad'
88
- shipping_address.zip = '84536'
89
-
90
119
  customer = Payment::Customer.new
91
120
  customer.billing_address = billing_address
92
121
  customer.company_information = company_information
@@ -94,8 +123,6 @@ def example
94
123
  customer.locale = 'en_US'
95
124
  customer.merchant_customer_id = '1234'
96
125
  customer.personal_information = personal_information
97
- customer.shipping_address = shipping_address
98
- customer.vat_number = '1234AB5678CD'
99
126
 
100
127
  invoice_data = Payment::OrderInvoiceData.new
101
128
  invoice_data.invoice_date = '20140306191500'
@@ -107,6 +134,24 @@ def example
107
134
  references.merchant_order_id = 123456
108
135
  references.merchant_reference = 'AcmeOrder0001'
109
136
 
137
+ shipping_name = Payment::PersonalName.new
138
+ shipping_name.first_name = 'Road'
139
+ shipping_name.surname = 'Runner'
140
+ shipping_name.title = 'Miss'
141
+
142
+ address = Payment::AddressPersonal.new
143
+ address.additional_info = 'Suite II'
144
+ address.city = 'Monument Valley'
145
+ address.country_code = 'US'
146
+ address.house_number = '1'
147
+ address.name = shipping_name
148
+ address.state = 'Utah'
149
+ address.street = 'Desertroad'
150
+ address.zip = '84536'
151
+
152
+ shipping = Payment::Shipping.new
153
+ shipping.address = address
154
+
110
155
  items = []
111
156
 
112
157
  item1_amount_of_money = Definitions::AmountOfMoney.new
@@ -146,6 +191,7 @@ def example
146
191
  order.amount_of_money = amount_of_money
147
192
  order.customer = customer
148
193
  order.references = references
194
+ order.shipping = shipping
149
195
  order.shopping_cart = shopping_cart
150
196
 
151
197
  body = Payment::CreatePaymentRequest.new
@@ -62,7 +62,6 @@ def example
62
62
  airline_data.flight_legs = flight_legs
63
63
  airline_data.invoice_number = '123456'
64
64
  airline_data.is_e_ticket = true
65
- airline_data.is_registered_customer = true
66
65
  airline_data.is_restricted_ticket = true
67
66
  airline_data.is_third_party = true
68
67
  airline_data.issue_date = '20150101'
@@ -87,6 +86,7 @@ def example
87
86
  billing_address.country_code = 'US'
88
87
 
89
88
  customer = Riskassessments::CustomerRiskAssessment.new
89
+ customer.account_type = 'existing'
90
90
  customer.billing_address = billing_address
91
91
  customer.locale = 'en_US'
92
92
 
@@ -31,6 +31,8 @@ module Ingenico::Connect::SDK
31
31
  attr_accessor :is_e_ticket
32
32
 
33
33
  # true/false
34
+ #
35
+ # Deprecated; Use Order.customer.accountType instead
34
36
  attr_accessor :is_registered_customer
35
37
 
36
38
  # true/false
@@ -13,9 +13,13 @@ module Ingenico::Connect::SDK
13
13
  # String
14
14
  attr_accessor :name
15
15
 
16
+ # String
17
+ attr_accessor :vat_number
18
+
16
19
  def to_h
17
20
  hash = super
18
21
  add_to_hash(hash, 'name', @name)
22
+ add_to_hash(hash, 'vatNumber', @vat_number)
19
23
  hash
20
24
  end
21
25
 
@@ -24,6 +28,9 @@ module Ingenico::Connect::SDK
24
28
  if hash.has_key?('name')
25
29
  @name = hash['name']
26
30
  end
31
+ if hash.has_key?('vatNumber')
32
+ @vat_number = hash['vatNumber']
33
+ end
27
34
  end
28
35
  end
29
36
  end
@@ -18,6 +18,8 @@ module Ingenico::Connect::SDK
18
18
  attr_accessor :merchant_customer_id
19
19
 
20
20
  # String
21
+ #
22
+ # Deprecated; Use companyInformation.vatNumber instead
21
23
  attr_accessor :vat_number
22
24
 
23
25
  def to_h
@@ -13,24 +13,34 @@ module Ingenico::Connect::SDK
13
13
  class FraudFields < Ingenico::Connect::SDK::DataObject
14
14
 
15
15
  # true/false
16
+ #
17
+ # Deprecated; For risk assessments there is no replacement. For other calls, use Order.shipping.addressIndicator instead
16
18
  attr_accessor :addresses_are_identical
17
19
 
18
20
  # String
19
21
  attr_accessor :black_list_data
20
22
 
21
23
  # {Ingenico::Connect::SDK::Domain::Definitions::Address}
24
+ #
25
+ # Deprecated; This should be the same as Order.customer.billingAddress
22
26
  attr_accessor :card_owner_address
23
27
 
24
28
  # String
25
29
  attr_accessor :customer_ip_address
26
30
 
27
31
  # String
32
+ #
33
+ # Deprecated; Use Order.customer.device.defaultFormFill instead
28
34
  attr_accessor :default_form_fill
29
35
 
30
36
  # true/false
37
+ #
38
+ # Deprecated; No replacement
31
39
  attr_accessor :device_fingerprint_activated
32
40
 
33
41
  # String
42
+ #
43
+ # Deprecated; Use Order.customer.device.deviceFingerprintTransactionId instead
34
44
  attr_accessor :device_fingerprint_transaction_id
35
45
 
36
46
  # String
@@ -40,30 +50,44 @@ module Ingenico::Connect::SDK
40
50
  attr_accessor :gift_message
41
51
 
42
52
  # true/false
53
+ #
54
+ # Deprecated; Use Order.customer.account.hasForgottenPassword instead
43
55
  attr_accessor :has_forgotten_pwd
44
56
 
45
57
  # true/false
58
+ #
59
+ # Deprecated; Use Order.customer.account.hasPassword instead
46
60
  attr_accessor :has_password
47
61
 
48
62
  # true/false
63
+ #
64
+ # Deprecated; Use Order.customer.isPreviousCustomer instead
49
65
  attr_accessor :is_previous_customer
50
66
 
51
67
  # String
52
68
  attr_accessor :order_timezone
53
69
 
54
70
  # String
71
+ #
72
+ # Deprecated; Use Order.shipping.comments instead
55
73
  attr_accessor :ship_comments
56
74
 
57
75
  # String
76
+ #
77
+ # Deprecated; Use Order.shipping.trackingNumber instead
58
78
  attr_accessor :shipment_tracking_number
59
79
 
60
80
  # {Ingenico::Connect::SDK::Domain::Definitions::FraudFieldsShippingDetails}
81
+ #
82
+ # Deprecated; No replacement
61
83
  attr_accessor :shipping_details
62
84
 
63
85
  # Array of String
64
86
  attr_accessor :user_data
65
87
 
66
88
  # String
89
+ #
90
+ # Deprecated; Use Merchant.websiteUrl instead
67
91
  attr_accessor :website
68
92
 
69
93
  def to_h
@@ -8,15 +8,22 @@ module Ingenico::Connect::SDK
8
8
  module Domain
9
9
  module Definitions
10
10
 
11
+ # Deprecated; No replacement
11
12
  class FraudFieldsShippingDetails < Ingenico::Connect::SDK::DataObject
12
13
 
13
14
  # String
15
+ #
16
+ # Deprecated; No replacement
14
17
  attr_accessor :method_details
15
18
 
16
19
  # Integer
20
+ #
21
+ # Deprecated; No replacement
17
22
  attr_accessor :method_speed
18
23
 
19
24
  # Integer
25
+ #
26
+ # Deprecated; No replacement
20
27
  attr_accessor :method_type
21
28
 
22
29
  def to_h
@@ -10,6 +10,7 @@ require 'ingenico/connect/sdk/domain/payment/bank_transfer_payment_method_specif
10
10
  require 'ingenico/connect/sdk/domain/payment/card_payment_method_specific_input_base'
11
11
  require 'ingenico/connect/sdk/domain/payment/cash_payment_method_specific_input_base'
12
12
  require 'ingenico/connect/sdk/domain/payment/e_invoice_payment_method_specific_input_base'
13
+ require 'ingenico/connect/sdk/domain/payment/merchant'
13
14
  require 'ingenico/connect/sdk/domain/payment/order'
14
15
  require 'ingenico/connect/sdk/domain/payment/redirect_payment_method_specific_input_base'
15
16
  require 'ingenico/connect/sdk/domain/payment/sepa_direct_debit_payment_method_specific_input_base'
@@ -38,6 +39,9 @@ module Ingenico::Connect::SDK
38
39
  # {Ingenico::Connect::SDK::Domain::Hostedcheckout::HostedCheckoutSpecificInput}
39
40
  attr_accessor :hosted_checkout_specific_input
40
41
 
42
+ # {Ingenico::Connect::SDK::Domain::Payment::Merchant}
43
+ attr_accessor :merchant
44
+
41
45
  # {Ingenico::Connect::SDK::Domain::Hostedcheckout::MobilePaymentMethodSpecificInputHostedCheckout}
42
46
  attr_accessor :mobile_payment_method_specific_input
43
47
 
@@ -58,6 +62,7 @@ module Ingenico::Connect::SDK
58
62
  add_to_hash(hash, 'eInvoicePaymentMethodSpecificInput', @e_invoice_payment_method_specific_input)
59
63
  add_to_hash(hash, 'fraudFields', @fraud_fields)
60
64
  add_to_hash(hash, 'hostedCheckoutSpecificInput', @hosted_checkout_specific_input)
65
+ add_to_hash(hash, 'merchant', @merchant)
61
66
  add_to_hash(hash, 'mobilePaymentMethodSpecificInput', @mobile_payment_method_specific_input)
62
67
  add_to_hash(hash, 'order', @order)
63
68
  add_to_hash(hash, 'redirectPaymentMethodSpecificInput', @redirect_payment_method_specific_input)
@@ -103,6 +108,12 @@ module Ingenico::Connect::SDK
103
108
  end
104
109
  @hosted_checkout_specific_input = Ingenico::Connect::SDK::Domain::Hostedcheckout::HostedCheckoutSpecificInput.new_from_hash(hash['hostedCheckoutSpecificInput'])
105
110
  end
111
+ if hash.has_key?('merchant')
112
+ if !(hash['merchant'].is_a? Hash)
113
+ raise TypeError, "value '%s' is not a Hash" % [hash['merchant']]
114
+ end
115
+ @merchant = Ingenico::Connect::SDK::Domain::Payment::Merchant.new_from_hash(hash['merchant'])
116
+ end
106
117
  if hash.has_key?('mobilePaymentMethodSpecificInput')
107
118
  if !(hash['mobilePaymentMethodSpecificInput'].is_a? Hash)
108
119
  raise TypeError, "value '%s' is not a Hash" % [hash['mobilePaymentMethodSpecificInput']]
@@ -24,7 +24,7 @@ module Ingenico::Connect::SDK
24
24
 
25
25
  # String
26
26
  #
27
- # Deprecated; Use payment.statusOutput.statusCategory instead
27
+ # Deprecated; Use Payment.statusOutput.statusCategory instead
28
28
  attr_accessor :payment_status_category
29
29
 
30
30
  # true/false
@@ -3,6 +3,7 @@
3
3
  # https://epayments-api.developer-ingenico.com/s2sapi/v1/
4
4
  #
5
5
  require 'ingenico/connect/sdk/domain/definitions/abstract_payment_method_specific_input'
6
+ require 'ingenico/connect/sdk/domain/payment/card_recurrence_details'
6
7
 
7
8
  module Ingenico::Connect::SDK
8
9
  module Domain
@@ -16,13 +17,20 @@ module Ingenico::Connect::SDK
16
17
  # String
17
18
  attr_accessor :customer_reference
18
19
 
20
+ # {Ingenico::Connect::SDK::Domain::Payment::CardRecurrenceDetails}
21
+ attr_accessor :recurring
22
+
19
23
  # String
24
+ #
25
+ # Deprecated; Use recurring.recurringPaymentSequenceIndicator instead
20
26
  attr_accessor :recurring_payment_sequence_indicator
21
27
 
22
28
  # true/false
23
29
  attr_accessor :requires_approval
24
30
 
25
31
  # true/false
32
+ #
33
+ # Deprecated; Use threeDSecure.skipAuthentication instead
26
34
  attr_accessor :skip_authentication
27
35
 
28
36
  # true/false
@@ -38,15 +46,21 @@ module Ingenico::Connect::SDK
38
46
  attr_accessor :transaction_channel
39
47
 
40
48
  # String
49
+ #
50
+ # Deprecated; Use unscheduledCardOnFileSequenceIndicator instead
41
51
  attr_accessor :unscheduled_card_on_file_indicator
42
52
 
43
53
  # String
44
54
  attr_accessor :unscheduled_card_on_file_requestor
45
55
 
56
+ # String
57
+ attr_accessor :unscheduled_card_on_file_sequence_indicator
58
+
46
59
  def to_h
47
60
  hash = super
48
61
  add_to_hash(hash, 'authorizationMode', @authorization_mode)
49
62
  add_to_hash(hash, 'customerReference', @customer_reference)
63
+ add_to_hash(hash, 'recurring', @recurring)
50
64
  add_to_hash(hash, 'recurringPaymentSequenceIndicator', @recurring_payment_sequence_indicator)
51
65
  add_to_hash(hash, 'requiresApproval', @requires_approval)
52
66
  add_to_hash(hash, 'skipAuthentication', @skip_authentication)
@@ -56,6 +70,7 @@ module Ingenico::Connect::SDK
56
70
  add_to_hash(hash, 'transactionChannel', @transaction_channel)
57
71
  add_to_hash(hash, 'unscheduledCardOnFileIndicator', @unscheduled_card_on_file_indicator)
58
72
  add_to_hash(hash, 'unscheduledCardOnFileRequestor', @unscheduled_card_on_file_requestor)
73
+ add_to_hash(hash, 'unscheduledCardOnFileSequenceIndicator', @unscheduled_card_on_file_sequence_indicator)
59
74
  hash
60
75
  end
61
76
 
@@ -67,6 +82,12 @@ module Ingenico::Connect::SDK
67
82
  if hash.has_key?('customerReference')
68
83
  @customer_reference = hash['customerReference']
69
84
  end
85
+ if hash.has_key?('recurring')
86
+ if !(hash['recurring'].is_a? Hash)
87
+ raise TypeError, "value '%s' is not a Hash" % [hash['recurring']]
88
+ end
89
+ @recurring = Ingenico::Connect::SDK::Domain::Payment::CardRecurrenceDetails.new_from_hash(hash['recurring'])
90
+ end
70
91
  if hash.has_key?('recurringPaymentSequenceIndicator')
71
92
  @recurring_payment_sequence_indicator = hash['recurringPaymentSequenceIndicator']
72
93
  end
@@ -94,6 +115,9 @@ module Ingenico::Connect::SDK
94
115
  if hash.has_key?('unscheduledCardOnFileRequestor')
95
116
  @unscheduled_card_on_file_requestor = hash['unscheduledCardOnFileRequestor']
96
117
  end
118
+ if hash.has_key?('unscheduledCardOnFileSequenceIndicator')
119
+ @unscheduled_card_on_file_sequence_indicator = hash['unscheduledCardOnFileSequenceIndicator']
120
+ end
97
121
  end
98
122
  end
99
123
  end