connect-sdk-ruby 2.41.0 → 2.43.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 CHANGED
@@ -1,7 +1,7 @@
1
1
  ---
2
2
  SHA256:
3
- metadata.gz: 83d223cc9f1bfaa4816a663a2d956acb31bc824040555feb2c52b302141aa4b9
4
- data.tar.gz: 8cc332fa3ec1f5aeadef7b5a8974112816849346ed067cc84e39f4dc1ba067e8
3
+ metadata.gz: 0ccbd5c5e5a1bfc862f437b25be46a8d4b6042237206a8800a05d86225962e4b
4
+ data.tar.gz: 733cde41347c66fb23ab5e554bdc188d31a015a2f997fb0ea568fa8275414182
5
5
  SHA512:
6
- metadata.gz: 8577eb5cc025a722d4f098d9de0d6b754daf0da769ecb300001954c610bcd0433afecfcb9445b1d1c38ff54521fd62bb11d4b1aa30c04d857131a5b80eb95065
7
- data.tar.gz: 552e9c5ac59e4d209dffce4da7b21b1ba8a9c2ced074ac1eff0dc069bcbd2894ca45e01991dd99b0928d6080faa0a1a153fb91d4d92799feef8b98156423a2c4
6
+ metadata.gz: 41574e2990ddab8b6f7396847a9257b2468de4807d1f404f2cd63414a036572b16eca6621eedd558ca06f107ac34f5ac3d173641822656485fa95da89e1f3f74
7
+ data.tar.gz: b8c102463d9ae5b17eabedf3b40399cc640a8dd8e41571d4401ed1b2ffaa0121ce717668c1f2a4cbebd3882c265b66d9faee7a77eec336d68c43b743640222d7
@@ -1,6 +1,6 @@
1
1
  Gem::Specification.new do |spec|
2
2
  spec.name = 'connect-sdk-ruby'
3
- spec.version = '2.41.0'
3
+ spec.version = '2.43.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}
@@ -0,0 +1,36 @@
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/factory'
6
+ require 'ingenico/connect/sdk/domain/definitions/amount_of_money'
7
+ require 'ingenico/connect/sdk/domain/installments/get_installment_request'
8
+
9
+ Definitions = Ingenico::Connect::SDK::Domain::Definitions
10
+ Installments = Ingenico::Connect::SDK::Domain::Installments
11
+
12
+ def example
13
+ get_client do |client|
14
+ amount_of_money = Definitions::AmountOfMoney.new
15
+ amount_of_money.amount = 123
16
+ amount_of_money.currency_code = 'EUR'
17
+
18
+ body = Installments::GetInstallmentRequest.new
19
+ body.amount_of_money = amount_of_money
20
+ body.bin = '123455'
21
+ body.country_code = 'NL'
22
+ body.payment_product_id = 123
23
+
24
+ response = client.merchant('merchantId').installments.get_installments_info(body)
25
+ end
26
+ end
27
+
28
+ def get_client
29
+ api_key_id = ENV.fetch('connect.api.apiKeyId', 'someKey')
30
+ secret_api_key = ENV.fetch('connect.api.secretApiKey', 'someSecret')
31
+ configuration_file_name = File.join(__FILE__, '..', '..', 'example_configuration.yml')
32
+ yield client = Ingenico::Connect::SDK::Factory.create_client_from_file(configuration_file_name, api_key_id, secret_api_key)
33
+ ensure
34
+ # Free networking resources when done
35
+ client.close unless client.nil?
36
+ end
@@ -0,0 +1,39 @@
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 Hostedcheckout
10
+
11
+ # @attr [String] interval
12
+ # @attr [Integer] interval_frequency
13
+ class Frequency < Ingenico::Connect::SDK::DataObject
14
+
15
+ attr_accessor :interval
16
+
17
+ attr_accessor :interval_frequency
18
+
19
+ # @return (Hash)
20
+ def to_h
21
+ hash = super
22
+ hash['interval'] = @interval unless @interval.nil?
23
+ hash['intervalFrequency'] = @interval_frequency unless @interval_frequency.nil?
24
+ hash
25
+ end
26
+
27
+ def from_hash(hash)
28
+ super
29
+ if hash.has_key? 'interval'
30
+ @interval = hash['interval']
31
+ end
32
+ if hash.has_key? 'intervalFrequency'
33
+ @interval_frequency = hash['intervalFrequency']
34
+ end
35
+ end
36
+ end
37
+ end
38
+ end
39
+ end
@@ -4,6 +4,7 @@
4
4
  #
