connect-sdk-ruby 1.16.0 → 1.17.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: ef1b29b7c2c9cd260773a4aff6e82cda43bfdf5709b699552caeb9e1f34384d8
4
- data.tar.gz: 11fc21a923b380b6d5e7ddc045212afd26d2bf5b87d7c7820d57355e59046e6b
3
+ metadata.gz: 4434dcbab0689c4502a4e5d19451949d045fb889f51cccfe67c304d91bee0dea
4
+ data.tar.gz: cd200d8ebcec68d787262958848af6aca8d59415105e2dd7717af62a9f25e13f
5
5
  SHA512:
6
- metadata.gz: a48cfe0ea406e8982eaa2d207353108cb4ebfaf06c73d1195c591adb2e8f7d67df8c44071b17dec66b8d4d893f625a66e6a0d137520638dc6e79ae85428a53df
7
- data.tar.gz: f8aa4f3359ecf4c5db2298643650aaf49c204a1039855ce5ca598a468bfd11154d48f7a325b750f02c02c2321cf20d62fc8d3e507f6daa11e390da68f8270993
6
+ metadata.gz: 3293a0353f763affb80aacbc129d070c58517e5053cd1b55a4e2b54323fad3db91383fd7f36a14661bd7e1871308ab5908f5f7325f2c8e0b8bb0cd1be31e23bd
7
+ data.tar.gz: 21b42560b10bdbd5131aaf831b813355994b62c1d0532a2e835b2c955efdd712f47ef06141bbfb9418b16dac6e23ff71b06f9de74df3e09867d61a3112f7a602
@@ -1,6 +1,6 @@
1
1
  Gem::Specification.new do |spec|
2
2
  spec.name = 'connect-sdk-ruby'
3
- spec.version = '1.16.0'
3
+ spec.version = '1.17.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}
@@ -51,7 +51,7 @@ def example
51
51
  body.recurrence_type = 'UNIQUE'
52
52
  body.signature_type = 'UNSIGNED'
53
53
 
54
- response = client.merchant('merchantId').mandates().create_with_mandate_reference('42268d8067df43e18a50a2ebf4bdb729', body)
54
+ response = client.merchant('merchantId').mandates().create(body)
55
55
  end
56
56
  end
57
57
 
@@ -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/factory'
6
+ require 'ingenico/connect/sdk/domain/definitions/bank_account_iban'
7
+ require 'ingenico/connect/sdk/domain/mandates/create_mandate_request'
8
+ require 'ingenico/connect/sdk/domain/mandates/mandate_address'
9
+ require 'ingenico/connect/sdk/domain/mandates/mandate_contact_details'
10
+ require 'ingenico/connect/sdk/domain/mandates/mandate_customer'
11
+ require 'ingenico/connect/sdk/domain/mandates/mandate_personal_information'
12
+ require 'ingenico/connect/sdk/domain/mandates/mandate_personal_name'
13
+
14
+ Definitions = Ingenico::Connect::SDK::Domain::Definitions
15
+ Mandates = Ingenico::Connect::SDK::Domain::Mandates
16
+
17
+ def example
18
+ get_client do |client|
19
+ bank_account_iban = Definitions::BankAccountIban.new
20
+ bank_account_iban.iban = 'DE46940594210000012345'
21
+
22
+ contact_details = Mandates::MandateContactDetails.new
23
+ contact_details.email_address = 'wile.e.coyote@acmelabs.com'
24
+ contact_details.phone_number = '+1234567890'
25
+
26
+ mandate_address = Mandates::MandateAddress.new
27
+ mandate_address.city = 'Monumentenvallei'
28
+ mandate_address.country_code = 'NL'
29
+ mandate_address.street = 'Woestijnweg'
30
+ mandate_address.zip = '1337XD'
31
+
32
+ name = Mandates::MandatePersonalName.new
33
+ name.first_name = 'Wile'
34
+ name.surname = 'Coyote'
35
+
36
+ personal_information = Mandates::MandatePersonalInformation.new
37
+ personal_information.name = name
38
+ personal_information.title = 'Miss'
39
+
40
+ customer = Mandates::MandateCustomer.new
41
+ customer.bank_account_iban = bank_account_iban
42
+ customer.company_name = 'Acme labs'
43
+ customer.contact_details = contact_details
44
+ customer.mandate_address = mandate_address
45
+ customer.personal_information = personal_information
46
+
47
+ body = Mandates::CreateMandateRequest.new
48
+ body.customer = customer
49
+ body.customer_reference = 'idonthaveareference'
50
+ body.language = 'nl'
51
+ body.recurrence_type = 'UNIQUE'
52
+ body.signature_type = 'UNSIGNED'
53
+
54
+ response = client.merchant('merchantId').mandates().create_with_mandate_reference('42268d8067df43e18a50a2ebf4bdb729', body)
55
+ end
56
+ end
57
+
58
+ def get_client
59
+ api_key_id = ENV.fetch('connect.api.apiKeyId', 'someKey')
60
+ secret_api_key = ENV.fetch('connect.api.secretApiKey', 'someSecret')
61
+ configuration_file_name = File.join(__FILE__, '..', '..', 'example_configuration.yml')
62
+ yield client = Ingenico::Connect::SDK::Factory.create_client_from_file(configuration_file_name, api_key_id, secret_api_key)
63
+ ensure
64
+ # Free networking resources when done
65
+ client.close unless client.nil?
66
+ end
@@ -0,0 +1,26 @@
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/product/device_fingerprint_request'
7
+
8
+ Product = Ingenico::Connect::SDK::Domain::Product
9
+
10
+ def example
11
+ get_client do |client|
12
+ body = Product::DeviceFingerprintRequest.new
13
+
14
+ response = client.merchant('merchantId').products().device_fingerprint(1, body)
15
+ end
16
+ end
17
+
18
+ def get_client
19
+ api_key_id = ENV.fetch('connect.api.apiKeyId', 'someKey')
20
+ secret_api_key = ENV.fetch('connect.api.secretApiKey', 'someSecret')
21
+ configuration_file_name = File.join(__FILE__, '..', '..', 'example_configuration.yml')
22
+ yield client = Ingenico::Connect::SDK::Factory.create_client_from_file(configuration_file_name, api_key_id, secret_api_key)
23
+ ensure
24
+ # Free networking resources when done
25
+ client.close unless client.nil?
26
+ end
@@ -28,7 +28,10 @@ module Ingenico::Connect::SDK
28
28
  attr_accessor :default_form_fill
29
29
 
30
30
  # true/false
31
- attr_accessor :finger_print_activated
31
+ attr_accessor :device_fingerprint_activated
32
+
33
+ # String
34
+ attr_accessor :device_fingerprint_transaction_id
32
35
 
33
36
  # String
34
37
  attr_accessor :gift_card_type
@@ -70,7 +73,8 @@ module Ingenico::Connect::SDK
70
73
  add_to_hash(hash, 'cardOwnerAddress', @card_owner_address)
71
74
  add_to_hash(hash, 'customerIpAddress', @customer_ip_address)
72
75
  add_to_hash(hash, 'defaultFormFill', @default_form_fill)
73
- add_to_hash(hash, 'fingerPrintActivated', @finger_print_activated)
76
+ add_to_hash(hash, 'deviceFingerprintActivated', @device_fingerprint_activated)
77
+ add_to_hash(hash, 'deviceFingerprintTransactionId', @device_fingerprint_transaction_id)
74
78
  add_to_hash(hash, 'giftCardType', @gift_card_type)
75
79
  add_to_hash(hash, 'giftMessage', @gift_message)
76
80
  add_to_hash(hash, 'hasForgottenPwd', @has_forgotten_pwd)
@@ -105,8 +109,11 @@ module Ingenico::Connect::SDK
105
109
  if hash.has_key?('defaultFormFill')
106
110
  @default_form_fill = hash['defaultFormFill']
107
111
  end
108
- if hash.has_key?('fingerPrintActivated')
109
- @finger_print_activated = hash['fingerPrintActivated']
112
+ if hash.has_key?('deviceFingerprintActivated')
113
+ @device_fingerprint_activated = hash['deviceFingerprintActivated']
114
+ end
115
+ if hash.has_key?('deviceFingerprintTransactionId')
116
+ @device_fingerprint_transaction_id = hash['deviceFingerprintTransactionId']
110
117
  end
111
118
  if hash.has_key?('giftCardType')
112
119
  @gift_card_type = hash['giftCardType']
@@ -0,0 +1,31 @@
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 Product
10
+
11
+ class DeviceFingerprintRequest < Ingenico::Connect::SDK::DataObject
12
+
13
+ # String
14
+ attr_accessor :collector_callback
15
+
16
+ def to_h
17
+ hash = super
18
+ add_to_hash(hash, 'collectorCallback', @collector_callback)
19
+ hash
20
+ end
21
+
22
+ def from_hash(hash)
23
+ super
24
+ if hash.has_key?('collectorCallback')
25
+ @collector_callback = hash['collectorCallback']
26
+ end
27
+ end
28
+ end
29
+ end
30
+ end
31
+ end
@@ -0,0 +1,38 @@
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 Product
10
+
11
+ class DeviceFingerprintResponse < Ingenico::Connect::SDK::DataObject
12
+
13
+ # String
14
+ attr_accessor :device_fingerprint_transaction_id
15
+
16
+ # String
17
+ attr_accessor :html
18
+
19
+ def to_h
20
+ hash = super
21
+ add_to_hash(hash, 'deviceFingerprintTransactionId', @device_fingerprint_transaction_id)
22
+ add_to_hash(hash, 'html', @html)
23
+ hash
24
+ end
25
+
26
+ def from_hash(hash)
27
+ super
28
+ if hash.has_key?('deviceFingerprintTransactionId')
29
+ @device_fingerprint_transaction_id = hash['deviceFingerprintTransactionId']
30
+ end
31
+ if hash.has_key?('html')
32
+ @html = hash['html']
33
+ end
34
+ end
35
+ end
36
+ end
37
+ end
38
+ end
@@ -32,6 +32,9 @@ module Ingenico::Connect::SDK
32
32
  # true/false
