connect-sdk-ruby 2.17.0 → 2.18.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.
- checksums.yaml +4 -4
- data/connect-sdk-ruby.gemspec +1 -1
- data/lib/ingenico/connect/sdk/domain/definitions/additional_order_input_airline_data.rb +9 -0
- data/lib/ingenico/connect/sdk/domain/definitions/lodging_charge.rb +46 -0
- data/lib/ingenico/connect/sdk/domain/definitions/lodging_data.rb +147 -0
- data/lib/ingenico/connect/sdk/domain/definitions/lodging_room.rb +88 -0
- data/lib/ingenico/connect/sdk/domain/payment/additional_order_input.rb +9 -0
- data/lib/ingenico/connect/sdk/domain/payment/exemption_output.rb +46 -0
- data/lib/ingenico/connect/sdk/domain/payment/three_d_secure_results.rb +9 -0
- data/lib/ingenico/connect/sdk/meta_data_provider.rb +1 -1
- data/spec/integration/payment_products_spec.rb +13 -0
- metadata +6 -2
checksums.yaml
CHANGED
@@ -1,7 +1,7 @@
|
|
1
1
|
---
|
2
2
|
SHA256:
|
3
|
-
metadata.gz:
|
4
|
-
data.tar.gz:
|
3
|
+
metadata.gz: 311b6d715453f16ea35dd6bff6e30759f83c09dc3c438abe8151c89fa4498906
|
4
|
+
data.tar.gz: feb2ade22a322ba38a8174fd40f1d647ca50c93b6d3efdacd4663e9b8693277b
|
5
5
|
SHA512:
|
6
|
-
metadata.gz:
|
7
|
-
data.tar.gz:
|
6
|
+
metadata.gz: 33c4fe24494f2e0ff056fd560aad36ce074487ac812207092fb68ef03ef512916e35ad52ea91762a3f2c64dbaa79ec053452044733c423f13ee159eeef17ab09
|
7
|
+
data.tar.gz: d98fa9169a54661d6adefed1b2a9efff4f8b32372e45c519052ab62d49657a88582228e46445278a2c10f3f6905508f9fb46e3c22eedd92e6498df0885464645
|
data/connect-sdk-ruby.gemspec
CHANGED
@@ -1,6 +1,6 @@
|
|
1
1
|
Gem::Specification.new do |spec|
|
2
2
|
spec.name = 'connect-sdk-ruby'
|
3
|
-
spec.version = '2.
|
3
|
+
spec.version = '2.18.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}
|
@@ -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
|
@@ -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
|
@@ -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
|
@@ -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
|
@@ -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.
|
10
|
+
@@SDK_VERSION = '2.18.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.
|
4
|
+
version: 2.18.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-
|
11
|
+
date: 2020-12-11 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,6 +362,7 @@ 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
|
364
368
|
- lib/ingenico/connect/sdk/domain/payment/g_pay_three_d_secure.rb
|