5
5
  require 'ingenico/connect/sdk/data_object'
6
6
  require 'ingenico/connect/sdk/domain/hostedcheckout/payment_product_filters_hosted_checkout'
7
+ require 'ingenico/connect/sdk/domain/hostedcheckout/recurring_payments_data'
7
8
 
8
9
  module Ingenico::Connect::SDK
9
10
  module Domain
@@ -12,6 +13,7 @@ module Ingenico::Connect::SDK
12
13
  # @attr [true/false] is_recurring
13
14
  # @attr [String] locale
14
15
  # @attr [Ingenico::Connect::SDK::Domain::Hostedcheckout::PaymentProductFiltersHostedCheckout] payment_product_filters
16
+ # @attr [Ingenico::Connect::SDK::Domain::Hostedcheckout::RecurringPaymentsData] recurring_payments_data
15
17
  # @attr [true/false] return_cancel_state
16
18
  # @attr [String] return_url
17
19
  # @attr [true/false] show_result_page
@@ -26,6 +28,8 @@ module Ingenico::Connect::SDK
26
28
 
27
29
  attr_accessor :payment_product_filters
28
30
 
31
+ attr_accessor :recurring_payments_data
32
+
29
33
  attr_accessor :return_cancel_state
30
34
 
31
35
  attr_accessor :return_url
@@ -44,6 +48,7 @@ module Ingenico::Connect::SDK
44
48
  hash['isRecurring'] = @is_recurring unless @is_recurring.nil?
45
49
  hash['locale'] = @locale unless @locale.nil?
46
50
  hash['paymentProductFilters'] = @payment_product_filters.to_h unless @payment_product_filters.nil?
51
+ hash['recurringPaymentsData'] = @recurring_payments_data.to_h unless @recurring_payments_data.nil?
47
52
  hash['returnCancelState'] = @return_cancel_state unless @return_cancel_state.nil?
48
53
  hash['returnUrl'] = @return_url unless @return_url.nil?
49
54
  hash['showResultPage'] = @show_result_page unless @show_result_page.nil?
@@ -65,6 +70,10 @@ module Ingenico::Connect::SDK
65
70
  raise TypeError, "value '%s' is not a Hash" % [hash['paymentProductFilters']] unless hash['paymentProductFilters'].is_a? Hash
66
71
  @payment_product_filters = Ingenico::Connect::SDK::Domain::Hostedcheckout::PaymentProductFiltersHostedCheckout.new_from_hash(hash['paymentProductFilters'])
67
72
  end
73
+ if hash.has_key? 'recurringPaymentsData'
74
+ raise TypeError, "value '%s' is not a Hash" % [hash['recurringPaymentsData']] unless hash['recurringPaymentsData'].is_a? Hash
75
+ @recurring_payments_data = Ingenico::Connect::SDK::Domain::Hostedcheckout::RecurringPaymentsData.new_from_hash(hash['recurringPaymentsData'])
76
+ end
68
77
  if hash.has_key? 'returnCancelState'
69
78
  @return_cancel_state = hash['returnCancelState']
70
79
  end
