connect-sdk-ruby 2.14.0 → 2.18.1

Sign up to get free protection for your applications and to get access to all the features.
Files changed (21) hide show
  1. checksums.yaml +4 -4
  2. data/connect-sdk-ruby.gemspec +1 -1
  3. data/examples/merchant/products/create_payment_product_session_example.rb +1 -1
  4. data/lib/ingenico/connect/sdk/domain/definitions/additional_order_input_airline_data.rb +9 -0
  5. data/lib/ingenico/connect/sdk/domain/definitions/lodging_charge.rb +46 -0
  6. data/lib/ingenico/connect/sdk/domain/definitions/lodging_data.rb +147 -0
  7. data/lib/ingenico/connect/sdk/domain/definitions/lodging_room.rb +88 -0
  8. data/lib/ingenico/connect/sdk/domain/hostedcheckout/mobile_payment_method_specific_input_hosted_checkout.rb +28 -0
  9. data/lib/ingenico/connect/sdk/domain/hostedcheckout/mobile_payment_product320_specific_input_hosted_checkout.rb +9 -0
  10. data/lib/ingenico/connect/sdk/domain/payment/additional_order_input.rb +9 -0
  11. data/lib/ingenico/connect/sdk/domain/payment/decrypted_payment_data.rb +9 -0
  12. data/lib/ingenico/connect/sdk/domain/payment/exemption_output.rb +46 -0
  13. data/lib/ingenico/connect/sdk/domain/payment/g_pay_three_d_secure.rb +62 -0
  14. data/lib/ingenico/connect/sdk/domain/payment/mobile_payment_method_specific_input.rb +16 -0
  15. data/lib/ingenico/connect/sdk/domain/payment/mobile_payment_product320_specific_input.rb +34 -0
  16. data/lib/ingenico/connect/sdk/domain/payment/three_d_secure_results.rb +9 -0
  17. data/lib/ingenico/connect/sdk/domain/product/payment_product.rb +7 -0
  18. data/lib/ingenico/connect/sdk/meta_data_provider.rb +1 -1
  19. data/spec/integration/payment_products_spec.rb +13 -0
  20. data/spec/integration/token_spec.rb +1 -1
  21. metadata +8 -2
checksums.yaml CHANGED
@@ -1,7 +1,7 @@
1
1
  ---
2
2
  SHA256:
3
- metadata.gz: 14f44856f93795c303784ff8b090d47a48351fe43c8ddb4cbb6a6a0834628d72
4
- data.tar.gz: ff9a251e1cdb2fd53e67d74f96cc40ecbe161d9be7a998d03feaf6e305c5c490
3
+ metadata.gz: f6bfb98579e8957756656f544da56aad4c8d19fa7a149260bf527ccb5c57d14d
4
+ data.tar.gz: d19f9975b09aa64b6f03b382de1ad439edc2f9dd424dcd6a2ced588971980024
5
5
  SHA512:
6
- metadata.gz: 18cb534185d477d5009f849e87f87802e4877d5aa97c2c2139cf7282d16f7e2213f680d7c9893c9797364ab0d26b8a819b3ccce8effc0e9b07eba81e7db66af5
7
- data.tar.gz: 752db6ff27d29118666bff3c748c350154eb3193cd90ed9864ec10eb6e08f1a364a42fd3bf3b5d9b1b184e7521924f058d70963f6951a860f875283136ef048f
6
+ metadata.gz: 9af4898cadaef21e2af4d75512d473ed9bf4ed62587be2fe4b73f140240efabc59e02ce04cc6541ffc6eb081d27f7794b45b31c354217ec6948807709331d4d0
7
+ data.tar.gz: f8393e215290d61202bb65002a5069c9f6361a47ca84fb5964159415b7ea35e7d96b7f423e9ff143dfad74c0ce76e9a6a2cbc9c4dd358c03fd1aa0b923409120
@@ -1,6 +1,6 @@
1
1
  Gem::Specification.new do |spec|
2
2
  spec.name = 'connect-sdk-ruby'
3
- spec.version = '2.14.0'
3
+ spec.version = '2.18.1'
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}
@@ -13,7 +13,7 @@ def example
13
13
  payment_product_session302_specific_input = Product::MobilePaymentProductSession302SpecificInput.new
14
14
  payment_product_session302_specific_input.display_name = 'Ingenico'
15
15
  payment_product_session302_specific_input.domain_name = 'pay1.secured-by-ingenico.com'
16
- payment_product_session302_specific_input.validation_url = 'https://apple-pay-gateway-cert.apple.com/paymentservices/startSession'
16
+ payment_product_session302_specific_input.validation_url = '<VALIDATION URL RECEIVED FROM APPLE>'
17
17
 
18
18
  body = Product::CreatePaymentProductSessionRequest.new
19
19
  body.payment_product_session302_specific_input = payment_product_session302_specific_input
@@ -4,20 +4,25 @@
4
4
  #
5
5
  require 'ingenico/connect/sdk/data_object'
6
6
  require 'ingenico/connect/sdk/domain/definitions/airline_data'
7
+ require 'ingenico/connect/sdk/domain/definitions/lodging_data'
7
8
 
8
9
  module Ingenico::Connect::SDK
9
10
  module Domain
10
11
  module Definitions
11
12
 
12
13
  # @attr [Ingenico::Connect::SDK::Domain::Definitions::AirlineData] airline_data
14
+ # @attr [Ingenico::Connect::SDK::Domain::Definitions::LodgingData] lodging_data
13
15
  class AdditionalOrderInputAirlineData < Ingenico::Connect::SDK::DataObject
14
16
 
15
17
  attr_accessor :airline_data
16
18
 
19
+ attr_accessor :lodging_data
20
+
17
21
  # @return (Hash)
18
22
  def to_h
19
23
  hash = super
20
24
  hash['airlineData'] = @airline_data.to_h unless @airline_data.nil?
25
+ hash['lodgingData'] = @lodging_data.to_h unless @lodging_data.nil?
21
26
  hash
22
27
  end
23
28
 
@@ -27,6 +32,10 @@ module Ingenico::Connect::SDK
27
32
  raise TypeError, "value '%s' is not a Hash" % [hash['airlineData']] unless hash['airlineData'].is_a? Hash
