connect-sdk-ruby 2.16.0 → 2.20.0

Sign up to get free protection for your applications and to get access to all the features.
Files changed (26) hide show
  1. checksums.yaml +4 -4
  2. data/connect-sdk-ruby.gemspec +1 -1
  3. data/examples/merchant/payments/complete_payment_example.rb +1 -1
  4. data/examples/merchant/payments/create_payment_example.rb +1 -1
  5. data/examples/merchant/riskassessments/risk_assessment_cards_example.rb +1 -1
  6. data/examples/merchant/tokens/update_token_example.rb +1 -1
  7. data/lib/ingenico/connect/sdk/domain/definitions/additional_order_input_airline_data.rb +9 -0
  8. data/lib/ingenico/connect/sdk/domain/definitions/lodging_charge.rb +46 -0
  9. data/lib/ingenico/connect/sdk/domain/definitions/lodging_data.rb +147 -0
  10. data/lib/ingenico/connect/sdk/domain/definitions/lodging_room.rb +88 -0
  11. data/lib/ingenico/connect/sdk/domain/hostedcheckout/mobile_payment_method_specific_input_hosted_checkout.rb +28 -0
  12. data/lib/ingenico/connect/sdk/domain/hostedcheckout/mobile_payment_product320_specific_input_hosted_checkout.rb +9 -0
  13. data/lib/ingenico/connect/sdk/domain/payment/additional_order_input.rb +9 -0
  14. data/lib/ingenico/connect/sdk/domain/payment/decrypted_payment_data.rb +2 -0
  15. data/lib/ingenico/connect/sdk/domain/payment/exemption_output.rb +46 -0
  16. data/lib/ingenico/connect/sdk/domain/payment/g_pay_three_d_secure.rb +62 -0
  17. data/lib/ingenico/connect/sdk/domain/payment/mobile_payment_method_specific_input.rb +16 -0
  18. data/lib/ingenico/connect/sdk/domain/payment/mobile_payment_product320_specific_input.rb +34 -0
  19. data/lib/ingenico/connect/sdk/domain/payment/non_sepa_direct_debit_payment_method_specific_input.rb +7 -0
  20. data/lib/ingenico/connect/sdk/domain/payment/redirect_payment_method_specific_output.rb +16 -0
  21. data/lib/ingenico/connect/sdk/domain/payment/sepa_direct_debit_payment_method_specific_input.rb +7 -0
  22. data/lib/ingenico/connect/sdk/domain/payment/three_d_secure_results.rb +9 -0
  23. data/lib/ingenico/connect/sdk/domain/services/payment_context.rb +7 -0
  24. data/lib/ingenico/connect/sdk/meta_data_provider.rb +1 -1
  25. data/spec/integration/payment_products_spec.rb +13 -0
  26. metadata +8 -2
checksums.yaml CHANGED
@@ -1,7 +1,7 @@
1
1
  ---
2
2
  SHA256:
3
- metadata.gz: 49aa337b71659c35c43afbadf6898693cc92890732bd349675cb00f39d884d70
4
- data.tar.gz: dd992b343c0adf49af50ff85a45583f748f8fcfaf50b8b39adc20e96f7286e6d
3
+ metadata.gz: a2a34ca95673080d6be07e44c049abfc08e0436f8f8df370676ba08c75157008
4
+ data.tar.gz: 8257aea5a5c2935f1fdd07f092baa0383e994269d6a21afba1d8fe34ec93faa7
5
5
  SHA512:
6
- metadata.gz: ec45a6784bd759e87ca97544b7bc51128e19aef7b915356b8d30b0284b6702fbeaff6755a76ba258c1d136cc59e6ce65f9542e91c2cd0ce1e4747a9353b205f7
7
- data.tar.gz: '08f94115dc838753a5bae689baa4c68f914779b8f195ab909b4b03f465a9e6297959fa115bc0e30c90902809334d285753988019ec9cb13b01c068219df03bbe'
6
+ metadata.gz: 69f0cf8d8a1278a3eaab0421d3d2244562339582790451a5ea93e70cad66e3a45902a468fb14220353844b81df5b79ed6cc53f0d9bf7bf98c424055e4d739163
7
+ data.tar.gz: f0d158fdaa6d8d73a9725500bce1ed3248c86506ea62109e9538250acc1d6439207680fc45e36e0264d27a3049f77f53658036718482bb3a71d30d7e409b9c14
@@ -1,6 +1,6 @@
1
1
  Gem::Specification.new do |spec|