@@ -0,0 +1,43 @@
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/hostedcheckout/frequency'
7
+ require 'ingenico/connect/sdk/domain/hostedcheckout/trial_information'
8
+
9
+ module Ingenico::Connect::SDK
10
+ module Domain
11
+ module Hostedcheckout
12
+
13
+ # @attr [Ingenico::Connect::SDK::Domain::Hostedcheckout::Frequency] recurring_interval
14
+ # @attr [Ingenico::Connect::SDK::Domain::Hostedcheckout::TrialInformation] trial_information
15
+ class RecurringPaymentsData < Ingenico::Connect::SDK::DataObject
16
+
17
+ attr_accessor :recurring_interval
18
+
19
+ attr_accessor :trial_information
20
+
21
+ # @return (Hash)
22
+ def to_h
23
+ hash = super
24
+ hash['recurringInterval'] = @recurring_interval.to_h unless @recurring_interval.nil?
25
+ hash['trialInformation'] = @trial_information.to_h unless @trial_information.nil?
26
+ hash
27
+ end
28
+
29
+ def from_hash(hash)
30
+ super
31
+ if hash.has_key? 'recurringInterval'
32
+ raise TypeError, "value '%s' is not a Hash" % [hash['recurringInterval']] unless hash['recurringInterval'].is_a? Hash
33
+ @recurring_interval = Ingenico::Connect::SDK::Domain::Hostedcheckout::Frequency.new_from_hash(hash['recurringInterval'])
34
+ end
35
+ if hash.has_key? 'trialInformation'
36
+ raise TypeError, "value '%s' is not a Hash" % [hash['trialInformation']] unless hash['trialInformation'].is_a? Hash
37
+ @trial_information = Ingenico::Connect::SDK::Domain::Hostedcheckout::TrialInformation.new_from_hash(hash['trialInformation'])
38
+ end
39
+ end
40
+ end
41
+ end
42
+ end
43
+ end
@@ -0,0 +1,66 @@
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/amount_of_money'
7
+ require 'ingenico/connect/sdk/domain/hostedcheckout/frequency'
8
+ require 'ingenico/connect/sdk/domain/hostedcheckout/trial_period'
9
+
10
+ module Ingenico::Connect::SDK
11
+ module Domain
12
+ module Hostedcheckout
13
+
14
+ # @attr [Ingenico::Connect::SDK::Domain::Definitions::AmountOfMoney] amount_of_money_after_trial
15
+ # @attr [String] end_date
16
+ # @attr [true/false] is_recurring
17
+ # @attr [Ingenico::Connect::SDK::Domain::Hostedcheckout::TrialPeriod] trial_period
18
+ # @attr [Ingenico::Connect::SDK::Domain::Hostedcheckout::Frequency] trial_period_recurring
19
+ class TrialInformation < Ingenico::Connect::SDK::DataObject
20
+
21
+ attr_accessor :amount_of_money_after_trial
22
+
23
+ attr_accessor :end_date
24
+
25
+ attr_accessor :is_recurring
26
+
27
+ attr_accessor :trial_period
28
+
29
+ attr_accessor :trial_period_recurring
30
+
31
+ # @return (Hash)
32
+ def to_h
33
+ hash = super
34
+ hash['amountOfMoneyAfterTrial'] = @amount_of_money_after_trial.to_h unless @amount_of_money_after_trial.nil?
35
+ hash['endDate'] = @end_date unless @end_date.nil?
36
+ hash['isRecurring'] = @is_recurring unless @is_recurring.nil?
37
+ hash['trialPeriod'] = @trial_period.to_h unless @trial_period.nil?
38
+ hash['trialPeriodRecurring'] = @trial_period_recurring.to_h unless @trial_period_recurring.nil?
39
+ hash
40
+ end
41
+
42
+ def from_hash(hash)
43
+ super
44
+ if hash.has_key? 'amountOfMoneyAfterTrial'
45
+ raise TypeError, "value '%s' is not a Hash" % [hash['amountOfMoneyAfterTrial']] unless hash['amountOfMoneyAfterTrial'].is_a? Hash
46
+ @amount_of_money_after_trial = Ingenico::Connect::SDK::Domain::Definitions::AmountOfMoney.new_from_hash(hash['amountOfMoneyAfterTrial'])
47
+ end
48
+ if hash.has_key? 'endDate'
49
+ @end_date = hash['endDate']
50
+ end
51
+ if hash.has_key? 'isRecurring'
52
+ @is_recurring = hash['isRecurring']
53
+ end
54
+ if hash.has_key? 'trialPeriod'
55
+ raise TypeError, "value '%s' is not a Hash" % [hash['trialPeriod']] unless hash['trialPeriod'].is_a? Hash
56
+ @trial_period = Ingenico::Connect::SDK::Domain::Hostedcheckout::TrialPeriod.new_from_hash(hash['trialPeriod'])
57
+ end
58
+ if hash.has_key? 'trialPeriodRecurring'
59
+ raise TypeError, "value '%s' is not a Hash" % [hash['trialPeriodRecurring']] unless hash['trialPeriodRecurring'].is_a? Hash
60
+ @trial_period_recurring = Ingenico::Connect::SDK::Domain::Hostedcheckout::Frequency.new_from_hash(hash['trialPeriodRecurring'])
61
+ end
62
+ end
63
+ end
64
+ end
65
+ end
66
+ end
@@ -0,0 +1,39 @@
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 Hostedcheckout
10
+
11
+ # @attr [Integer] duration
12
+ # @attr [String] interval
13
+ class TrialPeriod < Ingenico::Connect::SDK::DataObject
14
+
15
+ attr_accessor :duration
16
+
17
+ attr_accessor :interval
18
+
19
+ # @return (Hash)
20
+ def to_h
21
+ hash = super
22
+ hash['duration'] = @duration unless @duration.nil?
23
+ hash['interval'] = @interval unless @interval.nil?
24
+ hash
25
+ end
26
+
27
+ def from_hash(hash)
28
+ super
29
+ if hash.has_key? 'duration'
30
+ @duration = hash['duration']
31
+ end
32
+ if hash.has_key? 'interval'
33
+ @interval = hash['interval']
34
+ end
35
+ end
36
+ end
37
+ end
38
+ end
39
+ end
@@ -0,0 +1,55 @@
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/amount_of_money'
7
+
8
+ module Ingenico::Connect::SDK
9
+ module Domain
10
+ module Installments
11
+
12
+ # @attr [Ingenico::Connect::SDK::Domain::Definitions::AmountOfMoney] amount_of_money
13
+ # @attr [String] bin
14
+ # @attr [String] country_code
15
+ # @attr [Integer] payment_product_id
16
+ class GetInstallmentRequest < Ingenico::Connect::SDK::DataObject
17
+
18
+ attr_accessor :amount_of_money
19
+
20
+ attr_accessor :bin
21
+
22
+ attr_accessor :country_code
23
+
24
+ attr_accessor :payment_product_id
25
+
26
+ # @return (Hash)
27
+ def to_h
28
+ hash = super
29
+ hash['amountOfMoney'] = @amount_of_money.to_h unless @amount_of_money.nil?
30
+ hash['bin'] = @bin unless @bin.nil?
31
+ hash['countryCode'] = @country_code unless @country_code.nil?
32
+ hash['paymentProductId'] = @payment_product_id unless @payment_product_id.nil?
33
+ hash
34
+ end
35
+
36
+ def from_hash(hash)
37
+ super
38
+ if hash.has_key? 'amountOfMoney'
39
+ raise TypeError, "value '%s' is not a Hash" % [hash['amountOfMoney']] unless hash['amountOfMoney'].is_a? Hash
40
+ @amount_of_money = Ingenico::Connect::SDK::Domain::Definitions::AmountOfMoney.new_from_hash(hash['amountOfMoney'])
41
+ end
42
+ if hash.has_key? 'bin'
43
+ @bin = hash['bin']
44
+ end
45
+ if hash.has_key? 'countryCode'
46
+ @country_code = hash['countryCode']
47
+ end
48
+ if hash.has_key? 'paymentProductId'
49
+ @payment_product_id = hash['paymentProductId']
50
+ end
51
+ end
52
+ end
53
+ end
54
+ end
55
+ 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 Installments
10
+
11
+ # @attr [Integer] display_order
12
+ # @attr [String] label
13
+ # @attr [String] logo
14
+ class InstallmentDisplayHints < Ingenico::Connect::SDK::DataObject
15
+
16
+ attr_accessor :display_order
17
+
18
+ attr_accessor :label
19
+
20
+ attr_accessor :logo
21
+
22
+ # @return (Hash)
23
+ def to_h
24
+ hash = super
25
+ hash['displayOrder'] = @display_order unless @display_order.nil?
26
+ hash['label'] = @label unless @label.nil?
27
+ hash['logo'] = @logo unless @logo.nil?
28
+ hash
29
+ end
30
+
31
+ def from_hash(hash)
32
+ super
33
+ if hash.has_key? 'displayOrder'
34
+ @display_order = hash['displayOrder']
35
+ end
36
+ if hash.has_key? 'label'
37
+ @label = hash['label']
38
+ end
39
+ if hash.has_key? 'logo'
40
+ @logo = hash['logo']
41
+ end
42
+ end
43
+ end
44
+ end
45
+ end
46
+ end
@@ -0,0 +1,53 @@
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/installments/installment_display_hints'
7
+ require 'ingenico/connect/sdk/domain/payment/installments'
8
+
9
+ module Ingenico::Connect::SDK
10
+ module Domain
11
+ module Installments
12
+
13
+ # @attr [Ingenico::Connect::SDK::Domain::Installments::InstallmentDisplayHints] display_hints
14
+ # @attr [String] id
15
+ # @attr [Array<Ingenico::Connect::SDK::Domain::Payment::Installments>] installment_plans
16
+ class InstallmentOptions < Ingenico::Connect::SDK::DataObject
17
+
18
+ attr_accessor :display_hints
19
+
20
+ attr_accessor :id
21
+
22
+ attr_accessor :installment_plans
23
+
24
+ # @return (Hash)
25
+ def to_h
26
+ hash = super
27
+ hash['displayHints'] = @display_hints.to_h unless @display_hints.nil?
28
+ hash['id'] = @id unless @id.nil?
29
+ hash['installmentPlans'] = @installment_plans.collect{|val| val.to_h} unless @installment_plans.nil?
30
+ hash
31
+ end
32
+
33
+ def from_hash(hash)
34
+ super
35
+ if hash.has_key? 'displayHints'
36
+ raise TypeError, "value '%s' is not a Hash" % [hash['displayHints']] unless hash['displayHints'].is_a? Hash
37
+ @display_hints = Ingenico::Connect::SDK::Domain::Installments::InstallmentDisplayHints.new_from_hash(hash['displayHints'])
38
+ end
39
+ if hash.has_key? 'id'
40
+ @id = hash['id']
41
+ end
42
+ if hash.has_key? 'installmentPlans'
43
+ raise TypeError, "value '%s' is not an Array" % [hash['installmentPlans']] unless hash['installmentPlans'].is_a? Array
44
+ @installment_plans = []
45
+ hash['installmentPlans'].each do |e|
46
+ @installment_plans << Ingenico::Connect::SDK::Domain::Payment::Installments.new_from_hash(e)
47
+ end
48
+ end
49
+ end
50
+ end
51
+ end
52
+ end
53
+ end
@@ -0,0 +1,37 @@
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/installments/installment_options'
7
+
8
+ module Ingenico::Connect::SDK
9
+ module Domain
10
+ module Installments
11
+
12
+ # @attr [Array<Ingenico::Connect::SDK::Domain::Installments::InstallmentOptions>] installment_options
13
+ class InstallmentOptionsResponse < Ingenico::Connect::SDK::DataObject
14
+
15
+ attr_accessor :installment_options
16
+
17
+ # @return (Hash)
18
+ def to_h
19
+ hash = super
20
+ hash['installmentOptions'] = @installment_options.collect{|val| val.to_h} unless @installment_options.nil?
21
+ hash
22
+ end
23
+
24
+ def from_hash(hash)
25
+ super
26
+ if hash.has_key? 'installmentOptions'
27
+ raise TypeError, "value '%s' is not an Array" % [hash['installmentOptions']] unless hash['installmentOptions'].is_a? Array
28
+ @installment_options = []
29
+ hash['installmentOptions'].each do |e|
30
+ @installment_options << Ingenico::Connect::SDK::Domain::Installments::InstallmentOptions.new_from_hash(e)
31
+ end
32
+ end
33
+ end
34
+ end
35
+ end
36
+ end
37
+ end
@@ -10,6 +10,7 @@ module Ingenico::Connect::SDK
10
10
  module Payment