28
33
  @airline_data = Ingenico::Connect::SDK::Domain::Definitions::AirlineData.new_from_hash(hash['airlineData'])
29
34
  end
35
+ if hash.has_key? 'lodgingData'
36
+ raise TypeError, "value '%s' is not a Hash" % [hash['lodgingData']] unless hash['lodgingData'].is_a? Hash
37
+ @lodging_data = Ingenico::Connect::SDK::Domain::Definitions::LodgingData.new_from_hash(hash['lodgingData'])
38
+ end
30
39
  end
31
40
  end
32
41
  end
@@ -0,0 +1,46 @@
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 Definitions
10
+
11
+ # @attr [Integer] charge_amount
12
+ # @attr [String] charge_amount_currency_code
13
+ # @attr [String] charge_type
14
+ class LodgingCharge < Ingenico::Connect::SDK::DataObject
15
+
16
+ attr_accessor :charge_amount
17
+
18
+ attr_accessor :charge_amount_currency_code
19
+
20
+ attr_accessor :charge_type
21
+
22
+ # @return (Hash)
23
+ def to_h
24
+ hash = super
25
+ hash['chargeAmount'] = @charge_amount unless @charge_amount.nil?
26
+ hash['chargeAmountCurrencyCode'] = @charge_amount_currency_code unless @charge_amount_currency_code.nil?
27
+ hash['chargeType'] = @charge_type unless @charge_type.nil?
28
+ hash
29
+ end
30
+
31
+ def from_hash(hash)
32
+ super
33
+ if hash.has_key? 'chargeAmount'
34
+ @charge_amount = hash['chargeAmount']
35
+ end
36
+ if hash.has_key? 'chargeAmountCurrencyCode'
37
+ @charge_amount_currency_code = hash['chargeAmountCurrencyCode']
38
+ end
39
+ if hash.has_key? 'chargeType'
40
+ @charge_type = hash['chargeType']
41
+ end
42
+ end
43
+ end
44
+ end
45
+ end
46
+ end
@@ -0,0 +1,147 @@
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/definitions/lodging_charge'
7
+ require 'ingenico/connect/sdk/domain/definitions/lodging_room'
8
+
9
+ module Ingenico::Connect::SDK
10
+ module Domain
11
+ module Definitions
12
+
13
+ # @attr [Array<Ingenico::Connect::SDK::Domain::Definitions::LodgingCharge>] charges
14
+ # @attr [String] check_in_date
15
+ # @attr [String] check_out_date
16
+ # @attr [String] folio_number
17
+ # @attr [true/false] is_confirmed_reservation
18
+ # @attr [true/false] is_facility_fire_safety_conform
19
+ # @attr [true/false] is_no_show
20
+ # @attr [true/false] is_preference_smoking_room
21
+ # @attr [Integer] number_of_adults
22
+ # @attr [Integer] number_of_nights
23
+ # @attr [Integer] number_of_rooms
24
+ # @attr [String] program_code
25
+ # @attr [String] property_customer_service_phone_number
26
+ # @attr [String] property_phone_number
27
+ # @attr [String] renter_name
28
+ # @attr [Array<Ingenico::Connect::SDK::Domain::Definitions::LodgingRoom>] rooms
29
+ class LodgingData < Ingenico::Connect::SDK::DataObject
30
+
31
+ attr_accessor :charges
32
+
33
+ attr_accessor :check_in_date
34
+
35
+ attr_accessor :check_out_date
36
+
37
+ attr_accessor :folio_number
38
+
39
+ attr_accessor :is_confirmed_reservation
40
+
41
+ attr_accessor :is_facility_fire_safety_conform
42
+
43
+ attr_accessor :is_no_show
44
+
45
+ attr_accessor :is_preference_smoking_room
46
+
47
+ attr_accessor :number_of_adults
48
+
49
+ attr_accessor :number_of_nights
50
+
51
+ attr_accessor :number_of_rooms
52
+
53
+ attr_accessor :program_code
54
+
55
+ attr_accessor :property_customer_service_phone_number
56
+
57
+ attr_accessor :property_phone_number
58
+
59
+ attr_accessor :renter_name
60
+
61
+ attr_accessor :rooms
62
+
63
+ # @return (Hash)
64
+ def to_h
65
+ hash = super
66
+ hash['charges'] = @charges.collect{|val| val.to_h} unless @charges.nil?
67
+ hash['checkInDate'] = @check_in_date unless @check_in_date.nil?
68
+ hash['checkOutDate'] = @check_out_date unless @check_out_date.nil?
69
+ hash['folioNumber'] = @folio_number unless @folio_number.nil?
70
+ hash['isConfirmedReservation'] = @is_confirmed_reservation unless @is_confirmed_reservation.nil?
71
+ hash['isFacilityFireSafetyConform'] = @is_facility_fire_safety_conform unless @is_facility_fire_safety_conform.nil?
72
+ hash['isNoShow'] = @is_no_show unless @is_no_show.nil?
73
+ hash['isPreferenceSmokingRoom'] = @is_preference_smoking_room unless @is_preference_smoking_room.nil?
74
+ hash['numberOfAdults'] = @number_of_adults unless @number_of_adults.nil?
75
+ hash['numberOfNights'] = @number_of_nights unless @number_of_nights.nil?
76
+ hash['numberOfRooms'] = @number_of_rooms unless @number_of_rooms.nil?
77
+ hash['programCode'] = @program_code unless @program_code.nil?
78
+ hash['propertyCustomerServicePhoneNumber'] = @property_customer_service_phone_number unless @property_customer_service_phone_number.nil?
79
+ hash['propertyPhoneNumber'] = @property_phone_number unless @property_phone_number.nil?
80
+ hash['renterName'] = @renter_name unless @renter_name.nil?
81
+ hash['rooms'] = @rooms.collect{|val| val.to_h} unless @rooms.nil?
82
+ hash
83
+ end
84
+
85
+ def from_hash(hash)
86
+ super
87
+ if hash.has_key? 'charges'
88
+ raise TypeError, "value '%s' is not an Array" % [hash['charges']] unless hash['charges'].is_a? Array
89
+ @charges = []
90
+ hash['charges'].each do |e|
91
+ @charges << Ingenico::Connect::SDK::Domain::Definitions::LodgingCharge.new_from_hash(e)
92
+ end
93
+ end
94
+ if hash.has_key? 'checkInDate'
95
+ @check_in_date = hash['checkInDate']
96
+ end
97
+ if hash.has_key? 'checkOutDate'
98
+ @check_out_date = hash['checkOutDate']
99
+ end
100
+ if hash.has_key? 'folioNumber'
101
+ @folio_number = hash['folioNumber']
102
+ end
103
+ if hash.has_key? 'isConfirmedReservation'
104
+ @is_confirmed_reservation = hash['isConfirmedReservation']
105
+ end
106
+ if hash.has_key? 'isFacilityFireSafetyConform'
107
+ @is_facility_fire_safety_conform = hash['isFacilityFireSafetyConform']
108
+ end
109
+ if hash.has_key? 'isNoShow'
110
+ @is_no_show = hash['isNoShow']
111
+ end
112
+ if hash.has_key? 'isPreferenceSmokingRoom'
113
+ @is_preference_smoking_room = hash['isPreferenceSmokingRoom']
114
+ end
115
+ if hash.has_key? 'numberOfAdults'
116
+ @number_of_adults = hash['numberOfAdults']
117
+ end
118
+ if hash.has_key? 'numberOfNights'
119
+ @number_of_nights = hash['numberOfNights']
120
+ end
121
+ if hash.has_key? 'numberOfRooms'
122
+ @number_of_rooms = hash['numberOfRooms']
123
+ end
124
+ if hash.has_key? 'programCode'
125
+ @program_code = hash['programCode']
126
+ end
127
+ if hash.has_key? 'propertyCustomerServicePhoneNumber'
128
+ @property_customer_service_phone_number = hash['propertyCustomerServicePhoneNumber']
129
+ end
130
+ if hash.has_key? 'propertyPhoneNumber'
131
+ @property_phone_number = hash['propertyPhoneNumber']
132
+ end
133
+ if hash.has_key? 'renterName'
134
+ @renter_name = hash['renterName']
135
+ end
136
+ if hash.has_key? 'rooms'
137
+ raise TypeError, "value '%s' is not an Array" % [hash['rooms']] unless hash['rooms'].is_a? Array
138
+ @rooms = []
139
+ hash['rooms'].each do |e|
140
+ @rooms << Ingenico::Connect::SDK::Domain::Definitions::LodgingRoom.new_from_hash(e)
141
+ end
142
+ end
143
+ end
144
+ end
145
+ end
146
+ end
147
+ end
@@ -0,0 +1,88 @@
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 Definitions
10
+
11
+ # @attr [String] daily_room_rate
12
+ # @attr [String] daily_room_rate_currency_code
13
+ # @attr [String] daily_room_tax_amount
14
+ # @attr [String] daily_room_tax_amount_currency_code
15
+ # @attr [Integer] number_of_nights_at_room_rate
16
+ # @attr [String] room_location
17
+ # @attr [String] room_number
18
+ # @attr [String] type_of_bed
19
+ # @attr [String] type_of_room
20
+ class LodgingRoom < Ingenico::Connect::SDK::DataObject
21
+
22
+ attr_accessor :daily_room_rate
23
+
24
+ attr_accessor :daily_room_rate_currency_code
25
+
26
+ attr_accessor :daily_room_tax_amount
27
+
28
+ attr_accessor :daily_room_tax_amount_currency_code
29
+
30
+ attr_accessor :number_of_nights_at_room_rate
31
+
32
+ attr_accessor :room_location
33
+
34
+ attr_accessor :room_number
35
+
36
+ attr_accessor :type_of_bed
37
+
38
+ attr_accessor :type_of_room
39
+
40
+ # @return (Hash)
41
+ def to_h
42
+ hash = super
43
+ hash['dailyRoomRate'] = @daily_room_rate unless @daily_room_rate.nil?
44
+ hash['dailyRoomRateCurrencyCode'] = @daily_room_rate_currency_code unless @daily_room_rate_currency_code.nil?
45
+ hash['dailyRoomTaxAmount'] = @daily_room_tax_amount unless @daily_room_tax_amount.nil?
46
+ hash['dailyRoomTaxAmountCurrencyCode'] = @daily_room_tax_amount_currency_code unless @daily_room_tax_amount_currency_code.nil?
47
+ hash['numberOfNightsAtRoomRate'] = @number_of_nights_at_room_rate unless @number_of_nights_at_room_rate.nil?
48
+ hash['roomLocation'] = @room_location unless @room_location.nil?
49
+ hash['roomNumber'] = @room_number unless @room_number.nil?
50
+ hash['typeOfBed'] = @type_of_bed unless @type_of_bed.nil?
51
+ hash['typeOfRoom'] = @type_of_room unless @type_of_room.nil?
52
+ hash
53
+ end
54
+
55
+ def from_hash(hash)
56
+ super
57
+ if hash.has_key? 'dailyRoomRate'
58
+ @daily_room_rate = hash['dailyRoomRate']
59
+ end
60
+ if hash.has_key? 'dailyRoomRateCurrencyCode'
61
+ @daily_room_rate_currency_code = hash['dailyRoomRateCurrencyCode']
62
+ end
63
+ if hash.has_key? 'dailyRoomTaxAmount'
64
+ @daily_room_tax_amount = hash['dailyRoomTaxAmount']
65
+ end
66
+ if hash.has_key? 'dailyRoomTaxAmountCurrencyCode'
67
+ @daily_room_tax_amount_currency_code = hash['dailyRoomTaxAmountCurrencyCode']
68
+ end
69
+ if hash.has_key? 'numberOfNightsAtRoomRate'
70
+ @number_of_nights_at_room_rate = hash['numberOfNightsAtRoomRate']
71
+ end
72
+ if hash.has_key? 'roomLocation'
73
+ @room_location = hash['roomLocation']
74
+ end
75
+ if hash.has_key? 'roomNumber'
76
+ @room_number = hash['roomNumber']
77
+ end
78
+ if hash.has_key? 'typeOfBed'
79
+ @type_of_bed = hash['typeOfBed']
80
+ end
81
+ if hash.has_key? 'typeOfRoom'
82
+ @type_of_room = hash['typeOfRoom']
83
+ end
84
+ end
85
+ end
86
+ end
87
+ end
88
+ end
@@ -10,24 +10,46 @@ module Ingenico::Connect::SDK
10
10
  module Domain