2
2
  spec.name = 'connect-sdk-ruby'
3
- spec.version = '2.16.0'
3
+ spec.version = '2.20.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}
@@ -15,7 +15,7 @@ def example
15
15
  card = Definitions::CardWithoutCvv.new
16
16
  card.card_number = '67030000000000003'
17
17
  card.cardholder_name = 'Wile E. Coyote'
18
- card.expiry_date = '1220'
18
+ card.expiry_date = '1299'
19
19
 
20
20
  card_payment_method_specific_input = Payment::CompletePaymentCardPaymentMethodSpecificInput.new
21
21
  card_payment_method_specific_input.card = card
@@ -37,7 +37,7 @@ def example
37
37
  card.card_number = '4567350000427977'
38
38
  card.cardholder_name = 'Wile E. Coyote'
39
39
  card.cvv = '123'
40
- card.expiry_date = '1220'
40
+ card.expiry_date = '1299'
41
41
 
42
42
  authentication_amount = Definitions::AmountOfMoney.new
43
43
  authentication_amount.amount = 2980
@@ -21,7 +21,7 @@ def example
21
21
  card = Definitions::Card.new
22
22
  card.card_number = '4567350000427977'
23
23
  card.cvv = '123'
24
- card.expiry_date = '0820'
24
+ card.expiry_date = '1299'
25
25
 
26
26
  flight_legs = []
27
27
 
@@ -47,7 +47,7 @@ def example
47
47
  card_without_cvv = Definitions::CardWithoutCvv.new
48
48
  card_without_cvv.card_number = '4567350000427977'
49
49
  card_without_cvv.cardholder_name = 'Wile E. Coyote'
50
- card_without_cvv.expiry_date = '0820'
50
+ card_without_cvv.expiry_date = '1299'
51
51
  card_without_cvv.issue_number = '12'
52
52
 
53
53
  data = Token::TokenCardData.new
@@ -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
@@ -18,6 +18,8 @@ module Ingenico::Connect::SDK
18
18
  # @attr [String] payment_method
19
19
  class DecryptedPaymentData < Ingenico::Connect::SDK::DataObject
20
20
 
21
+ #
22
+ # @deprecated Use decryptedPaymentData.paymentMethod instead
21
23
  attr_accessor :auth_method
22
24
 
23
25
  attr_accessor :cardholder_name
@@ -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
@@ -16,6 +16,7 @@ module Ingenico::Connect::SDK
16
16
  # @attr [Ingenico::Connect::SDK::Domain::Payment::NonSepaDirectDebitPaymentProduct705SpecificInput] payment_product705_specific_input
17
17
  # @attr [Ingenico::Connect::SDK::Domain::Payment::NonSepaDirectDebitPaymentProduct730SpecificInput] payment_product730_specific_input
18
18
  # @attr [String] recurring_payment_sequence_indicator
19
+ # @attr [true/false] requires_approval
19
20
  # @attr [String] token
20
21
  # @attr [true/false] tokenize
21
22
  class NonSepaDirectDebitPaymentMethodSpecificInput < Ingenico::Connect::SDK::Domain::Definitions::AbstractPaymentMethodSpecificInput
@@ -32,6 +33,8 @@ module Ingenico::Connect::SDK
32
33
 
33
34
  attr_accessor :recurring_payment_sequence_indicator
34
35
 
36
+ attr_accessor :requires_approval
37
+
35
38
  attr_accessor :token
36
39
 
37
40
  attr_accessor :tokenize
@@ -45,6 +48,7 @@ module Ingenico::Connect::SDK
45
48
  hash['paymentProduct705SpecificInput'] = @payment_product705_specific_input.to_h unless @payment_product705_specific_input.nil?
46
49
  hash['paymentProduct730SpecificInput'] = @payment_product730_specific_input.to_h unless @payment_product730_specific_input.nil?
47
50
  hash['recurringPaymentSequenceIndicator'] = @recurring_payment_sequence_indicator unless @recurring_payment_sequence_indicator.nil?
51
+ hash['requiresApproval'] = @requires_approval unless @requires_approval.nil?
48
52
  hash['token'] = @token unless @token.nil?
49
53
  hash['tokenize'] = @tokenize unless @tokenize.nil?