11
11
 
12
12
  # @attr [Ingenico::Connect::SDK::Domain::Definitions::AmountOfMoney] amount_of_money_per_installment
13
+ # @attr [Ingenico::Connect::SDK::Domain::Definitions::AmountOfMoney] amount_of_money_total
13
14
  # @attr [String] frequency_of_installments
14
15
  # @attr [Integer] installment_plan_code
15
16
  # @attr [String] interest_rate
@@ -18,6 +19,8 @@ module Ingenico::Connect::SDK
18
19
 
19
20
  attr_accessor :amount_of_money_per_installment
20
21
 
22
+ attr_accessor :amount_of_money_total
23
+
21
24
  attr_accessor :frequency_of_installments
22
25
 
23
26
  attr_accessor :installment_plan_code
@@ -30,6 +33,7 @@ module Ingenico::Connect::SDK
30
33
  def to_h
31
34
  hash = super
32
35
  hash['amountOfMoneyPerInstallment'] = @amount_of_money_per_installment.to_h unless @amount_of_money_per_installment.nil?
36
+ hash['amountOfMoneyTotal'] = @amount_of_money_total.to_h unless @amount_of_money_total.nil?
33
37
  hash['frequencyOfInstallments'] = @frequency_of_installments unless @frequency_of_installments.nil?