11
11
  module Hostedcheckout
12
12
 
13
+ # @attr [String] authorization_mode
14
+ # @attr [String] customer_reference
13
15
  # @attr [Ingenico::Connect::SDK::Domain::Hostedcheckout::MobilePaymentProduct302SpecificInputHostedCheckout] payment_product302_specific_input
14
16
  # @attr [Ingenico::Connect::SDK::Domain::Hostedcheckout::MobilePaymentProduct320SpecificInputHostedCheckout] payment_product320_specific_input
17
+ # @attr [true/false] requires_approval
18
+ # @attr [true/false] skip_fraud_service
15
19
  class MobilePaymentMethodSpecificInputHostedCheckout < Ingenico::Connect::SDK::Domain::Definitions::AbstractPaymentMethodSpecificInput
16
20
 
21
+ attr_accessor :authorization_mode
22
+
23
+ attr_accessor :customer_reference
24
+
17
25
  attr_accessor :payment_product302_specific_input
18
26
 
19
27
  attr_accessor :payment_product320_specific_input
20
28
 
29
+ attr_accessor :requires_approval
30
+
31
+ attr_accessor :skip_fraud_service
32
+
21
33
  # @return (Hash)
22
34
  def to_h
23
35
  hash = super
36
+ hash['authorizationMode'] = @authorization_mode unless @authorization_mode.nil?
37
+ hash['customerReference'] = @customer_reference unless @customer_reference.nil?
24
38
  hash['paymentProduct302SpecificInput'] = @payment_product302_specific_input.to_h unless @payment_product302_specific_input.nil?