33
33
  attr_accessor :can_be_iframed
34
34
 
35
+ # true/false
36
+ attr_accessor :device_fingerprint_enabled
37
+
35
38
  # {Ingenico::Connect::SDK::Domain::Product::PaymentProductDisplayHints}
36
39
  attr_accessor :display_hints
37
40
 
@@ -70,6 +73,7 @@ module Ingenico::Connect::SDK
70
73
  add_to_hash(hash, 'authenticationIndicator', @authentication_indicator)
71
74
  add_to_hash(hash, 'autoTokenized', @auto_tokenized)
72
75
  add_to_hash(hash, 'canBeIframed', @can_be_iframed)
76
+ add_to_hash(hash, 'deviceFingerprintEnabled', @device_fingerprint_enabled)
73
77
  add_to_hash(hash, 'displayHints', @display_hints)
74
78
  add_to_hash(hash, 'fields', @fields)
75
79
  add_to_hash(hash, 'fieldsWarning', @fields_warning)
@@ -112,6 +116,9 @@ module Ingenico::Connect::SDK
112
116
  if hash.has_key?('canBeIframed')
113
117
  @can_be_iframed = hash['canBeIframed']
114
118
  end
119
+ if hash.has_key?('deviceFingerprintEnabled')
120
+ @device_fingerprint_enabled = hash['deviceFingerprintEnabled']
121
+ end
115
122
  if hash.has_key?('displayHints')
116
123
  if !(hash['displayHints'].is_a? Hash)
117
124
  raise TypeError, "value '%s' is not a Hash" % [hash['displayHints']]
@@ -40,6 +40,9 @@ module Ingenico::Connect::SDK
40
40
  # {Ingenico::Connect::SDK::Domain::Product::RegularExpressionValidator}
41
41
  attr_accessor :regular_expression
42
42
 
43
+ # {Ingenico::Connect::SDK::Domain::Product::EmptyValidator}
44
+ attr_accessor :terms_and_conditions
45
+
43
46
  def to_h
44
47
  hash = super
45
48
  add_to_hash(hash, 'boletoBancarioRequiredness', @boleto_bancario_requiredness)
@@ -50,6 +53,7 @@ module Ingenico::Connect::SDK
50
53
  add_to_hash(hash, 'luhn', @luhn)
51
54
  add_to_hash(hash, 'range', @range)
52
55
  add_to_hash(hash, 'regularExpression', @regular_expression)
56
+ add_to_hash(hash, 'termsAndConditions', @terms_and_conditions)
53
57
  hash
54
58
  end
55
59
 
@@ -103,6 +107,12 @@ module Ingenico::Connect::SDK
103
107
  end
104
108
  @regular_expression = Ingenico::Connect::SDK::Domain::Product::RegularExpressionValidator.new_from_hash(hash['regularExpression'])
105
109
  end
110
+ if hash.has_key?('termsAndConditions')
111
+ if !(hash['termsAndConditions'].is_a? Hash)
112
+ raise TypeError, "value '%s' is not a Hash" % [hash['termsAndConditions']]
113
+ end
114
+ @terms_and_conditions = Ingenico::Connect::SDK::Domain::Product::EmptyValidator.new_from_hash(hash['termsAndConditions'])
115
+ end
106
116
  end
107
117
  end
108
118
  end
@@ -53,10 +53,11 @@ module Ingenico::Connect::SDK
53
53
 
54
54
  # Resource /{{merchantId}}/mandates/{{uniqueMandateReference}}
55
55
  #
56
- # {https://epayments-api.developer-ingenico.com/s2sapi/v1/en_US/ruby/mandates/get.html Get mandate}
56
+ # {https://epayments-api.developer-ingenico.com/s2sapi/v1/en_US/ruby/mandates/createWithMandateReference.html Create mandate with mandatereference}
57
57
  # unique_mandate_reference:: String
58
+ # body:: {Ingenico::Connect::SDK::Domain::Mandates::CreateMandateRequest}
58
59
  # context:: {Ingenico::Connect::SDK::CallContext}
59
- # Returns:: {Ingenico::Connect::SDK::Domain::Mandates::GetMandateResponse}
60
+ # Returns:: {Ingenico::Connect::SDK::Domain::Mandates::CreateMandateResponse}
60
61
  # Raises:: {Ingenico::Connect::SDK::ValidationException} if the request was not correct and couldn't be processed (HTTP status code 400)
61
62
  # Raises:: {Ingenico::Connect::SDK::AuthorizationException} if the request was not allowed (HTTP status code 403)
62
63
  # Raises:: {Ingenico::Connect::SDK::IdempotenceException} if an idempotent request caused a conflict (HTTP status code 409)
@@ -66,16 +67,17 @@ module Ingenico::Connect::SDK
66
67
  # the Ingenico ePayments platform was unable to process a message from a downstream partner/acquirer,
67
68
  # or the service that you're trying to reach is temporary unavailable (HTTP status code 500, 502 or 503)
68
69
  # Raises:: {Ingenico::Connect::SDK::ApiException} if the Ingenico ePayments platform returned any other error
69
- def get(unique_mandate_reference, context=nil)
70
+ def create_with_mandate_reference(unique_mandate_reference, body, context=nil)
70
71
  path_context = {
71
72
  'uniqueMandateReference' => unique_mandate_reference,
72
73
  }
73
74
  uri = instantiate_uri('/{apiVersion}/{merchantId}/mandates/{uniqueMandateReference}', path_context)