34
38
  hash['installmentPlanCode'] = @installment_plan_code unless @installment_plan_code.nil?
35
39
  hash['interestRate'] = @interest_rate unless @interest_rate.nil?
@@ -43,6 +47,10 @@ module Ingenico::Connect::SDK
43
47
  raise TypeError, "value '%s' is not a Hash" % [hash['amountOfMoneyPerInstallment']] unless hash['amountOfMoneyPerInstallment'].is_a? Hash
44
48
  @amount_of_money_per_installment = Ingenico::Connect::SDK::Domain::Definitions::AmountOfMoney.new_from_hash(hash['amountOfMoneyPerInstallment'])
45
49
  end
50
+ if hash.has_key? 'amountOfMoneyTotal'
51
+ raise TypeError, "value '%s' is not a Hash" % [hash['amountOfMoneyTotal']] unless hash['amountOfMoneyTotal'].is_a? Hash
52
+ @amount_of_money_total = Ingenico::Connect::SDK::Domain::Definitions::AmountOfMoney.new_from_hash(hash['amountOfMoneyTotal'])
53
+ end
46
54
  if hash.has_key? 'frequencyOfInstallments'
47
55
  @frequency_of_installments = hash['frequencyOfInstallments']
48
56
  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/card_essentials'
5
6
  require 'ingenico/connect/sdk/domain/payment/refund_method_specific_output'