25
39
  hash['paymentProduct320SpecificInput'] = @payment_product320_specific_input.to_h unless @payment_product320_specific_input.nil?
40
+ hash['requiresApproval'] = @requires_approval unless @requires_approval.nil?
41
+ hash['skipFraudService'] = @skip_fraud_service unless @skip_fraud_service.nil?
26
42
  hash
27
43
  end
28
44
 
29
45
  def from_hash(hash)
30
46
  super
47
+ if hash.has_key? 'authorizationMode'
48
+ @authorization_mode = hash['authorizationMode']
49
+ end
50
+ if hash.has_key? 'customerReference'
51
+ @customer_reference = hash['customerReference']
52
+ end
31
53
  if hash.has_key? 'paymentProduct302SpecificInput'
32
54
  raise TypeError, "value '%s' is not a Hash" % [hash['paymentProduct302SpecificInput']] unless hash['paymentProduct302SpecificInput'].is_a? Hash
33
55
  @payment_product302_specific_input = Ingenico::Connect::SDK::Domain::Hostedcheckout::MobilePaymentProduct302SpecificInputHostedCheckout.new_from_hash(hash['paymentProduct302SpecificInput'])
@@ -36,6 +58,12 @@ module Ingenico::Connect::SDK
36
58
  raise TypeError, "value '%s' is not a Hash" % [hash['paymentProduct320SpecificInput']] unless hash['paymentProduct320SpecificInput'].is_a? Hash
37
59
  @payment_product320_specific_input = Ingenico::Connect::SDK::Domain::Hostedcheckout::MobilePaymentProduct320SpecificInputHostedCheckout.new_from_hash(hash['paymentProduct320SpecificInput'])
38
60
  end
61
+ if hash.has_key? 'requiresApproval'
62
+ @requires_approval = hash['requiresApproval']
63
+ end
64
+ if hash.has_key? 'skipFraudService'
65
+ @skip_fraud_service = hash['skipFraudService']
66
+ end
39
67
  end
40
68
  end
41
69
  end
@@ -3,6 +3,7 @@
3
3
  # https://epayments-api.developer-ingenico.com/s2sapi/v1/
4
4
  #
5
5
  require 'ingenico/connect/sdk/data_object'
6
+ require 'ingenico/connect/sdk/domain/payment/g_pay_three_d_secure'
6
7
 
7
8
  module Ingenico::Connect::SDK
8
9
  module Domain
@@ -10,17 +11,21 @@ module Ingenico::Connect::SDK
10
11
 
11
12
  # @attr [String] merchant_name
12
13
  # @attr [String] merchant_origin
14
+ # @attr [Ingenico::Connect::SDK::Domain::Payment::GPayThreeDSecure] three_d_secure
13
15
  class MobilePaymentProduct320SpecificInputHostedCheckout < Ingenico::Connect::SDK::DataObject
14
16
 
15
17
  attr_accessor :merchant_name
16
18
 
17
19
  attr_accessor :merchant_origin
18
20
 
21
+ attr_accessor :three_d_secure
22
+
19
23
  # @return (Hash)
20
24
  def to_h
21
25
  hash = super
22
26
  hash['merchantName'] = @merchant_name unless @merchant_name.nil?
23
27
  hash['merchantOrigin'] = @merchant_origin unless @merchant_origin.nil?
28
+ hash['threeDSecure'] = @three_d_secure.to_h unless @three_d_secure.nil?
24
29
  hash
25
30
  end
26
31
 
@@ -32,6 +37,10 @@ module Ingenico::Connect::SDK
32
37
  if hash.has_key? 'merchantOrigin'
33
38
  @merchant_origin = hash['merchantOrigin']
34
39
  end
40
+ if hash.has_key? 'threeDSecure'
41
+ raise TypeError, "value '%s' is not a Hash" % [hash['threeDSecure']] unless hash['threeDSecure'].is_a? Hash
42
+ @three_d_secure = Ingenico::Connect::SDK::Domain::Payment::GPayThreeDSecure.new_from_hash(hash['threeDSecure'])
43
+ end
35
44
  end
36
45
  end
37
46
  end
@@ -4,6 +4,7 @@
4
4
  #
5
5
  require 'ingenico/connect/sdk/data_object'
6
6
  require 'ingenico/connect/sdk/domain/definitions/airline_data'