50
54
  hash
@@ -72,6 +76,9 @@ module Ingenico::Connect::SDK
72
76
  if hash.has_key? 'recurringPaymentSequenceIndicator'
73
77
  @recurring_payment_sequence_indicator = hash['recurringPaymentSequenceIndicator']
74
78
  end
79
+ if hash.has_key? 'requiresApproval'
80
+ @requires_approval = hash['requiresApproval']
81
+ end
75
82
  if hash.has_key? 'token'
76
83
  @token = hash['token']
77
84
  end
@@ -2,6 +2,7 @@
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/definitions/bank_account_bban'
5
6
  require 'ingenico/connect/sdk/domain/definitions/bank_account_iban'
6
7
  require 'ingenico/connect/sdk/domain/definitions/fraud_results'
7
8
  require 'ingenico/connect/sdk/domain/payment/abstract_payment_method_specific_output'
@@ -14,7 +15,9 @@ module Ingenico::Connect::SDK
14
15
  module Domain
15
16
  module Payment
16
17
 
18
+ # @attr [Ingenico::Connect::SDK::Domain::Definitions::BankAccountBban] bank_account_bban
17
19
  # @attr [Ingenico::Connect::SDK::Domain::Definitions::BankAccountIban] bank_account_iban
20
+ # @attr [String] bic
18
21
  # @attr [Ingenico::Connect::SDK::Domain::Definitions::FraudResults] fraud_results
19
22
  # @attr [Ingenico::Connect::SDK::Domain::Payment::PaymentProduct3201SpecificOutput] payment_product3201_specific_output
20
23
  # @attr [Ingenico::Connect::SDK::Domain::Payment::PaymentProduct806SpecificOutput] payment_product806_specific_output
@@ -23,8 +26,12 @@ module Ingenico::Connect::SDK
23
26
  # @attr [String] token
24
27
  class RedirectPaymentMethodSpecificOutput < Ingenico::Connect::SDK::Domain::Payment::AbstractPaymentMethodSpecificOutput
25
28
 
29
+ attr_accessor :bank_account_bban
30
+
26
31
  attr_accessor :bank_account_iban
27
32
 
33
+ attr_accessor :bic
34
+
28
35
  attr_accessor :fraud_results
29
36
 
30
37
  attr_accessor :payment_product3201_specific_output
@@ -40,7 +47,9 @@ module Ingenico::Connect::SDK
40
47
  # @return (Hash)
41
48
  def to_h
42
49
  hash = super
50
+ hash['bankAccountBban'] = @bank_account_bban.to_h unless @bank_account_bban.nil?
43
51
  hash['bankAccountIban'] = @bank_account_iban.to_h unless @bank_account_iban.nil?
52
+ hash['bic'] = @bic unless @bic.nil?
44
53
  hash['fraudResults'] = @fraud_results.to_h unless @fraud_results.nil?
45
54
  hash['paymentProduct3201SpecificOutput'] = @payment_product3201_specific_output.to_h unless @payment_product3201_specific_output.nil?
46
55
  hash['paymentProduct806SpecificOutput'] = @payment_product806_specific_output.to_h unless @payment_product806_specific_output.nil?
@@ -52,10 +61,17 @@ module Ingenico::Connect::SDK
52
61
 
53
62
  def from_hash(hash)
54
63
  super
64
+ if hash.has_key? 'bankAccountBban'
65
+ raise TypeError, "value '%s' is not a Hash" % [hash['bankAccountBban']] unless hash['bankAccountBban'].is_a? Hash
66
+ @bank_account_bban = Ingenico::Connect::SDK::Domain::Definitions::BankAccountBban.new_from_hash(hash['bankAccountBban'])
67
+ end
55
68
  if hash.has_key? 'bankAccountIban'
56
69
  raise TypeError, "value '%s' is not a Hash" % [hash['bankAccountIban']] unless hash['bankAccountIban'].is_a? Hash
57
70
  @bank_account_iban = Ingenico::Connect::SDK::Domain::Definitions::BankAccountIban.new_from_hash(hash['bankAccountIban'])
58
71
  end
72
+ if hash.has_key? 'bic'
73
+ @bic = hash['bic']
74
+ end
59
75
  if hash.has_key? 'fraudResults'
60
76
  raise TypeError, "value '%s' is not a Hash" % [hash['fraudResults']] unless hash['fraudResults'].is_a? Hash