6
7
 
7
8
  module Ingenico::Connect::SDK
@@ -9,14 +10,18 @@ module Ingenico::Connect::SDK
9
10
  module Payment
10
11
 
11
12
  # @attr [String] authorisation_code
13
+ # @attr [Ingenico::Connect::SDK::Domain::Definitions::CardEssentials] card
12
14
  class RefundCardMethodSpecificOutput < Ingenico::Connect::SDK::Domain::Payment::RefundMethodSpecificOutput
13
15
 
14
16
  attr_accessor :authorisation_code
15
17
 
18
+ attr_accessor :card
19
+
16
20
  # @return (Hash)
17
21
  def to_h
18
22
  hash = super
19
23
  hash['authorisationCode'] = @authorisation_code unless @authorisation_code.nil?
24
+ hash['card'] = @card.to_h unless @card.nil?
20
25
  hash
21
26
  end
22
27
 
@@ -25,6 +30,10 @@ module Ingenico::Connect::SDK
25
30
  if hash.has_key? 'authorisationCode'
26
31
  @authorisation_code = hash['authorisationCode']
27
32
  end
33
+ if hash.has_key? 'card'
34
+ raise TypeError, "value '%s' is not a Hash" % [hash['card']] unless hash['card'].is_a? Hash
35
+ @card = Ingenico::Connect::SDK::Domain::Definitions::CardEssentials.new_from_hash(hash['card'])
36
+ end
28
37
  end
29
38
  end
30
39
  end