7
+ require 'ingenico/connect/sdk/domain/definitions/lodging_data'
7
8
  require 'ingenico/connect/sdk/domain/payment/installments'
8
9
  require 'ingenico/connect/sdk/domain/payment/level3_summary_data'
9
10
  require 'ingenico/connect/sdk/domain/payment/loan_recipient'
@@ -17,6 +18,7 @@ module Ingenico::Connect::SDK
17
18
  # @attr [Ingenico::Connect::SDK::Domain::Payment::Installments] installments
18
19
  # @attr [Ingenico::Connect::SDK::Domain::Payment::Level3SummaryData] level3_summary_data
19
20
  # @attr [Ingenico::Connect::SDK::Domain::Payment::LoanRecipient] loan_recipient
21
+ # @attr [Ingenico::Connect::SDK::Domain::Definitions::LodgingData] lodging_data
20
22
  # @attr [Integer] number_of_installments
21
23
  # @attr [String] order_date
22
24
  # @attr [Ingenico::Connect::SDK::Domain::Payment::OrderTypeInformation] type_information
@@ -32,6 +34,8 @@ module Ingenico::Connect::SDK
32
34
 
33
35
  attr_accessor :loan_recipient
34
36
 
37
+ attr_accessor :lodging_data
38
+
35
39
  #
36
40
  # @deprecated Use installments.numberOfInstallments instead
37
41
  attr_accessor :number_of_installments
@@ -47,6 +51,7 @@ module Ingenico::Connect::SDK
47
51
  hash['installments'] = @installments.to_h unless @installments.nil?
48
52
  hash['level3SummaryData'] = @level3_summary_data.to_h unless @level3_summary_data.nil?
49
53
  hash['loanRecipient'] = @loan_recipient.to_h unless @loan_recipient.nil?
54
+ hash['lodgingData'] = @lodging_data.to_h unless @lodging_data.nil?
50
55
  hash['numberOfInstallments'] = @number_of_installments unless @number_of_installments.nil?
51
56
  hash['orderDate'] = @order_date unless @order_date.nil?
52
57
  hash['typeInformation'] = @type_information.to_h unless @type_information.nil?
@@ -71,6 +76,10 @@ module Ingenico::Connect::SDK
71
76
  raise TypeError, "value '%s' is not a Hash" % [hash['loanRecipient']] unless hash['loanRecipient'].is_a? Hash
72
77
  @loan_recipient = Ingenico::Connect::SDK::Domain::Payment::LoanRecipient.new_from_hash(hash['loanRecipient'])
73
78
  end
79
+ if hash.has_key? 'lodgingData'
80
+ raise TypeError, "value '%s' is not a Hash" % [hash['lodgingData']] unless hash['lodgingData'].is_a? Hash
81
+ @lodging_data = Ingenico::Connect::SDK::Domain::Definitions::LodgingData.new_from_hash(hash['lodgingData'])
82
+ end
74
83
  if hash.has_key? 'numberOfInstallments'
75
84
  @number_of_installments = hash['numberOfInstallments']
76
85
  end
@@ -8,6 +8,7 @@ module Ingenico::Connect::SDK
8
8
  module Domain
9
9
  module Payment
10
10
 
11
+ # @attr [String] auth_method
11
12
  # @attr [String] cardholder_name
12
13
  # @attr [String] cryptogram
13
14
  # @attr [String] dpan
@@ -17,6 +18,10 @@ module Ingenico::Connect::SDK
17
18
  # @attr [String] payment_method
18
19
  class DecryptedPaymentData < Ingenico::Connect::SDK::DataObject
19
20
 
21
+ #
22
+ # @deprecated Use decryptedPaymentData.paymentMethod instead
23
+ attr_accessor :auth_method
24
+
20
25
  attr_accessor :cardholder_name
21
26
 
22
27
  attr_accessor :cryptogram
@@ -34,6 +39,7 @@ module Ingenico::Connect::SDK
34
39
  # @return (Hash)
35
40
  def to_h
36
41
  hash = super
42
+ hash['authMethod'] = @auth_method unless @auth_method.nil?
37
43
  hash['cardholderName'] = @cardholder_name unless @cardholder_name.nil?
38
44
  hash['cryptogram'] = @cryptogram unless @cryptogram.nil?
39
45
  hash['dpan'] = @dpan unless @dpan.nil?
@@ -46,6 +52,9 @@ module Ingenico::Connect::SDK
46
52
 
47
53
  def from_hash(hash)
48
54
  super
55
+ if hash.has_key? 'authMethod'
56
+ @auth_method = hash['authMethod']
57
+ end
49
58
  if hash.has_key? 'cardholderName'
50
59
  @cardholder_name = hash['cardholderName']
51
60
  end