61
77
  @fraud_results = Ingenico::Connect::SDK::Domain::Definitions::FraudResults.new_from_hash(hash['fraudResults'])
@@ -14,6 +14,7 @@ module Ingenico::Connect::SDK
14
14
  # @attr [true/false] is_recurring
15
15
  # @attr [Ingenico::Connect::SDK::Domain::Payment::SepaDirectDebitPaymentProduct771SpecificInput] payment_product771_specific_input
16
16
  # @attr [String] recurring_payment_sequence_indicator
17
+ # @attr [true/false] requires_approval
17
18
  # @attr [String] token
18
19
  # @attr [true/false] tokenize
19
20
  class SepaDirectDebitPaymentMethodSpecificInput < Ingenico::Connect::SDK::Domain::Payment::AbstractSepaDirectDebitPaymentMethodSpecificInput
@@ -28,6 +29,8 @@ module Ingenico::Connect::SDK
28
29
 
29
30
  attr_accessor :recurring_payment_sequence_indicator
30
31
 
32
+ attr_accessor :requires_approval
33
+
31
34
  attr_accessor :token
32
35
 
33
36
  attr_accessor :tokenize
@@ -40,6 +43,7 @@ module Ingenico::Connect::SDK
40
43
  hash['isRecurring'] = @is_recurring unless @is_recurring.nil?
41
44
  hash['paymentProduct771SpecificInput'] = @payment_product771_specific_input.to_h unless @payment_product771_specific_input.nil?
42
45
  hash['recurringPaymentSequenceIndicator'] = @recurring_payment_sequence_indicator unless @recurring_payment_sequence_indicator.nil?
46
+ hash['requiresApproval'] = @requires_approval unless @requires_approval.nil?
43
47
  hash['token'] = @token unless @token.nil?
44
48
  hash['tokenize'] = @tokenize unless @tokenize.nil?
45
49
  hash
@@ -63,6 +67,9 @@ module Ingenico::Connect::SDK
63
67
  if hash.has_key? 'recurringPaymentSequenceIndicator'
64
68
  @recurring_payment_sequence_indicator = hash['recurringPaymentSequenceIndicator']
65
69
  end
70
+ if hash.has_key? 'requiresApproval'
71
+ @requires_approval = hash['requiresApproval']
72
+ end
66
73
  if hash.has_key? 'token'
67
74
  @token = hash['token']
68
75
  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
@@ -11,6 +11,7 @@ module Ingenico::Connect::SDK
11
11
 
12
12
  # @attr [Ingenico::Connect::SDK::Domain::Definitions::AmountOfMoney] amount_of_money
13
13
  # @attr [String] country_code
14
+ # @attr [true/false] is_installments
14
15
  # @attr [true/false] is_recurring
15
16
  class PaymentContext < Ingenico::Connect::SDK::DataObject
16
17
 
@@ -18,6 +19,8 @@ module Ingenico::Connect::SDK
18
19
 
19
20
  attr_accessor :country_code
20
21
 
22
+ attr_accessor :is_installments
23
+
21
24
  attr_accessor :is_recurring
22
25
 
23
26
  # @return (Hash)
@@ -25,6 +28,7 @@ module Ingenico::Connect::SDK
25
28
  hash = super
26
29
  hash['amountOfMoney'] = @amount_of_money.to_h unless @amount_of_money.nil?
27
30
  hash['countryCode'] = @country_code unless @country_code.nil?
31
+ hash['isInstallments'] = @is_installments unless @is_installments.nil?
28
32
  hash['isRecurring'] = @is_recurring unless @is_recurring.nil?
29
33
  hash
30
34
  end
@@ -38,6 +42,9 @@ module Ingenico::Connect::SDK
38
42
  if hash.has_key? 'countryCode'
39
43
  @country_code = hash['countryCode']
40
44
  end
45
+ if hash.has_key? 'isInstallments'
46
+ @is_installments = hash['isInstallments']
47
+ end
41
48
  if hash.has_key? 'isRecurring'
42
49
  @is_recurring = hash['isRecurring']
43
50
  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.16.0'
10
+ @@SDK_VERSION = '2.20.0'
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'
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.16.0
4
+ version: 2.20.0
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-09-18 00:00:00.000000000 Z
11
+ date: 2021-04-09 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