@@ -0,0 +1,53 @@
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/api_resource'
6
+ require 'ingenico/connect/sdk/response_exception'
7
+ require 'ingenico/connect/sdk/domain/errors/error_response'
8
+ require 'ingenico/connect/sdk/domain/installments/installment_options_response'
9
+
10
+ module Ingenico::Connect::SDK
11
+ module Merchant
12
+ module Installments
13
+
14
+ # Installments client. Thread-safe.
15
+ class InstallmentsClient < Ingenico::Connect::SDK::ApiResource
16
+
17
+ # @param parent [Ingenico::Connect::SDK::ApiResource]
18
+ # @param path_context [Hash]
19
+ def initialize(parent, path_context)
20
+ super(parent, path_context)
21
+ end
22
+
23
+ # Resource /!{merchantId}/installments/getInstallmentsInfo - {https://epayments-api.developer-ingenico.com/s2sapi/v1/en_US/ruby/installments/getInstallmentsInfo.html Get Installment Info}
24
+ # @param body [Ingenico::Connect::SDK::Domain::Installments::GetInstallmentRequest]
25
+ # @param context [Ingenico::Connect::SDK::CallContext]
26
+ # @return [Ingenico::Connect::SDK::Domain::Installments::InstallmentOptionsResponse]
27
+ # @raise [Ingenico::Connect::SDK::ValidationException] if the request was not correct and couldn't be processed (HTTP status code 400)
28
+ # @raise [Ingenico::Connect::SDK::AuthorizationException] if the request was not allowed (HTTP status code 403)
29
+ # @raise [Ingenico::Connect::SDK::IdempotenceException] if an idempotent request caused a conflict (HTTP status code 409)
30
+ # @raise [Ingenico::Connect::SDK::ReferenceException] if an object was attempted to be referenced that doesn't exist or has been removed,
31
+ # or there was a conflict (HTTP status code 404, 409 or 410)
32
+ # @raise [Ingenico::Connect::SDK::GlobalCollectException] if something went wrong at the Ingenico ePayments platform,
33
+ # the Ingenico ePayments platform was unable to process a message from a downstream partner/acquirer,
34
+ # or the service that you're trying to reach is temporary unavailable (HTTP status code 500, 502 or 503)
35
+ # @raise [Ingenico::Connect::SDK::ApiException]if the Ingenico ePayments platform returned any other error
36
+ def get_installments_info(body, context=nil)
37
+ uri = instantiate_uri('/v1/{merchantId}/installments/getInstallmentsInfo', nil)
38
+ return @communicator.post(
39
+ uri,
40
+ client_headers,
41
+ nil,
42
+ body,
43
+ Ingenico::Connect::SDK::Domain::Installments::InstallmentOptionsResponse,
44
+ context)
45
+ rescue ResponseException => e
46
+ error_type = Ingenico::Connect::SDK::Domain::Errors::ErrorResponse
47
+ error_object = @communicator.marshaller.unmarshal(e.body, error_type)
48
+ raise create_exception(e.status_code, e.body, error_object, context)
49
+ end
50
+ end
51
+ end
52
+ end
53
+ end
@@ -8,6 +8,7 @@ require 'ingenico/connect/sdk/merchant/disputes/disputes_client'
8
8
  require 'ingenico/connect/sdk/merchant/files/files_client'
9
9
  require 'ingenico/connect/sdk/merchant/hostedcheckouts/hostedcheckouts_client'
10
10
  require 'ingenico/connect/sdk/merchant/hostedmandatemanagements/hostedmandatemanagements_client'
11
+ require 'ingenico/connect/sdk/merchant/installments/installments_client'
11
12
  require 'ingenico/connect/sdk/merchant/mandates/mandates_client'
12
13
  require 'ingenico/connect/sdk/merchant/payments/payments_client'
13
14
  require 'ingenico/connect/sdk/merchant/payouts/payouts_client'
@@ -115,6 +116,12 @@ module Ingenico::Connect::SDK
115
116
  Ingenico::Connect::SDK::Merchant::Sessions::SessionsClient.new(self, nil)
116
117
  end
117
118
 
119
+ # Resource /!{merchantId}/installments
120
+ # @return [Ingenico::Connect::SDK::Merchant::Installments::InstallmentsClient]
121
+ def installments
122
+ Ingenico::Connect::SDK::Merchant::Installments::InstallmentsClient.new(self, nil)
123
+ end
124
+
118
125
  # Resource /!{merchantId}/files
119
126
  # @return [Ingenico::Connect::SDK::Merchant::Files::FilesClient]
120
127
  def files
@@ -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.41.0'
10
+ @@SDK_VERSION = '2.43.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
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.41.0
4
+ version: 2.43.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: 2023-07-14 00:00:00.000000000 Z
11
+ date: 2023-10-16 00:00:00.000000000 Z
12
12
  dependencies:
13
13
  - !ruby/object:Gem::Dependency
14
14
  name: httpclient