@@ -0,0 +1,46 @@
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
+ # @attr [String] exemption_raised
12
+ # @attr [String] exemption_rejection_reason
13
+ # @attr [String] exemption_request
14
+ class ExemptionOutput < Ingenico::Connect::SDK::DataObject
15
+
16
+ attr_accessor :exemption_raised
17
+
18
+ attr_accessor :exemption_rejection_reason
19
+
20
+ attr_accessor :exemption_request
21
+
22
+ # @return (Hash)
23
+ def to_h
24
+ hash = super
25
+ hash['exemptionRaised'] = @exemption_raised unless @exemption_raised.nil?
26
+ hash['exemptionRejectionReason'] = @exemption_rejection_reason unless @exemption_rejection_reason.nil?
27
+ hash['exemptionRequest'] = @exemption_request unless @exemption_request.nil?
28
+ hash
29
+ end
30
+
31
+ def from_hash(hash)
32
+ super
33
+ if hash.has_key? 'exemptionRaised'
34
+ @exemption_raised = hash['exemptionRaised']
35
+ end
36
+ if hash.has_key? 'exemptionRejectionReason'
37
+ @exemption_rejection_reason = hash['exemptionRejectionReason']
38
+ end
39
+ if hash.has_key? 'exemptionRequest'
40
+ @exemption_request = hash['exemptionRequest']
41
+ end
42
+ end
43
+ end
44
+ end
45
+ end
46
+ end
@@ -0,0 +1,62 @@
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/redirection_data'
7
+
8
+ module Ingenico::Connect::SDK
9
+ module Domain
10
+ module Payment
11
+
12
+ # @attr [String] challenge_canvas_size
13
+ # @attr [String] challenge_indicator
14
+ # @attr [String] exemption_request
15
+ # @attr [Ingenico::Connect::SDK::Domain::Payment::RedirectionData] redirection_data
16
+ # @attr [true/false] skip_authentication
17
+ class GPayThreeDSecure < Ingenico::Connect::SDK::DataObject
18
+
19
+ attr_accessor :challenge_canvas_size
20
+
21
+ attr_accessor :challenge_indicator
22
+
23
+ attr_accessor :exemption_request
24
+
25
+ attr_accessor :redirection_data
26
+
27
+ attr_accessor :skip_authentication
28
+
29
+ # @return (Hash)
30
+ def to_h
31
+ hash = super
32
+ hash['challengeCanvasSize'] = @challenge_canvas_size unless @challenge_canvas_size.nil?
33
+ hash['challengeIndicator'] = @challenge_indicator unless @challenge_indicator.nil?
34
+ hash['exemptionRequest'] = @exemption_request unless @exemption_request.nil?
35
+ hash['redirectionData'] = @redirection_data.to_h unless @redirection_data.nil?
36
+ hash['skipAuthentication'] = @skip_authentication unless @skip_authentication.nil?
37
+ hash
38
+ end
39
+
40
+ def from_hash(hash)
41
+ super
42
+ if hash.has_key? 'challengeCanvasSize'
43
+ @challenge_canvas_size = hash['challengeCanvasSize']
44
+ end
45
+ if hash.has_key? 'challengeIndicator'
46
+ @challenge_indicator = hash['challengeIndicator']
47
+ end
48
+ if hash.has_key? 'exemptionRequest'
49
+ @exemption_request = hash['exemptionRequest']
50
+ end
51
+ if hash.has_key? 'redirectionData'
52
+ raise TypeError, "value '%s' is not a Hash" % [hash['redirectionData']] unless hash['redirectionData'].is_a? Hash
53
+ @redirection_data = Ingenico::Connect::SDK::Domain::Payment::RedirectionData.new_from_hash(hash['redirectionData'])
54
+ end
55
+ if hash.has_key? 'skipAuthentication'
56
+ @skip_authentication = hash['skipAuthentication']
57
+ end
58
+ end
59
+ end
60
+ end
61
+ end
62
+ end
@@ -4,24 +4,31 @@
4
4
  #
5
5
  require 'ingenico/connect/sdk/domain/definitions/abstract_payment_method_specific_input'
6
6
  require 'ingenico/connect/sdk/domain/payment/decrypted_payment_data'
7
+ require 'ingenico/connect/sdk/domain/payment/mobile_payment_product320_specific_input'
7
8
 
8
9
  module Ingenico::Connect::SDK
9
10
  module Domain
10
11
  module Payment
11
12
 
12
13
  # @attr [String] authorization_mode
14
+ # @attr [String] customer_reference
13
15
  # @attr [Ingenico::Connect::SDK::Domain::Payment::DecryptedPaymentData] decrypted_payment_data
14
16
  # @attr [String] encrypted_payment_data
17
+ # @attr [Ingenico::Connect::SDK::Domain::Payment::MobilePaymentProduct320SpecificInput] payment_product320_specific_input
15
18
  # @attr [true/false] requires_approval
16
19
  # @attr [true/false] skip_fraud_service
17
20
  class MobilePaymentMethodSpecificInput < Ingenico::Connect::SDK::Domain::Definitions::AbstractPaymentMethodSpecificInput
18
21
 
19
22
  attr_accessor :authorization_mode
20
23
 
24
+ attr_accessor :customer_reference
25
+
21
26
  attr_accessor :decrypted_payment_data
22
27
 
23
28
  attr_accessor :encrypted_payment_data
24
29
 
30
+ attr_accessor :payment_product320_specific_input
31
+
25
32
  attr_accessor :requires_approval
26
33
 
27
34
  attr_accessor :skip_fraud_service
@@ -30,8 +37,10 @@ module Ingenico::Connect::SDK
30
37
  def to_h
31
38
  hash = super
32
39
  hash['authorizationMode'] = @authorization_mode unless @authorization_mode.nil?
40
+ hash['customerReference'] = @customer_reference unless @customer_reference.nil?
33
41
  hash['decryptedPaymentData'] = @decrypted_payment_data.to_h unless @decrypted_payment_data.nil?
34
42
  hash['encryptedPaymentData'] = @encrypted_payment_data unless @encrypted_payment_data.nil?
43
+ hash['paymentProduct320SpecificInput'] = @payment_product320_specific_input.to_h unless @payment_product320_specific_input.nil?
35
44
  hash['requiresApproval'] = @requires_approval unless @requires_approval.nil?
36
45
  hash['skipFraudService'] = @skip_fraud_service unless @skip_fraud_service.nil?
37
46
  hash
@@ -42,6 +51,9 @@ module Ingenico::Connect::SDK
42
51
  if hash.has_key? 'authorizationMode'
43
52
  @authorization_mode = hash['authorizationMode']
44
53
  end
54
+ if hash.has_key? 'customerReference'
55
+ @customer_reference = hash['customerReference']
56
+ end
45
57
  if hash.has_key? 'decryptedPaymentData'
46
58
  raise TypeError, "value '%s' is not a Hash" % [hash['decryptedPaymentData']] unless hash['decryptedPaymentData'].is_a? Hash
47
59
  @decrypted_payment_data = Ingenico::Connect::SDK::Domain::Payment::DecryptedPaymentData.new_from_hash(hash['decryptedPaymentData'])
@@ -49,6 +61,10 @@ module Ingenico::Connect::SDK
49
61
  if hash.has_key? 'encryptedPaymentData'
50
62
  @encrypted_payment_data = hash['encryptedPaymentData']
51
63
  end
64
+ if hash.has_key? 'paymentProduct320SpecificInput'
65
+ raise TypeError, "value '%s' is not a Hash" % [hash['paymentProduct320SpecificInput']] unless hash['paymentProduct320SpecificInput'].is_a? Hash
66
+ @payment_product320_specific_input = Ingenico::Connect::SDK::Domain::Payment::MobilePaymentProduct320SpecificInput.new_from_hash(hash['paymentProduct320SpecificInput'])
67
+ end
52
68
  if hash.has_key? 'requiresApproval'