74
- return @communicator.get(
75
+ return @communicator.put(
75
76
  uri,
76
77
  client_headers,
77
78
  nil,
78
- Ingenico::Connect::SDK::Domain::Mandates::GetMandateResponse,
79
+ body,
80
+ Ingenico::Connect::SDK::Domain::Mandates::CreateMandateResponse,
79
81
  context)
80
82
  rescue ResponseException => e
81
83
  error_type = Ingenico::Connect::SDK::Domain::Errors::ErrorResponse
@@ -85,11 +87,10 @@ module Ingenico::Connect::SDK
85
87
 
86
88
  # Resource /{{merchantId}}/mandates/{{uniqueMandateReference}}
87
89
  #
88
- # {https://epayments-api.developer-ingenico.com/s2sapi/v1/en_US/ruby/mandates/createWithMandateReference.html Create mandate with mandatereference}
90
+ # {https://epayments-api.developer-ingenico.com/s2sapi/v1/en_US/ruby/mandates/get.html Get mandate}
89
91
  # unique_mandate_reference:: String
90
- # body:: {Ingenico::Connect::SDK::Domain::Mandates::CreateMandateRequest}
91
92
  # context:: {Ingenico::Connect::SDK::CallContext}
92
- # Returns:: {Ingenico::Connect::SDK::Domain::Mandates::CreateMandateResponse}
93
+ # Returns:: {Ingenico::Connect::SDK::Domain::Mandates::GetMandateResponse}
93
94
  # Raises:: {Ingenico::Connect::SDK::ValidationException} if the request was not correct and couldn't be processed (HTTP status code 400)
94
95
  # Raises:: {Ingenico::Connect::SDK::AuthorizationException} if the request was not allowed (HTTP status code 403)
95
96
  # Raises:: {Ingenico::Connect::SDK::IdempotenceException} if an idempotent request caused a conflict (HTTP status code 409)
@@ -99,17 +100,16 @@ module Ingenico::Connect::SDK
99
100
  # the Ingenico ePayments platform was unable to process a message from a downstream partner/acquirer,
100
101
  # or the service that you're trying to reach is temporary unavailable (HTTP status code 500, 502 or 503)
101
102
  # Raises:: {Ingenico::Connect::SDK::ApiException} if the Ingenico ePayments platform returned any other error
102
- def create_with_mandate_reference(unique_mandate_reference, body, context=nil)
103
+ def get(unique_mandate_reference, context=nil)
103
104
  path_context = {
104
105
  'uniqueMandateReference' => unique_mandate_reference,
105
106
  }
106
107
  uri = instantiate_uri('/{apiVersion}/{merchantId}/mandates/{uniqueMandateReference}', path_context)
107
- return @communicator.put(
108
+ return @communicator.get(
108
109
  uri,
109
110
  client_headers,
110
111
  nil,
111
- body,
112
- Ingenico::Connect::SDK::Domain::Mandates::CreateMandateResponse,
112
+ Ingenico::Connect::SDK::Domain::Mandates::GetMandateResponse,
113
113
  context)
114
114
  rescue ResponseException => e
115
115
  error_type = Ingenico::Connect::SDK::Domain::Errors::ErrorResponse
@@ -28,6 +28,14 @@ module Ingenico::Connect::SDK
28
28
  super(parent, path_context)
29
29
  end
30
30
 
31
+ # Resource /{{merchantId}}/hostedcheckouts
32
+ #
33
+ # Create new hosted checkout
34
+ # Returns:: {Ingenico::Connect::SDK::Merchant::Hostedcheckouts::HostedcheckoutsClient}
35
+ def hostedcheckouts
36
+ Ingenico::Connect::SDK::Merchant::Hostedcheckouts::HostedcheckoutsClient.new(self, nil)
37
+ end
38
+
31
39
  # Resource /{{merchantId}}/payments
32
40
  #
33
41
  # Create, cancel and approve payments
@@ -44,6 +52,14 @@ module Ingenico::Connect::SDK
44
52
  Ingenico::Connect::SDK::Merchant::Captures::CapturesClient.new(self, nil)
45
53
  end
46
54
 
55
+ # Resource /{{merchantId}}/refunds
56
+ #
57
+ # Create, cancel and approve refunds
58
+ # Returns:: {Ingenico::Connect::SDK::Merchant::Refunds::RefundsClient}
59
+ def refunds
60
+ Ingenico::Connect::SDK::Merchant::Refunds::RefundsClient.new(self, nil)
61
+ end
62
+
47
63
  # Resource /{{merchantId}}/payouts
48
64
  #
49
65
  # Create, cancel and approve payouts
@@ -52,14 +68,6 @@ module Ingenico::Connect::SDK
52
68
  Ingenico::Connect::SDK::Merchant::Payouts::PayoutsClient.new(self, nil)
53
69
  end
54
70
 
55
- # Resource /{{merchantId}}/products
56
- #
57
- # Get information about payment products
58
- # Returns:: {Ingenico::Connect::SDK::Merchant::Products::ProductsClient}
59
- def products
60
- Ingenico::Connect::SDK::Merchant::Products::ProductsClient.new(self, nil)
61
- end
62
-
63
71
  # Resource /{{merchantId}}/productgroups
64
72
  #
65
73
  # Get information about payment product groups
@@ -68,20 +76,12 @@ module Ingenico::Connect::SDK
68
76
  Ingenico::Connect::SDK::Merchant::Productgroups::ProductgroupsClient.new(self, nil)
69
77
  end
70
78
 
71
- # Resource /{{merchantId}}/mandates
72
- #
73
- # Create, get and update mandates
74
- # Returns:: {Ingenico::Connect::SDK::Merchant::Mandates::MandatesClient}
75
- def mandates
76
- Ingenico::Connect::SDK::Merchant::Mandates::MandatesClient.new(self, nil)
77
- end
78
-
79
- # Resource /{{merchantId}}/refunds
79
+ # Resource /{{merchantId}}/products
80
80
  #
81
- # Create, cancel and approve refunds
82
- # Returns:: {Ingenico::Connect::SDK::Merchant::Refunds::RefundsClient}
83
- def refunds
84
- Ingenico::Connect::SDK::Merchant::Refunds::RefundsClient.new(self, nil)
81
+ # Get information about payment products
82
+ # Returns:: {Ingenico::Connect::SDK::Merchant::Products::ProductsClient}
83
+ def products
84
+ Ingenico::Connect::SDK::Merchant::Products::ProductsClient.new(self, nil)
85
85
  end
86
86
 
87
87
  # Resource /{{merchantId}}/riskassessments
@@ -100,14 +100,6 @@ module Ingenico::Connect::SDK
100
100
  Ingenico::Connect::SDK::Merchant::Services::ServicesClient.new(self, nil)
101
101
  end
102
102
 
103
- # Resource /{{merchantId}}/sessions
104
- #
105
- # Create new Session for Client2Server API calls
106
- # Returns:: {Ingenico::Connect::SDK::Merchant::Sessions::SessionsClient}
107
- def sessions
108
- Ingenico::Connect::SDK::Merchant::Sessions::SessionsClient.new(self, nil)
109
- end
110
-
111
103
  # Resource /{{merchantId}}/tokens
112
104
  #
113
105
  # Create, delete and update tokens
@@ -116,12 +108,20 @@ module Ingenico::Connect::SDK
116
108
  Ingenico::Connect::SDK::Merchant::Tokens::TokensClient.new(self, nil)
117
109
  end
118
110
 
119
- # Resource /{{merchantId}}/hostedcheckouts
111
+ # Resource /{{merchantId}}/mandates
120
112
  #
121
- # Create new hosted checkout
122
- # Returns:: {Ingenico::Connect::SDK::Merchant::Hostedcheckouts::HostedcheckoutsClient}
123
- def hostedcheckouts
124
- Ingenico::Connect::SDK::Merchant::Hostedcheckouts::HostedcheckoutsClient.new(self, nil)
113
+ # Create, get and update mandates
114
+ # Returns:: {Ingenico::Connect::SDK::Merchant::Mandates::MandatesClient}
115
+ def mandates
116
+ Ingenico::Connect::SDK::Merchant::Mandates::MandatesClient.new(self, nil)
117
+ end
118
+
119
+ # Resource /{{merchantId}}/sessions
120
+ #
121
+ # Create new Session for Client2Server API calls
122
+ # Returns:: {Ingenico::Connect::SDK::Merchant::Sessions::SessionsClient}
123
+ def sessions
124
+ Ingenico::Connect::SDK::Merchant::Sessions::SessionsClient.new(self, nil)
125
125
  end
126
126
  end
127
127
  end
@@ -35,10 +35,11 @@ module Ingenico::Connect::SDK
35
35
 
36
36
  # Resource /{{merchantId}}/payments
37
37
  #
38
- # {https://epayments-api.developer-ingenico.com/s2sapi/v1/en_US/ruby/payments/find.html Find payments}
39
- # query:: {Ingenico::Connect::SDK::Merchant::Payments::FindPaymentsParams}
38
+ # {https://epayments-api.developer-ingenico.com/s2sapi/v1/en_US/ruby/payments/create.html Create payment}
39
+ # body:: {Ingenico::Connect::SDK::Domain::Payment::CreatePaymentRequest}
40
40
  # context:: {Ingenico::Connect::SDK::CallContext}
41
- # Returns:: {Ingenico::Connect::SDK::Domain::Payment::FindPaymentsResponse}
41
+ # Returns:: {Ingenico::Connect::SDK::Domain::Payment::CreatePaymentResponse}
42
+ # Raises:: {Ingenico::Connect::SDK::DeclinedPaymentException} if the Ingenico ePayments platform declined / rejected the payment. The payment result will be available from the exception.
42
43
  # Raises:: {Ingenico::Connect::SDK::ValidationException} if the request was not correct and couldn't be processed (HTTP status code 400)
43
44
  # Raises:: {Ingenico::Connect::SDK::AuthorizationException} if the request was not allowed (HTTP status code 403)
44
45
  # Raises:: {Ingenico::Connect::SDK::IdempotenceException} if an idempotent request caused a conflict (HTTP status code 409)
@@ -48,27 +49,33 @@ module Ingenico::Connect::SDK
48
49
  # the Ingenico ePayments platform was unable to process a message from a downstream partner/acquirer,
49
50
  # or the service that you're trying to reach is temporary unavailable (HTTP status code 500, 502 or 503)
50
51
  # Raises:: {Ingenico::Connect::SDK::ApiException} if the Ingenico ePayments platform returned any other error
51
- def find(query, context=nil)
52
+ def create(body, context=nil)
52
53
  uri = instantiate_uri('/{apiVersion}/{merchantId}/payments', nil)
53
- return @communicator.get(
54
+ return @communicator.post(
54
55
  uri,
55
56
  client_headers,
56
- query,
57
- Ingenico::Connect::SDK::Domain::Payment::FindPaymentsResponse,
57
+ nil,
58
+ body,
59
+ Ingenico::Connect::SDK::Domain::Payment::CreatePaymentResponse,
58
60
  context)
59
61
  rescue ResponseException => e
60
- error_type = Ingenico::Connect::SDK::Domain::Errors::ErrorResponse
62
+ error_type = {
63
+ 400 => Ingenico::Connect::SDK::Domain::Payment::PaymentErrorResponse,
64
+ 402 => Ingenico::Connect::SDK::Domain::Payment::PaymentErrorResponse,
65
+ 403 => Ingenico::Connect::SDK::Domain::Payment::PaymentErrorResponse,
66
+ 502 => Ingenico::Connect::SDK::Domain::Payment::PaymentErrorResponse,
67
+ 503 => Ingenico::Connect::SDK::Domain::Payment::PaymentErrorResponse,
68
+ }.fetch(e.status_code, Ingenico::Connect::SDK::Domain::Errors::ErrorResponse)
61
69
  error_object = @communicator.marshaller.unmarshal(e.body, error_type)
62
70
  raise create_exception(e.status_code, e.body, error_object, context)
63
71
  end
64
72
 
65
73
  # Resource /{{merchantId}}/payments
66
74
  #
67
- # {https://epayments-api.developer-ingenico.com/s2sapi/v1/en_US/ruby/payments/create.html Create payment}
68
- # body:: {Ingenico::Connect::SDK::Domain::Payment::CreatePaymentRequest}
75
+ # {https://epayments-api.developer-ingenico.com/s2sapi/v1/en_US/ruby/payments/find.html Find payments}
76
+ # query:: {Ingenico::Connect::SDK::Merchant::Payments::FindPaymentsParams}
69
77
  # context:: {Ingenico::Connect::SDK::CallContext}
70
- # Returns:: {Ingenico::Connect::SDK::Domain::Payment::CreatePaymentResponse}
71
- # Raises:: {Ingenico::Connect::SDK::DeclinedPaymentException} if the Ingenico ePayments platform declined / rejected the payment. The payment result will be available from the exception.
78
+ # Returns:: {Ingenico::Connect::SDK::Domain::Payment::FindPaymentsResponse}
72
79
  # Raises:: {Ingenico::Connect::SDK::ValidationException} if the request was not correct and couldn't be processed (HTTP status code 400)
73
80
  # Raises:: {Ingenico::Connect::SDK::AuthorizationException} if the request was not allowed (HTTP status code 403)
74
81
  # Raises:: {Ingenico::Connect::SDK::IdempotenceException} if an idempotent request caused a conflict (HTTP status code 409)
@@ -78,23 +85,16 @@ module Ingenico::Connect::SDK
78
85
  # the Ingenico ePayments platform was unable to process a message from a downstream partner/acquirer,
79
86
  # or the service that you're trying to reach is temporary unavailable (HTTP status code 500, 502 or 503)
80
87
  # Raises:: {Ingenico::Connect::SDK::ApiException} if the Ingenico ePayments platform returned any other error
81
- def create(body, context=nil)
88
+ def find(query, context=nil)
82
89
  uri = instantiate_uri('/{apiVersion}/{merchantId}/payments', nil)
83
- return @communicator.post(
90
+ return @communicator.get(
84
91
  uri,
85
92
  client_headers,
86
- nil,
87
- body,
88
- Ingenico::Connect::SDK::Domain::Payment::CreatePaymentResponse,
93
+ query,
94
+ Ingenico::Connect::SDK::Domain::Payment::FindPaymentsResponse,
89
95
  context)
90
96
  rescue ResponseException => e
91
- error_type = {
92
- 400 => Ingenico::Connect::SDK::Domain::Payment::PaymentErrorResponse,
93
- 402 => Ingenico::Connect::SDK::Domain::Payment::PaymentErrorResponse,
94
- 403 => Ingenico::Connect::SDK::Domain::Payment::PaymentErrorResponse,
95
- 502 => Ingenico::Connect::SDK::Domain::Payment::PaymentErrorResponse,
96
- 503 => Ingenico::Connect::SDK::Domain::Payment::PaymentErrorResponse,
97
- }.fetch(e.status_code, Ingenico::Connect::SDK::Domain::Errors::ErrorResponse)
97
+ error_type = Ingenico::Connect::SDK::Domain::Errors::ErrorResponse
98
98
  error_object = @communicator.marshaller.unmarshal(e.body, error_type)
99
99
  raise create_exception(e.status_code, e.body, error_object, context)
100
100
  end
@@ -131,13 +131,13 @@ module Ingenico::Connect::SDK
131
131
  raise create_exception(e.status_code, e.body, error_object, context)
132
132
  end
133
133
 
134
- # Resource /{{merchantId}}/payments/{{paymentId}}/approve
134
+ # Resource /{{merchantId}}/payments/{{paymentId}}/complete
135
135
  #
136
- # {https://epayments-api.developer-ingenico.com/s2sapi/v1/en_US/ruby/payments/approve.html Approve payment}
136
+ # {https://epayments-api.developer-ingenico.com/s2sapi/v1/en_US/ruby/payments/complete.html Complete payment}
137
137
  # payment_id:: String
138
- # body:: {Ingenico::Connect::SDK::Domain::Payment::ApprovePaymentRequest}
138
+ # body:: {Ingenico::Connect::SDK::Domain::Payment::CompletePaymentRequest}
139
139
  # context:: {Ingenico::Connect::SDK::CallContext}
140
- # Returns:: {Ingenico::Connect::SDK::Domain::Payment::PaymentApprovalResponse}
140
+ # Returns:: {Ingenico::Connect::SDK::Domain::Payment::CompletePaymentResponse}
141
141
  # Raises:: {Ingenico::Connect::SDK::ValidationException} if the request was not correct and couldn't be processed (HTTP status code 400)
142
142
  # Raises:: {Ingenico::Connect::SDK::AuthorizationException} if the request was not allowed (HTTP status code 403)
143
143
  # Raises:: {Ingenico::Connect::SDK::IdempotenceException} if an idempotent request caused a conflict (HTTP status code 409)
@@ -147,17 +147,17 @@ module Ingenico::Connect::SDK
147
147
  # the Ingenico ePayments platform was unable to process a message from a downstream partner/acquirer,
148
148
  # or the service that you're trying to reach is temporary unavailable (HTTP status code 500, 502 or 503)
149
149
  # Raises:: {Ingenico::Connect::SDK::ApiException} if the Ingenico ePayments platform returned any other error
150
- def approve(payment_id, body, context=nil)
150
+ def complete(payment_id, body, context=nil)
151
151
  path_context = {
152
152
  'paymentId' => payment_id,
153
153
  }
154
- uri = instantiate_uri('/{apiVersion}/{merchantId}/payments/{paymentId}/approve', path_context)
154
+ uri = instantiate_uri('/{apiVersion}/{merchantId}/payments/{paymentId}/complete', path_context)
155
155
  return @communicator.post(
156
156
  uri,
157
157
  client_headers,
158
158
  nil,
159
159
  body,
160
- Ingenico::Connect::SDK::Domain::Payment::PaymentApprovalResponse,
160
+ Ingenico::Connect::SDK::Domain::Payment::CompletePaymentResponse,
161
161
  context)
162
162
  rescue ResponseException => e
163
163
  error_type = Ingenico::Connect::SDK::Domain::Errors::ErrorResponse
@@ -165,13 +165,12 @@ module Ingenico::Connect::SDK
165
165
  raise create_exception(e.status_code, e.body, error_object, context)
166
166
  end
167
167
 
168
- # Resource /{{merchantId}}/payments/{{paymentId}}/capture
168
+ # Resource /{{merchantId}}/payments/{{paymentId}}/thirdpartystatus
169
169
  #
170
- # {https://epayments-api.developer-ingenico.com/s2sapi/v1/en_US/ruby/payments/capture.html Capture payment}
170
+ # {https://epayments-api.developer-ingenico.com/s2sapi/v1/en_US/ruby/payments/thirdPartyStatus.html Third party status poll}
171
171
  # payment_id:: String
172
- # body:: {Ingenico::Connect::SDK::Domain::Payment::CapturePaymentRequest}
173
172
  # context:: {Ingenico::Connect::SDK::CallContext}
174
- # Returns:: {Ingenico::Connect::SDK::Domain::Capture::CaptureResponse}
173
+ # Returns:: {Ingenico::Connect::SDK::Domain::Payment::ThirdPartyStatusResponse}
175
174
  # Raises:: {Ingenico::Connect::SDK::ValidationException} if the request was not correct and couldn't be processed (HTTP status code 400)
176
175
  # Raises:: {Ingenico::Connect::SDK::AuthorizationException} if the request was not allowed (HTTP status code 403)
177
176
  # Raises:: {Ingenico::Connect::SDK::IdempotenceException} if an idempotent request caused a conflict (HTTP status code 409)
@@ -181,17 +180,16 @@ module Ingenico::Connect::SDK
181
180
  # the Ingenico ePayments platform was unable to process a message from a downstream partner/acquirer,
182
181
  # or the service that you're trying to reach is temporary unavailable (HTTP status code 500, 502 or 503)
183
182
  # Raises:: {Ingenico::Connect::SDK::ApiException} if the Ingenico ePayments platform returned any other error
184
- def capture(payment_id, body, context=nil)
183
+ def third_party_status(payment_id, context=nil)
185
184
  path_context = {
186
185
  'paymentId' => payment_id,
187
186
  }
188
- uri = instantiate_uri('/{apiVersion}/{merchantId}/payments/{paymentId}/capture', path_context)
189
- return @communicator.post(
187
+ uri = instantiate_uri('/{apiVersion}/{merchantId}/payments/{paymentId}/thirdpartystatus', path_context)
188
+ return @communicator.get(
190
189
  uri,
191
190
  client_headers,
192
191
  nil,
193
- body,
194
- Ingenico::Connect::SDK::Domain::Capture::CaptureResponse,
192
+ Ingenico::Connect::SDK::Domain::Payment::ThirdPartyStatusResponse,
195
193
  context)
196
194
  rescue ResponseException => e
197
195
  error_type = Ingenico::Connect::SDK::Domain::Errors::ErrorResponse
@@ -199,12 +197,13 @@ module Ingenico::Connect::SDK
199
197
  raise create_exception(e.status_code, e.body, error_object, context)
200
198
  end
201
199
 
202
- # Resource /{{merchantId}}/payments/{{paymentId}}/captures
200
+ # Resource /{{merchantId}}/payments/{{paymentId}}/tokenize
203
201
  #
204
- # {https://epayments-api.developer-ingenico.com/s2sapi/v1/en_US/ruby/payments/captures.html Get captures of payment}
202
+ # {https://epayments-api.developer-ingenico.com/s2sapi/v1/en_US/ruby/payments/tokenize.html Create a token from payment}
205
203
  # payment_id:: String
204
+ # body:: {Ingenico::Connect::SDK::Domain::Payment::TokenizePaymentRequest}
206
205
  # context:: {Ingenico::Connect::SDK::CallContext}
207
- # Returns:: {Ingenico::Connect::SDK::Domain::Capture::CapturesResponse}
206
+ # Returns:: {Ingenico::Connect::SDK::Domain::Token::CreateTokenResponse}
208
207
  # Raises:: {Ingenico::Connect::SDK::ValidationException} if the request was not correct and couldn't be processed (HTTP status code 400)
209
208
  # Raises:: {Ingenico::Connect::SDK::AuthorizationException} if the request was not allowed (HTTP status code 403)
210
209
  # Raises:: {Ingenico::Connect::SDK::IdempotenceException} if an idempotent request caused a conflict (HTTP status code 409)
@@ -214,16 +213,17 @@ module Ingenico::Connect::SDK
214
213
  # the Ingenico ePayments platform was unable to process a message from a downstream partner/acquirer,
215
214
  # or the service that you're trying to reach is temporary unavailable (HTTP status code 500, 502 or 503)
216
215
  # Raises:: {Ingenico::Connect::SDK::ApiException} if the Ingenico ePayments platform returned any other error
217
- def captures(payment_id, context=nil)
216
+ def tokenize(payment_id, body, context=nil)
218
217
  path_context = {
219
218
  'paymentId' => payment_id,
220
219
  }
221
- uri = instantiate_uri('/{apiVersion}/{merchantId}/payments/{paymentId}/captures', path_context)
222
- return @communicator.get(
220
+ uri = instantiate_uri('/{apiVersion}/{merchantId}/payments/{paymentId}/tokenize', path_context)
221
+ return @communicator.post(
223
222
  uri,
224
223
  client_headers,
225
224
  nil,
226
- Ingenico::Connect::SDK::Domain::Capture::CapturesResponse,
225
+ body,
226
+ Ingenico::Connect::SDK::Domain::Token::CreateTokenResponse,
227
227
  context)
228
228
  rescue ResponseException => e
229
229
  error_type = Ingenico::Connect::SDK::Domain::Errors::ErrorResponse
@@ -231,13 +231,12 @@ module Ingenico::Connect::SDK
231
231
  raise create_exception(e.status_code, e.body, error_object, context)
232
232
  end
233
233
 
234
- # Resource /{{merchantId}}/payments/{{paymentId}}/complete
234
+ # Resource /{{merchantId}}/payments/{{paymentId}}/processchallenged
235
235
  #
236
- # {https://epayments-api.developer-ingenico.com/s2sapi/v1/en_US/ruby/payments/complete.html Complete payment}
236
+ # {https://epayments-api.developer-ingenico.com/s2sapi/v1/en_US/ruby/payments/processchallenged.html Approves challenged payment}
237
237
  # payment_id:: String
238
- # body:: {Ingenico::Connect::SDK::Domain::Payment::CompletePaymentRequest}
239
238
  # context:: {Ingenico::Connect::SDK::CallContext}
240
- # Returns:: {Ingenico::Connect::SDK::Domain::Payment::CompletePaymentResponse}
239
+ # Returns:: {Ingenico::Connect::SDK::Domain::Payment::PaymentResponse}
241
240
  # Raises:: {Ingenico::Connect::SDK::ValidationException} if the request was not correct and couldn't be processed (HTTP status code 400)
242
241
  # Raises:: {Ingenico::Connect::SDK::AuthorizationException} if the request was not allowed (HTTP status code 403)
243
242
  # Raises:: {Ingenico::Connect::SDK::IdempotenceException} if an idempotent request caused a conflict (HTTP status code 409)
@@ -247,17 +246,17 @@ module Ingenico::Connect::SDK
247
246
  # the Ingenico ePayments platform was unable to process a message from a downstream partner/acquirer,
248
247
  # or the service that you're trying to reach is temporary unavailable (HTTP status code 500, 502 or 503)
249
248
  # Raises:: {Ingenico::Connect::SDK::ApiException} if the Ingenico ePayments platform returned any other error
250
- def complete(payment_id, body, context=nil)
249
+ def processchallenged(payment_id, context=nil)
251
250
  path_context = {
252
251
  'paymentId' => payment_id,
253
252
  }
254
- uri = instantiate_uri('/{apiVersion}/{merchantId}/payments/{paymentId}/complete', path_context)
253
+ uri = instantiate_uri('/{apiVersion}/{merchantId}/payments/{paymentId}/processchallenged', path_context)
255
254
  return @communicator.post(
256
255
  uri,
257
256
  client_headers,
258
257
  nil,
259
- body,
260
- Ingenico::Connect::SDK::Domain::Payment::CompletePaymentResponse,
258
+ nil,
259
+ Ingenico::Connect::SDK::Domain::Payment::PaymentResponse,
261
260
  context)
262
261
  rescue ResponseException => e
263
262
  error_type = Ingenico::Connect::SDK::Domain::Errors::ErrorResponse
@@ -265,12 +264,13 @@ module Ingenico::Connect::SDK
265
264
  raise create_exception(e.status_code, e.body, error_object, context)
266
265
  end
267
266
 
268
- # Resource /{{merchantId}}/payments/{{paymentId}}/thirdpartystatus
267
+ # Resource /{{merchantId}}/payments/{{paymentId}}/approve
269
268
  #
270
- # {https://epayments-api.developer-ingenico.com/s2sapi/v1/en_US/ruby/payments/thirdPartyStatus.html Third party status poll}
269
+ # {https://epayments-api.developer-ingenico.com/s2sapi/v1/en_US/ruby/payments/approve.html Approve payment}
271
270
  # payment_id:: String
271
+ # body:: {Ingenico::Connect::SDK::Domain::Payment::ApprovePaymentRequest}
272
272
  # context:: {Ingenico::Connect::SDK::CallContext}
273
- # Returns:: {Ingenico::Connect::SDK::Domain::Payment::ThirdPartyStatusResponse}
273
+ # Returns:: {Ingenico::Connect::SDK::Domain::Payment::PaymentApprovalResponse}
274
274
  # Raises:: {Ingenico::Connect::SDK::ValidationException} if the request was not correct and couldn't be processed (HTTP status code 400)
275
275
  # Raises:: {Ingenico::Connect::SDK::AuthorizationException} if the request was not allowed (HTTP status code 403)
276
276
  # Raises:: {Ingenico::Connect::SDK::IdempotenceException} if an idempotent request caused a conflict (HTTP status code 409)
@@ -280,16 +280,17 @@ module Ingenico::Connect::SDK
280
280
  # the Ingenico ePayments platform was unable to process a message from a downstream partner/acquirer,
281
281
  # or the service that you're trying to reach is temporary unavailable (HTTP status code 500, 502 or 503)
282
282
  # Raises:: {Ingenico::Connect::SDK::ApiException} if the Ingenico ePayments platform returned any other error
283
- def third_party_status(payment_id, context=nil)
283
+ def approve(payment_id, body, context=nil)
284
284
  path_context = {
285
285
  'paymentId' => payment_id,
286
286
  }
287
- uri = instantiate_uri('/{apiVersion}/{merchantId}/payments/{paymentId}/thirdpartystatus', path_context)
288
- return @communicator.get(
287
+ uri = instantiate_uri('/{apiVersion}/{merchantId}/payments/{paymentId}/approve', path_context)
288
+ return @communicator.post(
289
289
  uri,
290
290
  client_headers,
291
291
  nil,
292
- Ingenico::Connect::SDK::Domain::Payment::ThirdPartyStatusResponse,
292
+ body,
293
+ Ingenico::Connect::SDK::Domain::Payment::PaymentApprovalResponse,
293
294
  context)
294
295
  rescue ResponseException => e
295
296
  error_type = Ingenico::Connect::SDK::Domain::Errors::ErrorResponse
@@ -297,12 +298,13 @@ module Ingenico::Connect::SDK
297
298
  raise create_exception(e.status_code, e.body, error_object, context)
298
299
  end
299
300
 
300
- # Resource /{{merchantId}}/payments/{{paymentId}}/cancel
301
+ # Resource /{{merchantId}}/payments/{{paymentId}}/capture
301
302
  #
302
- # {https://epayments-api.developer-ingenico.com/s2sapi/v1/en_US/ruby/payments/cancel.html Cancel payment}
303
+ # {https://epayments-api.developer-ingenico.com/s2sapi/v1/en_US/ruby/payments/capture.html Capture payment}
303
304
  # payment_id:: String
305
+ # body:: {Ingenico::Connect::SDK::Domain::Payment::CapturePaymentRequest}
304
306
  # context:: {Ingenico::Connect::SDK::CallContext}
305
- # Returns:: {Ingenico::Connect::SDK::Domain::Payment::CancelPaymentResponse}
307
+ # Returns:: {Ingenico::Connect::SDK::Domain::Capture::CaptureResponse}
306
308
  # Raises:: {Ingenico::Connect::SDK::ValidationException} if the request was not correct and couldn't be processed (HTTP status code 400)
307
309
  # Raises:: {Ingenico::Connect::SDK::AuthorizationException} if the request was not allowed (HTTP status code 403)
308
310
  # Raises:: {Ingenico::Connect::SDK::IdempotenceException} if an idempotent request caused a conflict (HTTP status code 409)
@@ -312,17 +314,17 @@ module Ingenico::Connect::SDK
312
314
  # the Ingenico ePayments platform was unable to process a message from a downstream partner/acquirer,
313
315
  # or the service that you're trying to reach is temporary unavailable (HTTP status code 500, 502 or 503)
314
316
  # Raises:: {Ingenico::Connect::SDK::ApiException} if the Ingenico ePayments platform returned any other error
315
- def cancel(payment_id, context=nil)
317
+ def capture(payment_id, body, context=nil)
316
318
  path_context = {
317
319
  'paymentId' => payment_id,
318
320
  }
319
- uri = instantiate_uri('/{apiVersion}/{merchantId}/payments/{paymentId}/cancel', path_context)
321
+ uri = instantiate_uri('/{apiVersion}/{merchantId}/payments/{paymentId}/capture', path_context)
320
322
  return @communicator.post(
321
323
  uri,
322
324
  client_headers,
323
325
  nil,
324
- nil,
325
- Ingenico::Connect::SDK::Domain::Payment::CancelPaymentResponse,
326
+ body,
327
+ Ingenico::Connect::SDK::Domain::Capture::CaptureResponse,
326
328
  context)
327
329
  rescue ResponseException => e
328
330
  error_type = Ingenico::Connect::SDK::Domain::Errors::ErrorResponse
@@ -363,12 +365,12 @@ module Ingenico::Connect::SDK
363
365
  raise create_exception(e.status_code, e.body, error_object, context)
364
366
  end
365
367
 
366
- # Resource /{{merchantId}}/payments/{{paymentId}}/processchallenged
368
+ # Resource /{{merchantId}}/payments/{{paymentId}}/captures
367
369
  #
368
- # {https://epayments-api.developer-ingenico.com/s2sapi/v1/en_US/ruby/payments/processchallenged.html Approves challenged payment}
370
+ # {https://epayments-api.developer-ingenico.com/s2sapi/v1/en_US/ruby/payments/captures.html Get captures of payment}
369
371
  # payment_id:: String
370
372
  # context:: {Ingenico::Connect::SDK::CallContext}
371
- # Returns:: {Ingenico::Connect::SDK::Domain::Payment::PaymentResponse}
373
+ # Returns:: {Ingenico::Connect::SDK::Domain::Capture::CapturesResponse}
372
374
  # Raises:: {Ingenico::Connect::SDK::ValidationException} if the request was not correct and couldn't be processed (HTTP status code 400)
373
375
  # Raises:: {Ingenico::Connect::SDK::AuthorizationException} if the request was not allowed (HTTP status code 403)
374
376
  # Raises:: {Ingenico::Connect::SDK::IdempotenceException} if an idempotent request caused a conflict (HTTP status code 409)
@@ -378,17 +380,16 @@ module Ingenico::Connect::SDK
378
380
  # the Ingenico ePayments platform was unable to process a message from a downstream partner/acquirer,
379
381
  # or the service that you're trying to reach is temporary unavailable (HTTP status code 500, 502 or 503)
380
382
  # Raises:: {Ingenico::Connect::SDK::ApiException} if the Ingenico ePayments platform returned any other error
381
- def processchallenged(payment_id, context=nil)
383
+ def captures(payment_id, context=nil)
382
384
  path_context = {
383
385
  'paymentId' => payment_id,
384
386
  }
385
- uri = instantiate_uri('/{apiVersion}/{merchantId}/payments/{paymentId}/processchallenged', path_context)
386
- return @communicator.post(
387
+ uri = instantiate_uri('/{apiVersion}/{merchantId}/payments/{paymentId}/captures', path_context)
388
+ return @communicator.get(
387
389
  uri,
388
390
  client_headers,
389
391
  nil,
390
- nil,
391
- Ingenico::Connect::SDK::Domain::Payment::PaymentResponse,
392
+ Ingenico::Connect::SDK::Domain::Capture::CapturesResponse,
392
393
  context)
393
394
  rescue ResponseException => e
394
395
  error_type = Ingenico::Connect::SDK::Domain::Errors::ErrorResponse
@@ -434,13 +435,12 @@ module Ingenico::Connect::SDK
434
435
  raise create_exception(e.status_code, e.body, error_object, context)
435
436
  end
436
437
 
437
- # Resource /{{merchantId}}/payments/{{paymentId}}/tokenize
438
+ # Resource /{{merchantId}}/payments/{{paymentId}}/cancel
438
439
  #
439
- # {https://epayments-api.developer-ingenico.com/s2sapi/v1/en_US/ruby/payments/tokenize.html Create a token from payment}
440
+ # {https://epayments-api.developer-ingenico.com/s2sapi/v1/en_US/ruby/payments/cancel.html Cancel payment}
440
441
  # payment_id:: String
441
- # body:: {Ingenico::Connect::SDK::Domain::Payment::TokenizePaymentRequest}
442
442
  # context:: {Ingenico::Connect::SDK::CallContext}
443
- # Returns:: {Ingenico::Connect::SDK::Domain::Token::CreateTokenResponse}
443
+ # Returns:: {Ingenico::Connect::SDK::Domain::Payment::CancelPaymentResponse}
444
444
  # Raises:: {Ingenico::Connect::SDK::ValidationException} if the request was not correct and couldn't be processed (HTTP status code 400)
445
445
  # Raises:: {Ingenico::Connect::SDK::AuthorizationException} if the request was not allowed (HTTP status code 403)
446
446
  # Raises:: {Ingenico::Connect::SDK::IdempotenceException} if an idempotent request caused a conflict (HTTP status code 409)
@@ -450,17 +450,17 @@ module Ingenico::Connect::SDK
450
450
  # the Ingenico ePayments platform was unable to process a message from a downstream partner/acquirer,
451
451
  # or the service that you're trying to reach is temporary unavailable (HTTP status code 500, 502 or 503)
452
452
  # Raises:: {Ingenico::Connect::SDK::ApiException} if the Ingenico ePayments platform returned any other error
453
- def tokenize(payment_id, body, context=nil)
453
+ def cancel(payment_id, context=nil)
454
454
  path_context = {
455
455
  'paymentId' => payment_id,
456
456
  }
457
- uri = instantiate_uri('/{apiVersion}/{merchantId}/payments/{paymentId}/tokenize', path_context)
457
+ uri = instantiate_uri('/{apiVersion}/{merchantId}/payments/{paymentId}/cancel', path_context)
458
458
  return @communicator.post(
459
459
  uri,
460
460
  client_headers,
461
461
  nil,
462
- body,
463
- Ingenico::Connect::SDK::Domain::Token::CreateTokenResponse,
462
+ nil,
463
+ Ingenico::Connect::SDK::Domain::Payment::CancelPaymentResponse,
464
464
  context)
465
465
  rescue ResponseException => e
466
466
  error_type = Ingenico::Connect::SDK::Domain::Errors::ErrorResponse
@@ -24,10 +24,11 @@ module Ingenico::Connect::SDK
24
24
 
25
25
  # Resource /{{merchantId}}/payouts
26
26
  #
27
- # {https://epayments-api.developer-ingenico.com/s2sapi/v1/en_US/ruby/payouts/find.html Find payouts}
28
- # query:: {Ingenico::Connect::SDK::Merchant::Payouts::FindPayoutsParams}
27
+ # {https://epayments-api.developer-ingenico.com/s2sapi/v1/en_US/ruby/payouts/create.html Create payout}
28
+ # body:: {Ingenico::Connect::SDK::Domain::Payout::CreatePayoutRequest}
29
29
  # context:: {Ingenico::Connect::SDK::CallContext}
30
- # Returns:: {Ingenico::Connect::SDK::Domain::Payout::FindPayoutsResponse}
30
+ # Returns:: {Ingenico::Connect::SDK::Domain::Payout::PayoutResponse}
31
+ # Raises:: {Ingenico::Connect::SDK::DeclinedPayoutException} if the Ingenico ePayments platform declined / rejected the payout. The payout result will be available from the exception.
31
32
  # Raises:: {Ingenico::Connect::SDK::ValidationException} if the request was not correct and couldn't be processed (HTTP status code 400)
32
33
  # Raises:: {Ingenico::Connect::SDK::AuthorizationException} if the request was not allowed (HTTP status code 403)
33
34
  # Raises:: {Ingenico::Connect::SDK::IdempotenceException} if an idempotent request caused a conflict (HTTP status code 409)
@@ -37,27 +38,29 @@ module Ingenico::Connect::SDK
37
38
  # the Ingenico ePayments platform was unable to process a message from a downstream partner/acquirer,
38
39
  # or the service that you're trying to reach is temporary unavailable (HTTP status code 500, 502 or 503)
39
40
  # Raises:: {Ingenico::Connect::SDK::ApiException} if the Ingenico ePayments platform returned any other error
40
- def find(query, context=nil)
41
+ def create(body, context=nil)
41
42
  uri = instantiate_uri('/{apiVersion}/{merchantId}/payouts', nil)
42
- return @communicator.get(
43
+ return @communicator.post(
43
44
  uri,
44
45
  client_headers,
45
- query,
46
- Ingenico::Connect::SDK::Domain::Payout::FindPayoutsResponse,
46
+ nil,
47
+ body,
48
+ Ingenico::Connect::SDK::Domain::Payout::PayoutResponse,
47
49
  context)
48
50
  rescue ResponseException => e
49
- error_type = Ingenico::Connect::SDK::Domain::Errors::ErrorResponse
51
+ error_type = {
52
+ 400 => Ingenico::Connect::SDK::Domain::Payout::PayoutErrorResponse,
53
+ }.fetch(e.status_code, Ingenico::Connect::SDK::Domain::Errors::ErrorResponse)
50
54
  error_object = @communicator.marshaller.unmarshal(e.body, error_type)
51
55
  raise create_exception(e.status_code, e.body, error_object, context)
52
56
  end
53
57
 
54
58
  # Resource /{{merchantId}}/payouts
55
59
  #
56
- # {https://epayments-api.developer-ingenico.com/s2sapi/v1/en_US/ruby/payouts/create.html Create payout}
57
- # body:: {Ingenico::Connect::SDK::Domain::Payout::CreatePayoutRequest}
60
+ # {https://epayments-api.developer-ingenico.com/s2sapi/v1/en_US/ruby/payouts/find.html Find payouts}
61
+ # query:: {Ingenico::Connect::SDK::Merchant::Payouts::FindPayoutsParams}
58
62
  # context:: {Ingenico::Connect::SDK::CallContext}
59
- # Returns:: {Ingenico::Connect::SDK::Domain::Payout::PayoutResponse}
60
- # Raises:: {Ingenico::Connect::SDK::DeclinedPayoutException} if the Ingenico ePayments platform declined / rejected the payout. The payout result will be available from the exception.
63
+ # Returns:: {Ingenico::Connect::SDK::Domain::Payout::FindPayoutsResponse}
61
64
  # Raises:: {Ingenico::Connect::SDK::ValidationException} if the request was not correct and couldn't be processed (HTTP status code 400)
62
65
  # Raises:: {Ingenico::Connect::SDK::AuthorizationException} if the request was not allowed (HTTP status code 403)
63
66
  # Raises:: {Ingenico::Connect::SDK::IdempotenceException} if an idempotent request caused a conflict (HTTP status code 409)
@@ -67,19 +70,16 @@ module Ingenico::Connect::SDK
67
70
  # the Ingenico ePayments platform was unable to process a message from a downstream partner/acquirer,
68
71
  # or the service that you're trying to reach is temporary unavailable (HTTP status code 500, 502 or 503)
69
72
  # Raises:: {Ingenico::Connect::SDK::ApiException} if the Ingenico ePayments platform returned any other error
70
- def create(body, context=nil)
73
+ def find(query, context=nil)
71
74
  uri = instantiate_uri('/{apiVersion}/{merchantId}/payouts', nil)
72
- return @communicator.post(
75
+ return @communicator.get(
73
76
  uri,
74
77
  client_headers,
75
- nil,
76
- body,
77
- Ingenico::Connect::SDK::Domain::Payout::PayoutResponse,
78
+ query,
79
+ Ingenico::Connect::SDK::Domain::Payout::FindPayoutsResponse,
78
80
  context)
79
81
  rescue ResponseException => e
80
- error_type = {
81
- 400 => Ingenico::Connect::SDK::Domain::Payout::PayoutErrorResponse,
82
- }.fetch(e.status_code, Ingenico::Connect::SDK::Domain::Errors::ErrorResponse)
82
+ error_type = Ingenico::Connect::SDK::Domain::Errors::ErrorResponse
83
83
  error_object = @communicator.marshaller.unmarshal(e.body, error_type)
84
84
  raise create_exception(e.status_code, e.body, error_object, context)
85
85
  end
@@ -5,6 +5,7 @@
5
5
  require 'ingenico/connect/sdk/api_resource'
6
6
  require 'ingenico/connect/sdk/response_exception'
7
7
  require 'ingenico/connect/sdk/domain/errors/error_response'
8
+ require 'ingenico/connect/sdk/domain/product/device_fingerprint_response'
8
9
  require 'ingenico/connect/sdk/domain/product/directory'
9
10
  require 'ingenico/connect/sdk/domain/product/get_customer_details_response'
10
11
  require 'ingenico/connect/sdk/domain/product/payment_product_networks_response'
@@ -120,13 +121,13 @@ module Ingenico::Connect::SDK
120
121
  raise create_exception(e.status_code, e.body, error_object, context)
121
122
  end
122
123
 
123
- # Resource /{{merchantId}}/products/{{paymentProductId}}/networks
124
+ # Resource /{{merchantId}}/products/{{paymentProductId}}/customerDetails
124
125
  #
125
- # {https://epayments-api.developer-ingenico.com/s2sapi/v1/en_US/ruby/products/networks.html Get payment product networks}
126
+ # {https://epayments-api.developer-ingenico.com/s2sapi/v1/en_US/ruby/products/customerDetails.html Get customer details}
126
127
  # payment_product_id:: Integer
127
- # query:: {Ingenico::Connect::SDK::Merchant::Products::NetworksParams}
128
+ # body:: {Ingenico::Connect::SDK::Domain::Product::GetCustomerDetailsRequest}
128
129
  # context:: {Ingenico::Connect::SDK::CallContext}
129
- # Returns:: {Ingenico::Connect::SDK::Domain::Product::PaymentProductNetworksResponse}
130
+ # Returns:: {Ingenico::Connect::SDK::Domain::Product::GetCustomerDetailsResponse}
130
131
  # Raises:: {Ingenico::Connect::SDK::ValidationException} if the request was not correct and couldn't be processed (HTTP status code 400)
131
132
  # Raises:: {Ingenico::Connect::SDK::AuthorizationException} if the request was not allowed (HTTP status code 403)
132
133
  # Raises:: {Ingenico::Connect::SDK::IdempotenceException} if an idempotent request caused a conflict (HTTP status code 409)
@@ -136,16 +137,17 @@ module Ingenico::Connect::SDK
136
137
  # the Ingenico ePayments platform was unable to process a message from a downstream partner/acquirer,
137
138
  # or the service that you're trying to reach is temporary unavailable (HTTP status code 500, 502 or 503)
138
139
  # Raises:: {Ingenico::Connect::SDK::ApiException} if the Ingenico ePayments platform returned any other error
139
- def networks(payment_product_id, query, context=nil)
140
+ def customer_details(payment_product_id, body, context=nil)
140
141
  path_context = {
141
142
  'paymentProductId' => payment_product_id.to_s,
142
143
  }
143
- uri = instantiate_uri('/{apiVersion}/{merchantId}/products/{paymentProductId}/networks', path_context)
144
- return @communicator.get(
144
+ uri = instantiate_uri('/{apiVersion}/{merchantId}/products/{paymentProductId}/customerDetails', path_context)
145
+ return @communicator.post(
145
146
  uri,
146
147
  client_headers,
147
- query,
148
- Ingenico::Connect::SDK::Domain::Product::PaymentProductNetworksResponse,
148
+ nil,
149
+ body,
150
+ Ingenico::Connect::SDK::Domain::Product::GetCustomerDetailsResponse,
149
151
  context)
150
152
  rescue ResponseException => e
151
153
  error_type = Ingenico::Connect::SDK::Domain::Errors::ErrorResponse
@@ -153,12 +155,13 @@ module Ingenico::Connect::SDK
153
155
  raise create_exception(e.status_code, e.body, error_object, context)
154
156
  end
155
157
 
156
- # Resource /{{merchantId}}/products/{{paymentProductId}}/publicKey
158
+ # Resource /{{merchantId}}/products/{{paymentProductId}}/deviceFingerprint
157
159
  #
158
- # {https://epayments-api.developer-ingenico.com/s2sapi/v1/en_US/ruby/products/publicKey.html Get payment product specific public key}
160
+ # {https://epayments-api.developer-ingenico.com/s2sapi/v1/en_US/ruby/products/deviceFingerprint.html Get device fingerprint}
159
161
  # payment_product_id:: Integer
162
+ # body:: {Ingenico::Connect::SDK::Domain::Product::DeviceFingerprintRequest}
160
163
  # context:: {Ingenico::Connect::SDK::CallContext}
161
- # Returns:: {Ingenico::Connect::SDK::Domain::Publickey::PublicKey}
164
+ # Returns:: {Ingenico::Connect::SDK::Domain::Product::DeviceFingerprintResponse}
162
165
  # Raises:: {Ingenico::Connect::SDK::ValidationException} if the request was not correct and couldn't be processed (HTTP status code 400)
163
166
  # Raises:: {Ingenico::Connect::SDK::AuthorizationException} if the request was not allowed (HTTP status code 403)
164
167
  # Raises:: {Ingenico::Connect::SDK::IdempotenceException} if an idempotent request caused a conflict (HTTP status code 409)
@@ -168,16 +171,17 @@ module Ingenico::Connect::SDK
168
171
  # the Ingenico ePayments platform was unable to process a message from a downstream partner/acquirer,
169
172
  # or the service that you're trying to reach is temporary unavailable (HTTP status code 500, 502 or 503)
170
173
  # Raises:: {Ingenico::Connect::SDK::ApiException} if the Ingenico ePayments platform returned any other error
171
- def public_key(payment_product_id, context=nil)
174
+ def device_fingerprint(payment_product_id, body, context=nil)
172
175
  path_context = {
173
176
  'paymentProductId' => payment_product_id.to_s,
174
177
  }
175
- uri = instantiate_uri('/{apiVersion}/{merchantId}/products/{paymentProductId}/publicKey', path_context)
176
- return @communicator.get(
178
+ uri = instantiate_uri('/{apiVersion}/{merchantId}/products/{paymentProductId}/deviceFingerprint', path_context)
179
+ return @communicator.post(
177
180
  uri,
178
181
  client_headers,
179
182
  nil,
180
- Ingenico::Connect::SDK::Domain::Publickey::PublicKey,
183
+ body,
184
+ Ingenico::Connect::SDK::Domain::Product::DeviceFingerprintResponse,
181
185
  context)
182
186
  rescue ResponseException => e
183
187
  error_type = Ingenico::Connect::SDK::Domain::Errors::ErrorResponse
@@ -185,13 +189,13 @@ module Ingenico::Connect::SDK
185
189
  raise create_exception(e.status_code, e.body, error_object, context)
186
190
  end
187
191
 
188
- # Resource /{{merchantId}}/products/{{paymentProductId}}/customerDetails
192
+ # Resource /{{merchantId}}/products/{{paymentProductId}}/networks
189
193
  #
190
- # {https://epayments-api.developer-ingenico.com/s2sapi/v1/en_US/ruby/products/customerDetails.html Get customer details}
194
+ # {https://epayments-api.developer-ingenico.com/s2sapi/v1/en_US/ruby/products/networks.html Get payment product networks}
191
195
  # payment_product_id:: Integer
192
- # body:: {Ingenico::Connect::SDK::Domain::Product::GetCustomerDetailsRequest}
196
+ # query:: {Ingenico::Connect::SDK::Merchant::Products::NetworksParams}
193
197
  # context:: {Ingenico::Connect::SDK::CallContext}
194
- # Returns:: {Ingenico::Connect::SDK::Domain::Product::GetCustomerDetailsResponse}
198
+ # Returns:: {Ingenico::Connect::SDK::Domain::Product::PaymentProductNetworksResponse}
195
199
  # Raises:: {Ingenico::Connect::SDK::ValidationException} if the request was not correct and couldn't be processed (HTTP status code 400)
196
200
  # Raises:: {Ingenico::Connect::SDK::AuthorizationException} if the request was not allowed (HTTP status code 403)
197
201
  # Raises:: {Ingenico::Connect::SDK::IdempotenceException} if an idempotent request caused a conflict (HTTP status code 409)
@@ -201,17 +205,48 @@ module Ingenico::Connect::SDK
201
205
  # the Ingenico ePayments platform was unable to process a message from a downstream partner/acquirer,
202
206
  # or the service that you're trying to reach is temporary unavailable (HTTP status code 500, 502 or 503)
203
207
  # Raises:: {Ingenico::Connect::SDK::ApiException} if the Ingenico ePayments platform returned any other error
204
- def customer_details(payment_product_id, body, context=nil)
208
+ def networks(payment_product_id, query, context=nil)
205
209
  path_context = {
206
210
  'paymentProductId' => payment_product_id.to_s,
207
211
  }
208
- uri = instantiate_uri('/{apiVersion}/{merchantId}/products/{paymentProductId}/customerDetails', path_context)
209
- return @communicator.post(
212
+ uri = instantiate_uri('/{apiVersion}/{merchantId}/products/{paymentProductId}/networks', path_context)
213
+ return @communicator.get(
214
+ uri,
215
+ client_headers,
216
+ query,
217
+ Ingenico::Connect::SDK::Domain::Product::PaymentProductNetworksResponse,
218
+ context)
219
+ rescue ResponseException => e
220
+ error_type = Ingenico::Connect::SDK::Domain::Errors::ErrorResponse
221
+ error_object = @communicator.marshaller.unmarshal(e.body, error_type)
222
+ raise create_exception(e.status_code, e.body, error_object, context)
223
+ end
224
+
225
+ # Resource /{{merchantId}}/products/{{paymentProductId}}/publicKey
226
+ #
227
+ # {https://epayments-api.developer-ingenico.com/s2sapi/v1/en_US/ruby/products/publicKey.html Get payment product specific public key}
228
+ # payment_product_id:: Integer
229
+ # context:: {Ingenico::Connect::SDK::CallContext}
230
+ # Returns:: {Ingenico::Connect::SDK::Domain::Publickey::PublicKey}
231
+ # Raises:: {Ingenico::Connect::SDK::ValidationException} if the request was not correct and couldn't be processed (HTTP status code 400)
232
+ # Raises:: {Ingenico::Connect::SDK::AuthorizationException} if the request was not allowed (HTTP status code 403)
233
+ # Raises:: {Ingenico::Connect::SDK::IdempotenceException} if an idempotent request caused a conflict (HTTP status code 409)
234
+ # Raises:: {Ingenico::Connect::SDK::ReferenceException} if an object was attempted to be referenced that doesn't exist or has been removed,
235
+ # or there was a conflict (HTTP status code 404, 409 or 410)
236
+ # Raises:: {Ingenico::Connect::SDK::GlobalCollectException} if something went wrong at the Ingenico ePayments platform,
237
+ # the Ingenico ePayments platform was unable to process a message from a downstream partner/acquirer,
238
+ # or the service that you're trying to reach is temporary unavailable (HTTP status code 500, 502 or 503)
239
+ # Raises:: {Ingenico::Connect::SDK::ApiException} if the Ingenico ePayments platform returned any other error
240
+ def public_key(payment_product_id, context=nil)
241
+ path_context = {
242
+ 'paymentProductId' => payment_product_id.to_s,
243
+ }
244
+ uri = instantiate_uri('/{apiVersion}/{merchantId}/products/{paymentProductId}/publicKey', path_context)
245
+ return @communicator.get(
210
246
  uri,
211
247
  client_headers,
212
248
  nil,
213
- body,
214
- Ingenico::Connect::SDK::Domain::Product::GetCustomerDetailsResponse,
249
+ Ingenico::Connect::SDK::Domain::Publickey::PublicKey,
215
250
  context)
216
251
  rescue ResponseException => e
217
252
  error_type = Ingenico::Connect::SDK::Domain::Errors::ErrorResponse
@@ -5,7 +5,7 @@ module Ingenico::Connect::SDK
5
5
 
6
6
  # Manages metadata about the server using the SDK
7
7
  class MetaDataProvider
8
- @@SDK_VERSION = '1.16.0'
8
+ @@SDK_VERSION = '1.17.0'
9
9
  @@SERVER_META_INFO_HEADER = 'X-GCS-ServerMetaInfo'
10
10
  @@PROHIBITED_HEADERS = [@@SERVER_META_INFO_HEADER, 'X-GCS-Idempotence-Key',
11
11
  '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: 1.16.0
4
+ version: 1.17.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: 2017-12-18 00:00:00.000000000 Z
11
+ date: 2018-01-15 00:00:00.000000000 Z
12
12
  dependencies:
13
13
  - !ruby/object:Gem::Dependency
14
14
  name: httpclient
@@ -127,6 +127,7 @@ files:
127
127
  - examples/merchant/hostedcheckouts/get_hosted_checkout_example.rb
128
128
  - examples/merchant/mandates/block_mandate_example.rb
129
129
  - examples/merchant/mandates/create_mandate_example.rb
130
+ - examples/merchant/mandates/create_mandate_with_reference_example.rb
130
131
  - examples/merchant/mandates/get_mandate_example.rb
131
132
  - examples/merchant/mandates/revoke_mandate_example.rb
132
133
  - examples/merchant/mandates/unblock_mandate_example.rb
@@ -152,6 +153,7 @@ files:
152
153
  - examples/merchant/productgroups/get_payment_product_group_example.rb
153
154
  - examples/merchant/productgroups/get_payment_product_groups_example.rb
154
155
  - examples/merchant/products/get_customer_details_example.rb
156
+ - examples/merchant/products/get_device_fingerprint_example.rb
155
157
  - examples/merchant/products/get_directory_example.rb
156
158
  - examples/merchant/products/get_networks_example.rb
157
159
  - examples/merchant/products/get_payment_product_example.rb
@@ -382,6 +384,8 @@ files:
382
384
  - lib/ingenico/connect/sdk/domain/product/account_on_file_display_hints.rb
383
385
  - lib/ingenico/connect/sdk/domain/product/authentication_indicator.rb
384
386
  - lib/ingenico/connect/sdk/domain/product/boleto_bancario_requiredness_validator.rb
387
+ - lib/ingenico/connect/sdk/domain/product/device_fingerprint_request.rb
388
+ - lib/ingenico/connect/sdk/domain/product/device_fingerprint_response.rb
385
389
  - lib/ingenico/connect/sdk/domain/product/directory.rb
386
390
  - lib/ingenico/connect/sdk/domain/product/directory_entry.rb
387
391
  - lib/ingenico/connect/sdk/domain/product/empty_validator.rb
@@ -617,7 +621,7 @@ required_rubygems_version: !ruby/object:Gem::Requirement
617
621
  version: '0'
618
622
  requirements: []
619
623
  rubyforge_project:
620
- rubygems_version: 2.7.3
624
+ rubygems_version: 2.7.4
621
625
  signing_key:
622
626
  specification_version: 4
623
627
  summary: SDK to communicate with the Ingenico ePayments platform using the Ingenico