@@ -154,6 +154,7 @@ files:
154
154
  - examples/merchant/hostedcheckouts/get_hosted_checkout_example.rb
155
155
  - examples/merchant/hostedmandatemanagements/create_hosted_mandate_management_example.rb
156
156
  - examples/merchant/hostedmandatemanagements/get_hosted_mandate_management_example.rb
157
+ - examples/merchant/installments/get_installments_info_example.rb
157
158
  - examples/merchant/mandates/block_mandate_example.rb
158
159
  - examples/merchant/mandates/create_mandate_example.rb
159
160
  - examples/merchant/mandates/create_mandate_with_reference_example.rb
@@ -290,17 +291,25 @@ files:
290
291
  - lib/ingenico/connect/sdk/domain/hostedcheckout/create_hosted_checkout_response.rb
291
292
  - lib/ingenico/connect/sdk/domain/hostedcheckout/created_payment_output.rb
292
293
  - lib/ingenico/connect/sdk/domain/hostedcheckout/displayed_data.rb
294
+ - lib/ingenico/connect/sdk/domain/hostedcheckout/frequency.rb
293
295
  - lib/ingenico/connect/sdk/domain/hostedcheckout/get_hosted_checkout_response.rb
294
296
  - lib/ingenico/connect/sdk/domain/hostedcheckout/hosted_checkout_specific_input.rb
295
297
  - lib/ingenico/connect/sdk/domain/hostedcheckout/mobile_payment_method_specific_input_hosted_checkout.rb
296
298
  - lib/ingenico/connect/sdk/domain/hostedcheckout/mobile_payment_product302_specific_input_hosted_checkout.rb
297
299
  - lib/ingenico/connect/sdk/domain/hostedcheckout/mobile_payment_product320_specific_input_hosted_checkout.rb
298
300
  - lib/ingenico/connect/sdk/domain/hostedcheckout/payment_product_filters_hosted_checkout.rb
301
+ - lib/ingenico/connect/sdk/domain/hostedcheckout/recurring_payments_data.rb
302
+ - lib/ingenico/connect/sdk/domain/hostedcheckout/trial_information.rb
303
+ - lib/ingenico/connect/sdk/domain/hostedcheckout/trial_period.rb
299
304
  - lib/ingenico/connect/sdk/domain/hostedmandatemanagement/create_hosted_mandate_management_request.rb
300
305
  - lib/ingenico/connect/sdk/domain/hostedmandatemanagement/create_hosted_mandate_management_response.rb
301
306
  - lib/ingenico/connect/sdk/domain/hostedmandatemanagement/get_hosted_mandate_management_response.rb
302
307
  - lib/ingenico/connect/sdk/domain/hostedmandatemanagement/hosted_mandate_info.rb
303
308
  - lib/ingenico/connect/sdk/domain/hostedmandatemanagement/hosted_mandate_management_specific_input.rb
309
+ - lib/ingenico/connect/sdk/domain/installments/get_installment_request.rb
310
+ - lib/ingenico/connect/sdk/domain/installments/installment_display_hints.rb
311
+ - lib/ingenico/connect/sdk/domain/installments/installment_options.rb
312
+ - lib/ingenico/connect/sdk/domain/installments/installment_options_response.rb
304
313
  - lib/ingenico/connect/sdk/domain/mandates/create_mandate_base.rb
305
314
  - lib/ingenico/connect/sdk/domain/mandates/create_mandate_request.rb
306
315
  - lib/ingenico/connect/sdk/domain/mandates/create_mandate_response.rb
@@ -625,6 +634,7 @@ files:
625
634
  - lib/ingenico/connect/sdk/merchant/files/files_client.rb
626
635
  - lib/ingenico/connect/sdk/merchant/hostedcheckouts/hostedcheckouts_client.rb
627
636
  - lib/ingenico/connect/sdk/merchant/hostedmandatemanagements/hostedmandatemanagements_client.rb
637
+ - lib/ingenico/connect/sdk/merchant/installments/installments_client.rb
628
638
  - lib/ingenico/connect/sdk/merchant/mandates/mandates_client.rb
629
639
  - lib/ingenico/connect/sdk/merchant/merchant_client.rb
630
640
  - lib/ingenico/connect/sdk/merchant/payments/find_payments_params.rb