53
69
  @requires_approval = hash['requiresApproval']
54
70
  end
@@ -0,0 +1,34 @@
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/g_pay_three_d_secure'
7
+
8
+ module Ingenico::Connect::SDK
9
+ module Domain
10
+ module Payment
11
+
12
+ # @attr [Ingenico::Connect::SDK::Domain::Payment::GPayThreeDSecure] three_d_secure
13
+ class MobilePaymentProduct320SpecificInput < Ingenico::Connect::SDK::DataObject
14
+
15
+ attr_accessor :three_d_secure
16
+
17
+ # @return (Hash)
18
+ def to_h
19
+ hash = super
20
+ hash['threeDSecure'] = @three_d_secure.to_h unless @three_d_secure.nil?
21
+ hash
22
+ end
23
+
24
+ def from_hash(hash)
25
+ super
26
+ if hash.has_key? 'threeDSecure'
27
+ raise TypeError, "value '%s' is not a Hash" % [hash['threeDSecure']] unless hash['threeDSecure'].is_a? Hash
28
+ @three_d_secure = Ingenico::Connect::SDK::Domain::Payment::GPayThreeDSecure.new_from_hash(hash['threeDSecure'])
29
+ end
30
+ end
31
+ end
32
+ end
33
+ end
34
+ end
@@ -4,6 +4,7 @@
4
4
  #
5
5
  require 'ingenico/connect/sdk/data_object'
6
6
  require 'ingenico/connect/sdk/domain/definitions/amount_of_money'
7
+ require 'ingenico/connect/sdk/domain/payment/exemption_output'
7
8
  require 'ingenico/connect/sdk/domain/payment/sdk_data_output'
8
9
  require 'ingenico/connect/sdk/domain/payment/three_d_secure_data'
9
10
 
@@ -17,6 +18,7 @@ module Ingenico::Connect::SDK
17
18
  # @attr [String] cavv
18
19
  # @attr [String] directory_server_transaction_id
19
20
  # @attr [String] eci
21
+ # @attr [Ingenico::Connect::SDK::Domain::Payment::ExemptionOutput] exemption_output
20
22
  # @attr [Integer] scheme_risk_score
21
23
  # @attr [Ingenico::Connect::SDK::Domain::Payment::SdkDataOutput] sdk_data
22
24
  # @attr [Ingenico::Connect::SDK::Domain::Payment::ThreeDSecureData] three_d_secure_data
@@ -37,6 +39,8 @@ module Ingenico::Connect::SDK
37
39
 
38
40
  attr_accessor :eci
39
41
 
42
+ attr_accessor :exemption_output
43
+
40
44
  attr_accessor :scheme_risk_score
41
45
 
42
46
  attr_accessor :sdk_data
@@ -58,6 +62,7 @@ module Ingenico::Connect::SDK
58
62
  hash['cavv'] = @cavv unless @cavv.nil?
59
63
  hash['directoryServerTransactionId'] = @directory_server_transaction_id unless @directory_server_transaction_id.nil?
60
64
  hash['eci'] = @eci unless @eci.nil?
65
+ hash['exemptionOutput'] = @exemption_output.to_h unless @exemption_output.nil?
61
66
  hash['schemeRiskScore'] = @scheme_risk_score unless @scheme_risk_score.nil?
62
67
  hash['sdkData'] = @sdk_data.to_h unless @sdk_data.nil?
63
68
  hash['threeDSecureData'] = @three_d_secure_data.to_h unless @three_d_secure_data.nil?
@@ -88,6 +93,10 @@ module Ingenico::Connect::SDK
88
93
  if hash.has_key? 'eci'
89
94
  @eci = hash['eci']
90
95
  end
96
+ if hash.has_key? 'exemptionOutput'
97
+ raise TypeError, "value '%s' is not a Hash" % [hash['exemptionOutput']] unless hash['exemptionOutput'].is_a? Hash
98
+ @exemption_output = Ingenico::Connect::SDK::Domain::Payment::ExemptionOutput.new_from_hash(hash['exemptionOutput'])
99
+ end
91
100
  if hash.has_key? 'schemeRiskScore'
92
101
  @scheme_risk_score = hash['schemeRiskScore']
93
102
  end
@@ -16,6 +16,7 @@ module Ingenico::Connect::SDK
16
16
  module Product
17
17
 
18
18
  # @attr [Array<Ingenico::Connect::SDK::Domain::Product::AccountOnFile>] accounts_on_file
19
+ # @attr [String] acquirer_country
19
20
  # @attr [true/false] allows_installments
20
21
  # @attr [true/false] allows_recurring
21
22
  # @attr [true/false] allows_tokenization
@@ -41,6 +42,8 @@ module Ingenico::Connect::SDK
41
42
 
42
43
  attr_accessor :accounts_on_file
43
44
 
45
+ attr_accessor :acquirer_country
46
+
44
47
  attr_accessor :allows_installments
45
48
 
46
49
  attr_accessor :allows_recurring
@@ -87,6 +90,7 @@ module Ingenico::Connect::SDK
87
90
  def to_h
88
91
  hash = super
89
92
  hash['accountsOnFile'] = @accounts_on_file.collect{|val| val.to_h} unless @accounts_on_file.nil?
93
+ hash['acquirerCountry'] = @acquirer_country unless @acquirer_country.nil?
90
94
  hash['allowsInstallments'] = @allows_installments unless @allows_installments.nil?
91
95
  hash['allowsRecurring'] = @allows_recurring unless @allows_recurring.nil?
92
96
  hash['allowsTokenization'] = @allows_tokenization unless @allows_tokenization.nil?
@@ -120,6 +124,9 @@ module Ingenico::Connect::SDK
120
124
  @accounts_on_file << Ingenico::Connect::SDK::Domain::Product::AccountOnFile.new_from_hash(e)
121
125
  end
122
126
  end
127
+ if hash.has_key? 'acquirerCountry'
128
+ @acquirer_country = hash['acquirerCountry']
129
+ end
123
130
  if hash.has_key? 'allowsInstallments'
124
131
  @allows_installments = hash['allowsInstallments']
125
132
  end
@@ -7,7 +7,7 @@ module Ingenico::Connect::SDK
7
7
  #
8
8
  # @attr_reader [Array<Ingenico::Connect::SDK::RequestHeader>] meta_data_headers List of headers that should be used in all requests.
9
9
  class MetaDataProvider
10
- @@SDK_VERSION = '2.14.0'
10
+ @@SDK_VERSION = '2.18.1'
11
11
  @@SERVER_META_INFO_HEADER = 'X-GCS-ServerMetaInfo'
12
12
  @@PROHIBITED_HEADERS = [@@SERVER_META_INFO_HEADER, 'X-GCS-Idempotence-Key',
13
13
  'Date', 'Content-Type', 'Authorization'].sort!.freeze
@@ -2,6 +2,7 @@ require 'spec_helper'
2
2
  require 'integration_setup'
3
3
  require 'webmock/rspec'
4
4
  require 'ingenico/connect/sdk/merchant/products/directory_params'
5
+ require 'ingenico/connect/sdk/merchant/products/find_products_params'
5
6
 
6
7
  describe 'PaymentProducts' do
7
8
 
@@ -10,6 +11,18 @@ describe 'PaymentProducts' do
10
11
 
11
12
  it 'can be accessed' do
12
13
 
14
+ params = Ingenico::Connect::SDK::Merchant::Products::FindProductsParams.new
15
+ params.country_code = 'NL'
16
+ params.currency_code = 'EUR'
17
+
18
+ Integration.init_client(false) do |client|
19
+ response = client.merchant(Integration::MERCHANT_ID).products.find(params)
20
+ expect(response.payment_products.length).to be > 0
21
+ end
22
+ end
23
+
24
+ it 'has directories that can be accessed' do
25
+
13
26
  params = Ingenico::Connect::SDK::Merchant::Products::DirectoryParams.new
14
27
  params.country_code = 'NL'
15
28
  params.currency_code = 'EUR'
@@ -23,7 +23,7 @@ describe 'token' do
23
23
  card_without_ccv.cardholder_name = 'Jan'
24
24
  card_without_ccv.issue_number = '12'
25
25
  card_without_ccv.card_number = '4567350000427977'
26
- card_without_ccv.expiry_date = '0820'
26
+ card_without_ccv.expiry_date = '1225'
27
27
  card_data = Ingenico::Connect::SDK::Domain::Token::TokenCardData.new
28
28
  card_data.card_without_cvv = card_without_ccv
29
29
  card = Ingenico::Connect::SDK::Domain::Token::TokenCard.new
metadata CHANGED
@@ -1,14 +1,14 @@
1
1
  --- !ruby/object:Gem::Specification
2
2
  name: connect-sdk-ruby
3
3
  version: !ruby/object:Gem::Version
4
- version: 2.14.0
4
+ version: 2.18.1
5
5
  platform: ruby
6
6
  authors:
7
7
  - Ingenico ePayments
8
8
  autorequire:
9
9
  bindir: bin
10
10
  cert_chain: []
11
- date: 2020-08-11 00:00:00.000000000 Z
11
+ date: 2021-01-22 00:00:00.000000000 Z
12
12
  dependencies:
13
13
  - !ruby/object:Gem::Dependency
14
14
  name: httpclient
@@ -246,6 +246,9 @@ files:
246
246
  - lib/ingenico/connect/sdk/domain/definitions/fraugster_results.rb
247
247
  - lib/ingenico/connect/sdk/domain/definitions/in_auth.rb
248
248
  - lib/ingenico/connect/sdk/domain/definitions/key_value_pair.rb
249
+ - lib/ingenico/connect/sdk/domain/definitions/lodging_charge.rb
250
+ - lib/ingenico/connect/sdk/domain/definitions/lodging_data.rb
251
+ - lib/ingenico/connect/sdk/domain/definitions/lodging_room.rb
249
252
  - lib/ingenico/connect/sdk/domain/definitions/order_status_output.rb
250
253
  - lib/ingenico/connect/sdk/domain/definitions/payment_product_filter.rb
251
254
  - lib/ingenico/connect/sdk/domain/definitions/personal_name_base.rb
@@ -359,8 +362,10 @@ files:
359
362
  - lib/ingenico/connect/sdk/domain/payment/e_invoice_payment_method_specific_output.rb
360
363
  - lib/ingenico/connect/sdk/domain/payment/e_invoice_payment_product9000_specific_input.rb
361
364
  - lib/ingenico/connect/sdk/domain/payment/e_invoice_payment_product9000_specific_output.rb
365
+ - lib/ingenico/connect/sdk/domain/payment/exemption_output.rb
362
366
  - lib/ingenico/connect/sdk/domain/payment/external_cardholder_authentication_data.rb
363
367
  - lib/ingenico/connect/sdk/domain/payment/find_payments_response.rb
368
+ - lib/ingenico/connect/sdk/domain/payment/g_pay_three_d_secure.rb
364
369
  - lib/ingenico/connect/sdk/domain/payment/gift_card_purchase.rb
365
370
  - lib/ingenico/connect/sdk/domain/payment/hosted_checkout_specific_output.rb
366
371
  - lib/ingenico/connect/sdk/domain/payment/installments.rb
@@ -376,6 +381,7 @@ files:
376
381
  - lib/ingenico/connect/sdk/domain/payment/mobile_payment_data.rb
377
382
  - lib/ingenico/connect/sdk/domain/payment/mobile_payment_method_specific_input.rb
378
383
  - lib/ingenico/connect/sdk/domain/payment/mobile_payment_method_specific_output.rb
384
+ - lib/ingenico/connect/sdk/domain/payment/mobile_payment_product320_specific_input.rb
379
385
  - lib/ingenico/connect/sdk/domain/payment/mobile_three_d_secure_challenge_parameters.rb
380
386
  - lib/ingenico/connect/sdk/domain/payment/non_sepa_direct_debit_payment_method_specific_input.rb
381
387
  - lib/ingenico/connect/sdk/domain/payment/non_sepa_direct_debit_payment_method_specific_output.rb