connect-sdk-ruby 2.20.0 → 2.21.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: a2a34ca95673080d6be07e44c049abfc08e0436f8f8df370676ba08c75157008
4
- data.tar.gz: 8257aea5a5c2935f1fdd07f092baa0383e994269d6a21afba1d8fe34ec93faa7
3
+ metadata.gz: 7b5b8f7aa27fc0820c2821ad162c634a592a1aeb3582582120b2c1bcae1c3d0f
4
+ data.tar.gz: d4df76e3c026c6ae17ae7285e9c990e7bd66d5fc6d8c7c0b019bd48623dc5a0a
5
5
  SHA512:
6
- metadata.gz: 69f0cf8d8a1278a3eaab0421d3d2244562339582790451a5ea93e70cad66e3a45902a468fb14220353844b81df5b79ed6cc53f0d9bf7bf98c424055e4d739163
7
- data.tar.gz: f0d158fdaa6d8d73a9725500bce1ed3248c86506ea62109e9538250acc1d6439207680fc45e36e0264d27a3049f77f53658036718482bb3a71d30d7e409b9c14
6
+ metadata.gz: 3f1cf43dc3464e888c01c5e412fb28fa3b15795dc396e5275b070d8e6f6ebe580be09bdccff9101a5d08b94c766102251cc8d105557811a46add9f608787781b
7
+ data.tar.gz: 7954b53ff1e3e4ee765fb036e67e64f0df73378184607ee5378cf10f127b19d49639b6e249d83ff59694873845d4cb1d9a7cb1aaa14cfa35bb7d949ea1ce05f5
@@ -1,6 +1,6 @@
1
1
  Gem::Specification.new do |spec|
2
2
  spec.name = 'connect-sdk-ruby'
3
- spec.version = '2.20.0'
3
+ spec.version = '2.21.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}
@@ -1,5 +1,5 @@
1
1
  --- # YAML settings used in testing the SDK
2
- connect.api.endpoint.host: api-sandbox.globalcollect.com
2
+ connect.api.endpoint.host: eu.sandbox.api-ingenico.com
3
3
  connect.api.authorizationType: v1HMAC
4
4
  connect.api.connectTimeout: -1
5
5
  connect.api.socketTimeout: -1
@@ -15,10 +15,10 @@ module Ingenico::Connect::SDK
15
15
  # If a parent class is given its communicator will be used for communication.
16
16
  # @param path_context [Hash] hash that contains substitutions for generic locations in the URL path.
17
17
  # This hash will be used to instantiate a concrete URL used to access specific resources.
18
- # For example in the URL https://api-sandbox.globalcollect.com/!{version}/!{merchantId}/payments
18
+ # For example in the URL https://eu.sandbox.api-ingenico.com/!{version}/!{merchantId}/payments
19
19
  # !{version} and !{merchantId} can be instantiated using the hash
20
20
  # !{'version' => 'v1', 'merchantId' => '1234'}. The final URL in this case will be
21
- # https://api-sandbox.globalcollect.com/v1/1234/payments.
21
+ # https://eu.sandbox.api-ingenico.com/v1/1234/payments.
22
22
  # @param client_meta_info [String] JSON string containing the meta data for the client.
23
23
  def initialize(arg, path_context, client_meta_info=false)
24
24
  if client_meta_info == false
@@ -3,6 +3,7 @@
3
3
  # https://epayments-api.developer-ingenico.com/s2sapi/v1/
4
4
  #
5
5
  require 'ingenico/connect/sdk/domain/payment/abstract_redirect_payment_method_specific_input'
6
+ require 'ingenico/connect/sdk/domain/payment/redirect_payment_product4101_specific_input'
6
7
  require 'ingenico/connect/sdk/domain/payment/redirect_payment_product809_specific_input'
7
8
  require 'ingenico/connect/sdk/domain/payment/redirect_payment_product816_specific_input'
8
9
  require 'ingenico/connect/sdk/domain/payment/redirect_payment_product840_specific_input'
@@ -17,6 +18,7 @@ module Ingenico::Connect::SDK
17
18
  module Payment
18
19
 
19
20
  # @attr [true/false] is_recurring
21
+ # @attr [Ingenico::Connect::SDK::Domain::Payment::RedirectPaymentProduct4101SpecificInput] payment_product4101_specific_input
20
22
  # @attr [Ingenico::Connect::SDK::Domain::Payment::RedirectPaymentProduct809SpecificInput] payment_product809_specific_input
21
23
  # @attr [Ingenico::Connect::SDK::Domain::Payment::RedirectPaymentProduct816SpecificInput] payment_product816_specific_input
22
24
  # @attr [Ingenico::Connect::SDK::Domain::Payment::RedirectPaymentProduct840SpecificInput] payment_product840_specific_input
@@ -30,6 +32,8 @@ module Ingenico::Connect::SDK
30
32
 
31
33
  attr_accessor :is_recurring
32
34
 
35
+ attr_accessor :payment_product4101_specific_input
36
+
33
37
  attr_accessor :payment_product809_specific_input
34
38
 
35
39
  attr_accessor :payment_product816_specific_input
@@ -54,6 +58,7 @@ module Ingenico::Connect::SDK
54
58
  def to_h
55
59
  hash = super
56
60
  hash['isRecurring'] = @is_recurring unless @is_recurring.nil?
61
+ hash['paymentProduct4101SpecificInput'] = @payment_product4101_specific_input.to_h unless @payment_product4101_specific_input.nil?
57
62
  hash['paymentProduct809SpecificInput'] = @payment_product809_specific_input.to_h unless @payment_product809_specific_input.nil?
58
63
  hash['paymentProduct816SpecificInput'] = @payment_product816_specific_input.to_h unless @payment_product816_specific_input.nil?
59
64
  hash['paymentProduct840SpecificInput'] = @payment_product840_specific_input.to_h unless @payment_product840_specific_input.nil?
@@ -71,6 +76,10 @@ module Ingenico::Connect::SDK
71
76
  if hash.has_key? 'isRecurring'
72
77
  @is_recurring = hash['isRecurring']
73
78
  end
79
+ if hash.has_key? 'paymentProduct4101SpecificInput'
80
+ raise TypeError, "value '%s' is not a Hash" % [hash['paymentProduct4101SpecificInput']] unless hash['paymentProduct4101SpecificInput'].is_a? Hash
81
+ @payment_product4101_specific_input = Ingenico::Connect::SDK::Domain::Payment::RedirectPaymentProduct4101SpecificInput.new_from_hash(hash['paymentProduct4101SpecificInput'])
82
+ end
74
83
  if hash.has_key? 'paymentProduct809SpecificInput'
75
84
  raise TypeError, "value '%s' is not a Hash" % [hash['paymentProduct809SpecificInput']] unless hash['paymentProduct809SpecificInput'].is_a? Hash
76
85
  @payment_product809_specific_input = Ingenico::Connect::SDK::Domain::Payment::RedirectPaymentProduct809SpecificInput.new_from_hash(hash['paymentProduct809SpecificInput'])
@@ -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 Payment
10
+
11
+ # @attr [String] integration_type
12
+ # @attr [String] vpa
13
+ class RedirectPaymentProduct4101SpecificInput < Ingenico::Connect::SDK::DataObject
14
+
15
+ attr_accessor :integration_type
16
+
17
+ attr_accessor :vpa
18
+
19
+ # @return (Hash)
20
+ def to_h
21
+ hash = super
22
+ hash['integrationType'] = @integration_type unless @integration_type.nil?
23
+ hash['vpa'] = @vpa unless @vpa.nil?
24
+ hash
25
+ end
26
+
27
+ def from_hash(hash)
28
+ super
29
+ if hash.has_key? 'integrationType'
30
+ @integration_type = hash['integrationType']
31
+ end
32
+ if hash.has_key? 'vpa'
33
+ @vpa = hash['vpa']
34
+ end
35
+ end
36
+ end
37
+ end
38
+ end
39
+ end
@@ -19,6 +19,8 @@ module Ingenico::Connect::SDK
19
19
  # @attr [String] sdk_transaction_id
20
20
  class SdkDataInput < Ingenico::Connect::SDK::DataObject
21
21
 
22
+ #
23
+ # @deprecated No replacement
22
24
  attr_accessor :device_info
23
25
 
24
26
  attr_accessor :device_render_options
@@ -11,8 +11,8 @@ module Ingenico::Connect::SDK
11
11
  # located at _configuration_file_name_.
12
12
  #
13
13
  # @param configuration_file_name [String] Path to the configuration file to use, should be in YAML format.
14
- # @param api_key_id [String] Key id for the GlobalCollect service.
15
- # @param secret_api_key [String] Secret key used for authentication to the GlobalCollect service.
14
+ # @param api_key_id [String] Key id for the Ingenico ePayments platform.
15
+ # @param secret_api_key [String] Secret key used for authentication to the Ingenico ePayments platform.
16
16
  # @return [Ingenico::Connect::SDK::CommunicatorConfiguration] The created communicator configuration
17
17
  def self.create_configuration(configuration_file_name, api_key_id, secret_api_key)
18
18
  properties = YAML::load_file(configuration_file_name)
@@ -56,8 +56,8 @@ module Ingenico::Connect::SDK
56
56
  # using the _api_key_id_ and _secret_api_key_ in the CommunicatorConfiguration.
57
57
  #
58
58
  # @param configuration_file_name [String] Path to the configuration file to use, should be in YAML format.
59
- # @param api_key_id [String] Key id for the GlobalCollect service.
60
- # @param secret_api_key [String] Secret key used for authentication to the GlobalCollect service.
59
+ # @param api_key_id [String] Key id for the Ingenico ePayments platform.
60
+ # @param secret_api_key [String] Secret key used for authentication to the Ingenico ePayments platform.
61
61
  # @param meta_data_provider [Ingenico::Connect::SDK::MetaDataProvider] stores the metadata for the communicating client.
62
62
  # @param connection [Ingenico::Connect::SDK::Connection] connection that can be used to communicate with the Ingenico ePayments platform.
63
63
  # @param authenticator [Ingenico::Connect::SDK::Authenticator] authenticator that can authenticate messages sent to the Ingenico ePayments platform.
@@ -69,7 +69,7 @@ module Ingenico::Connect::SDK
69
69
  authenticator: authenticator)
70
70
  end
71
71
 
72
- # Creates and returns an {Ingenico::Connect::SDK::Communicator} that is used for communication with the GlobalCollect service.
72
+ # Creates and returns an {Ingenico::Connect::SDK::Communicator} that is used for communication with the Ingenico ePayments platform.
73
73
  #
74
74
  # @param session [Ingenico::Connect::SDK::Session] session that the communicator will utilize for communication.
75
75
  # @return [Ingenico::Connect::SDK::Communicator] The created communicator
@@ -77,7 +77,7 @@ module Ingenico::Connect::SDK
77
77
  Communicator.new(session, DefaultImpl::DefaultMarshaller.INSTANCE)
78
78
  end
79
79
 
80
- # Creates and returns an {Ingenico::Connect::SDK::Communicator} that can be used for communication with the GlobalCollect service.
80
+ # Creates and returns an {Ingenico::Connect::SDK::Communicator} that can be used for communication with the Ingenico ePayments platform.
81
81
  #
82
82
  # @param configuration [Ingenico::Connect::SDK::CommunicatorConfiguration] contains configuration settings to be used by the client.
83
83
  # @return [Ingenico::Connect::SDK::Communicator] The created communicator
@@ -86,11 +86,11 @@ module Ingenico::Connect::SDK
86
86
  Communicator.new(session, DefaultImpl::DefaultMarshaller.INSTANCE)
87
87
  end
88
88
 
89
- # Creates and returns an {Ingenico::Connect::SDK::Communicator} that is used for communication with the GlobalCollect service.
89
+ # Creates and returns an {Ingenico::Connect::SDK::Communicator} that is used for communication with the Ingenico ePayments platform.
90
90
  #
91
91
  # @param configuration_file_name [String] Path to the configuration file to use, should be in YAML format.
92
- # @param api_key_id [String] Key id for the GlobalCollect service.
93
- # @param secret_api_key [String] Secret key used for authentication to the GlobalCollect service.
92
+ # @param api_key_id [String] Key id for the Ingenico ePayments platform.
93
+ # @param secret_api_key [String] Secret key used for authentication to the Ingenico ePayments platform.
94
94
  # @return [Ingenico::Connect::SDK::Communicator] The created communicator
95
95
  def self.create_communicator_from_file(configuration_file_name, api_key_id, secret_api_key)
96
96
  configuration = create_configuration(configuration_file_name, api_key_id, secret_api_key)
@@ -98,7 +98,7 @@ module Ingenico::Connect::SDK
98
98
  Communicator.new(session, DefaultImpl::DefaultMarshaller.INSTANCE)
99
99
  end
100
100
 
101
- # Creates and returns an {Ingenico::Connect::SDK::Client} that provides the a high-level interface with the GlobalCollect service.
101
+ # Creates and returns an {Ingenico::Connect::SDK::Client} that provides the a high-level interface with the Ingenico ePayments platform.
102
102
  # If a code block is given, the created client is returned to the code block and closed afterwards.
103
103
  #
104
104
  # @example Providing a code block
@@ -123,7 +123,7 @@ module Ingenico::Connect::SDK
123
123
  end
124
124
  end
125
125
 
126
- # Creates and returns an {Ingenico::Connect::SDK::Client} that provides the a high-level interface with the GlobalCollect service.
126
+ # Creates and returns an {Ingenico::Connect::SDK::Client} that provides the a high-level interface with the Ingenico ePayments platform.
127
127
  # If a code block is given, the created client is returned to the code block and closed afterwards.
128
128
  #
129
129
  # @example Providing a code block
@@ -147,7 +147,7 @@ module Ingenico::Connect::SDK
147
147
  end
148
148
  end
149
149
 
150
- # Creates and returns an {Ingenico::Connect::SDK::Client} that provides the a high-level interface with the GlobalCollect service.
150
+ # Creates and returns an {Ingenico::Connect::SDK::Client} that provides the a high-level interface with the Ingenico ePayments platform.
151
151
  # If a code block is given, the created client is returned to the code block and closed afterwards.
152
152
  #
153
153
  # @example Providing a code block
@@ -172,7 +172,7 @@ module Ingenico::Connect::SDK
172
172
  end
173
173
  end
174
174
 
175
- # Creates and returns an {Ingenico::Connect::SDK::Client} that provides the a high-level interface with the GlobalCollect service.
175
+ # Creates and returns an {Ingenico::Connect::SDK::Client} that provides the a high-level interface with the Ingenico ePayments platform.
176
176
  # If a code block is given, the created client is returned to the code block and closed afterwards.
177
177
  #
178
178
  # @example Providing a code block
@@ -182,8 +182,8 @@ module Ingenico::Connect::SDK
182
182
  # # client is closed here
183
183
  #
184
184
  # @param configuration_file_name [String] Path to the configuration file to use, should be in YAML format.
185
- # @param api_key_id [String] Key id for the GlobalCollect service.
186
- # @param secret_api_key [String] Secret key used for authentication to the GlobalCollect service.
185
+ # @param api_key_id [String] Key id for the Ingenico ePayments platform.
186
+ # @param secret_api_key [String] Secret key used for authentication to the Ingenico ePayments platform.
187
187
  # @return [Ingenico::Connect::SDK::Client] The created client
188
188
  def self.create_client_from_file(configuration_file_name, api_key_id, secret_api_key)
189
189
  communicator = create_communicator_from_file(configuration_file_name, api_key_id, secret_api_key)
@@ -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.20.0'
10
+ @@SDK_VERSION = '2.21.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
@@ -11,7 +11,7 @@ end
11
11
  module Ingenico::Connect::SDK::Logging
12
12
  end
13
13
 
14
- # Contains interfaces to all GlobalCollect services. These services are accessed through a *Ingenico::Connect::SDK::Client* instance.
14
+ # Contains interfaces to all Ingenico ePayments services. These services are accessed through a *Ingenico::Connect::SDK::Client* instance.
15
15
  module Ingenico::Connect::SDK::Merchant
16
16
  end
17
17
 
@@ -1,5 +1,5 @@
1
1
  --- # YAML settings used in testing the SDK
2
- connect.api.endpoint.host: api-sandbox.globalcollect.com
2
+ connect.api.endpoint.host: eu.sandbox.api-ingenico.com
3
3
  connect.api.authorizationType: v1HMAC
4
4
  connect.api.connectTimeout: -1
5
5
  connect.api.socketTimeout: -1
@@ -9,5 +9,5 @@
9
9
  connect.api.proxy.uri: http://localhost:9999
10
10
  # change username and password to authentication credentials for the proxy, omit the entries if no authentication is required
11
11
  # authentication is done using basic proxy authentication. Therefore, to avoid leaking credentials you should connect to the proxy using SSL
12
- connect.api.proxy.username: global-collect
13
- connect.api.proxy.password: global-collect
12
+ connect.api.proxy.username: test-user
13
+ connect.api.proxy.password: test-password
@@ -1,5 +1,5 @@
1
1
  --- # YAML settings used in testing the SDK
2
- connect.api.endpoint.host: api-sandbox.globalcollect.com
2
+ connect.api.endpoint.host: eu.sandbox.api-ingenico.com
3
3
  connect.api.authorizationType: v1HMAC
4
4
  connect.api.connectTimeout: -1
5
5
  connect.api.socketTimeout: -1
@@ -24,7 +24,8 @@ describe 'proxies' do
24
24
  proxy_server = Thread.new do
25
25
  config = { Realm: 'testing' }
26
26
  htpasswd = WEBrick::HTTPAuth::Htpasswd.new(password_filename) # create new Apache password file
27
- htpasswd.set_passwd config[:Realm], 'global-collect', 'global-collect' # same as properties.proxy.yml
27
+ proxy_configuration = Integration.init_communicator_configuration(Integration::PROPERTIES_URI_PROXY).proxy_configuration
28
+ htpasswd.set_passwd config[:Realm], proxy_configuration.username, proxy_configuration.password
28
29
  config[:UserDB] = htpasswd
29
30
  basic_auth = WEBrick::HTTPAuth::ProxyBasicAuth.new(config)
30
31
 
@@ -51,7 +52,7 @@ describe 'proxies' do
51
52
  end
52
53
 
53
54
  # NOTE: if this test is running for a long time with no response
54
- # check https://api-sandbox.globalcollect.com coz this is where merchant
55
+ # check https://eu.sandbox.api-ingenico.com because this is where merchant
55
56
  # connects to.
56
57
  it 'can be connected to' do
57
58
  request = Ingenico::Connect::SDK::Merchant::Services::ConvertAmountParams.new
@@ -22,7 +22,7 @@ module Integration
22
22
  def self.init_communicator_configuration(properties_url: PROPERTIES_URI, max_connections: nil)
23
23
  yaml = YAML.load_file(properties_url)
24
24
  configuration = Ingenico::Connect::SDK::CommunicatorConfiguration.new(properties: yaml,
25
- api_endpoint: 'https://api-sandbox.globalcollect.com',
25
+ api_endpoint: 'https://eu.sandbox.api-ingenico.com',
26
26
  authorization_type: 'v1HMAC',
27
27
  api_key_id: API_KEY_ID,
28
28
  secret_api_key: SECRET_API_KEY,
@@ -7,7 +7,7 @@ describe 'CommunicatorConfiguration' do
7
7
 
8
8
  it 'can be constructed without a proxy' do
9
9
  yaml = '---
10
- connect.api.endpoint.host: api-sandbox.globalcollect.com
10
+ connect.api.endpoint.host: eu.sandbox.api-ingenico.com
11
11
  connect.api.authorizationType: v1HMAC
12
12
  connect.api.connectTimeout: 20
13
13
  connect.api.socketTimeout: 10'
@@ -15,7 +15,7 @@ describe 'CommunicatorConfiguration' do
15
15
 
16
16
  communicator_config = CommunicatorConfiguration.new(properties: config)
17
17
 
18
- expect(communicator_config.api_endpoint).to eq('https://api-sandbox.globalcollect.com')
18
+ expect(communicator_config.api_endpoint).to eq('https://eu.sandbox.api-ingenico.com')
19
19
  expect(communicator_config.authorization_type).to eq('v1HMAC')
20
20
  expect(communicator_config.connect_timeout).to eq(20)
21
21
  expect(communicator_config.socket_timeout).to eq(10)
@@ -29,7 +29,7 @@ describe 'CommunicatorConfiguration' do
29
29
 
30
30
  it 'can be constructed with a proxy, without authentication' do
31
31
  yaml = '---
32
- connect.api.endpoint.host: api-sandbox.globalcollect.com
32
+ connect.api.endpoint.host: eu.sandbox.api-ingenico.com
33
33
  connect.api.authorizationType: v1HMAC
34
34
  connect.api.connectTimeout: 20
35
35
  connect.api.socketTimeout: 10
@@ -39,7 +39,7 @@ describe 'CommunicatorConfiguration' do
39
39
  communicator_config = CommunicatorConfiguration.new(properties: config)
40
40
  proxy_config = communicator_config.proxy_configuration
41
41
 
42
- expect(communicator_config.api_endpoint).to eq('https://api-sandbox.globalcollect.com')
42
+ expect(communicator_config.api_endpoint).to eq('https://eu.sandbox.api-ingenico.com')
43
43
  expect(communicator_config.authorization_type).to eq('v1HMAC')
44
44
  expect(communicator_config.connect_timeout).to eq(20)
45
45
  expect(communicator_config.socket_timeout).to eq(10)
@@ -56,19 +56,19 @@ describe 'CommunicatorConfiguration' do
56
56
 
57
57
  it 'can be constructed to authenticate to a proxy' do
58
58
  yaml = '---
59
- connect.api.endpoint.host: api-sandbox.globalcollect.com
59
+ connect.api.endpoint.host: eu.sandbox.api-ingenico.com
60
60
  connect.api.authorizationType: v1HMAC
61
61
  connect.api.connectTimeout: 20
62
62
  connect.api.socketTimeout: 10
63
63
  connect.api.proxy.uri: http://proxy.example.org:3128
64
- connect.api.proxy.username: global-collect-username
65
- connect.api.proxy.password: global-collect-password'
64
+ connect.api.proxy.username: test-username
65
+ connect.api.proxy.password: test-password'
66
66
  config = YAML.load(yaml)
67
67
 
68
68
  communicator_config = CommunicatorConfiguration.new(properties: config)
69
69
  proxy_config = communicator_config.proxy_configuration
70
70
 
71
- expect(communicator_config.api_endpoint).to eq('https://api-sandbox.globalcollect.com')
71
+ expect(communicator_config.api_endpoint).to eq('https://eu.sandbox.api-ingenico.com')
72
72
  expect(communicator_config.authorization_type).to eq('v1HMAC')
73
73
  expect(communicator_config.connect_timeout).to eq(20)
74
74
  expect(communicator_config.socket_timeout).to eq(10)
@@ -79,13 +79,13 @@ describe 'CommunicatorConfiguration' do
79
79
  expect(proxy_config.scheme).to eq('http')
80
80
  expect(proxy_config.host).to eq('proxy.example.org')
81
81
  expect(proxy_config.port).to eq(3128)
82
- expect(proxy_config.username).to eq('global-collect-username')
83
- expect(proxy_config.password).to eq('global-collect-password')
82
+ expect(proxy_config.username).to eq('test-username')
83
+ expect(proxy_config.password).to eq('test-password')
84
84
  end
85
85
 
86
86
  it 'accepts a different number of maximum connections' do
87
87
  yaml = '---
88
- connect.api.endpoint.host: api-sandbox.globalcollect.com
88
+ connect.api.endpoint.host: eu.sandbox.api-ingenico.com
89
89
  connect.api.authorizationType: v1HMAC
90
90
  connect.api.connectTimeout: 20
91
91
  connect.api.socketTimeout: 10
@@ -94,7 +94,7 @@ describe 'CommunicatorConfiguration' do
94
94
 
95
95
  communicator_config = CommunicatorConfiguration.new(properties: config)
96
96
 
97
- expect(communicator_config.api_endpoint).to eq('https://api-sandbox.globalcollect.com')
97
+ expect(communicator_config.api_endpoint).to eq('https://eu.sandbox.api-ingenico.com')
98
98
  expect(communicator_config.authorization_type).to eq('v1HMAC')
99
99
  expect(communicator_config.connect_timeout).to eq(20)
100
100
  expect(communicator_config.socket_timeout).to eq(10)
@@ -107,7 +107,7 @@ describe 'CommunicatorConfiguration' do
107
107
 
108
108
  it 'uses specific scheme to override default' do
109
109
  yaml = '---
110
- connect.api.endpoint.host: api-sandbox.globalcollect.com
110
+ connect.api.endpoint.host: eu.sandbox.api-ingenico.com
111
111
  connect.api.authorizationType: v1HMAC
112
112
  connect.api.connectTimeout: 20
113
113
  connect.api.socketTimeout: 10
@@ -116,12 +116,12 @@ describe 'CommunicatorConfiguration' do
116
116
 
117
117
  communicator_config = CommunicatorConfiguration.new(properties: config)
118
118
 
119
- expect(communicator_config.api_endpoint).to eq('http://api-sandbox.globalcollect.com')
119
+ expect(communicator_config.api_endpoint).to eq('http://eu.sandbox.api-ingenico.com')
120
120
  end
121
121
 
122
122
  it 'uses specific port to override default' do
123
123
  yaml = '---
124
- connect.api.endpoint.host: api-sandbox.globalcollect.com
124
+ connect.api.endpoint.host: eu.sandbox.api-ingenico.com
125
125
  connect.api.authorizationType: v1HMAC
126
126
  connect.api.connectTimeout: 20
127
127
  connect.api.socketTimeout: 10
@@ -130,12 +130,12 @@ describe 'CommunicatorConfiguration' do
130
130
 
131
131
  communicator_config = CommunicatorConfiguration.new(properties: config)
132
132
 
133
- expect(communicator_config.api_endpoint).to eq('https://api-sandbox.globalcollect.com:8080')
133
+ expect(communicator_config.api_endpoint).to eq('https://eu.sandbox.api-ingenico.com:8080')
134
134
  end
135
135
 
136
136
  it 'uses specific scheme and port to override default' do
137
137
  yaml = '---
138
- connect.api.endpoint.host: api-sandbox.globalcollect.com
138
+ connect.api.endpoint.host: eu.sandbox.api-ingenico.com
139
139
  connect.api.authorizationType: v1HMAC
140
140
  connect.api.connectTimeout: 20
141
141
  connect.api.socketTimeout: 10
@@ -145,12 +145,12 @@ describe 'CommunicatorConfiguration' do
145
145
 
146
146
  communicator_config = CommunicatorConfiguration.new(properties: config)
147
147
 
148
- expect(communicator_config.api_endpoint).to eq('http://api-sandbox.globalcollect.com:8080')
148
+ expect(communicator_config.api_endpoint).to eq('http://eu.sandbox.api-ingenico.com:8080')
149
149
  end
150
150
 
151
151
  it 'stores shoppingCartExtension data' do
152
152
  yaml = '---
153
- connect.api.endpoint.host: api-sandbox.globalcollect.com
153
+ connect.api.endpoint.host: eu.sandbox.api-ingenico.com
154
154
  connect.api.authorizationType: v1HMAC
155
155
  connect.api.connectTimeout: 20
156
156
  connect.api.socketTimeout: 10
@@ -163,7 +163,7 @@ describe 'CommunicatorConfiguration' do
163
163
 
164
164
  communicator_config = CommunicatorConfiguration.new(properties: config)
165
165
 
166
- expect(communicator_config.api_endpoint).to eq('https://api-sandbox.globalcollect.com')
166
+ expect(communicator_config.api_endpoint).to eq('https://eu.sandbox.api-ingenico.com')
167
167
  expect(communicator_config.authorization_type).to eq('v1HMAC')
168
168
  expect(communicator_config.connect_timeout).to eq(20)
169
169
  expect(communicator_config.socket_timeout).to eq(10)
@@ -7,15 +7,15 @@ RequestParam ||= Ingenico::Connect::SDK::RequestParam
7
7
 
8
8
  describe Communicator do
9
9
 
10
- let(:session){instance_double('Session', :api_endpoint => URI('https://api-sandbox.globalcollect.com'))}
10
+ let(:session){instance_double('Session', :api_endpoint => URI('https://eu.sandbox.api-ingenico.com'))}
11
11
  let(:communicator){communicator = Communicator.new(session, DefaultMarshaller.INSTANCE)}
12
12
  context 'to_absolute_uri()' do
13
13
  it 'accepts a uri with or without a leading slash' do
14
14
  uri1 = communicator.send(:to_absolute_uri, 'v1/merchant/20000/convertamount', [])
15
15
  uri2 = communicator.send(:to_absolute_uri, '/v1/merchant/20000/convertamount', [])
16
16
  # Ruby URI library adds port in HTTPS url's by default
17
- expect(uri1.to_s).to eq('https://api-sandbox.globalcollect.com:443/v1/merchant/20000/convertamount')
18
- expect(uri2.to_s).to eq('https://api-sandbox.globalcollect.com:443/v1/merchant/20000/convertamount')
17
+ expect(uri1.to_s).to eq('https://eu.sandbox.api-ingenico.com:443/v1/merchant/20000/convertamount')
18
+ expect(uri2.to_s).to eq('https://eu.sandbox.api-ingenico.com:443/v1/merchant/20000/convertamount')
19
19
  end
20
20
 
21
21
  it 'adds request parameters to the uri' do
@@ -24,7 +24,7 @@ describe Communicator do
24
24
 
25
25
  uri = communicator.send(:to_absolute_uri, 'v1/merchant/20000/convertamount', request_params)
26
26
 
27
- expect(uri.to_s).to eq('https://api-sandbox.globalcollect.com:443/v1/merchant/20000/convertamount'\
27
+ expect(uri.to_s).to eq('https://eu.sandbox.api-ingenico.com:443/v1/merchant/20000/convertamount'\
28
28
  '?amount=123&source=USD&target=EUR&dummy=%C3%A9%26%25%3D')
29
29
  end
30
30
  end
@@ -17,10 +17,10 @@ describe 'DefaultConnectionIdempotence' do
17
17
  call_context = CallContext.new(idempotence_key)
18
18
  request = create_payment_request
19
19
 
20
- stub_request(:post, 'https://api-sandbox.globalcollect.com/v1/20000/payments')
20
+ stub_request(:post, 'https://eu.sandbox.api-ingenico.com/v1/20000/payments')
21
21
  .with(headers: {'X-GCS-Idempotence-Key' => idempotence_key})
22
22
  .to_return(status: 201, body: response_body,
23
- headers: base_headers.merge({'Content-Type' => 'application/json', 'Location' => 'api-sandbox.globalcollect.com/v1/20000/payments/000002000020142549460000100001'}))
23
+ headers: base_headers.merge({'Content-Type' => 'application/json', 'Location' => 'eu.sandbox.api-ingenico.com/v1/20000/payments/000002000020142549460000100001'}))
24
24
 
25
25
  response = CLIENT.merchant('20000').payments.create(request, call_context)
26
26
 
@@ -37,12 +37,11 @@ describe 'DefaultConnectionIdempotence' do
37
37
  call_context = CallContext.new(idempotence_key)
38
38
  request = create_payment_request
39
39
 
40
-
41
- stub_request(:post, 'https://api-sandbox.globalcollect.com/v1/20000/payments')
40
+ stub_request(:post, 'https://eu.sandbox.api-ingenico.com/v1/20000/payments')
42
41
  .with(headers: {'X-GCS-Idempotence-Key' => idempotence_key})
43
42
  .to_return(status: 201, body: response_body,
44
43
  headers: base_headers.merge({'Content-Type' => 'application/json',
45
- 'Location' => 'api-sandbox.globalcollect.com/v1/20000/payments/000002000020142549460000100001',
44
+ 'Location' => 'eu.sandbox.api-ingenico.com/v1/20000/payments/000002000020142549460000100001',
46
45
  'X-GCS-Idempotence-Request-Timestamp' => idempotence_timestamp}))
47
46
 
48
47
  response = CLIENT.merchant('20000').payments.create(request, call_context)
@@ -60,7 +59,7 @@ describe 'DefaultConnectionIdempotence' do
60
59
  call_context = CallContext.new(idempotence_key)
61
60
  request = create_payment_request
62
61
 
63
- stub_request(:post, 'https://api-sandbox.globalcollect.com/v1/20000/payments')
62
+ stub_request(:post, 'https://eu.sandbox.api-ingenico.com/v1/20000/payments')
64
63
  .with(headers: {'X-GCS-Idempotence-Key' => idempotence_key})
65
64
  .to_return(status: 402, body: response_body,
66
65
  headers: base_headers.merge({'Content-Type' => 'application/json'}))
@@ -81,7 +80,7 @@ describe 'DefaultConnectionIdempotence' do
81
80
  call_context = CallContext.new(idempotence_key)
82
81
  request = create_payment_request
83
82
 
84
- stub_request(:post, 'https://api-sandbox.globalcollect.com/v1/20000/payments')
83
+ stub_request(:post, 'https://eu.sandbox.api-ingenico.com/v1/20000/payments')
85
84
  .with(headers: {'X-GCS-Idempotence-Key' => idempotence_key})
86
85
  .to_return(status: 402, body: response_body,
87
86
  headers: base_headers.merge({'Content-Type' => 'application/json',
@@ -103,7 +102,7 @@ describe 'DefaultConnectionIdempotence' do
103
102
  call_context = CallContext.new(idempotence_key)
104
103
  request = create_payment_request
105
104
 
106
- stub_request(:post, 'https://api-sandbox.globalcollect.com/v1/20000/payments')
105
+ stub_request(:post, 'https://eu.sandbox.api-ingenico.com/v1/20000/payments')
107
106
  .with(headers: {'X-GCS-Idempotence-Key' => idempotence_key})
108
107
  .to_return(status: 409, body: response_body,
109
108
  headers: base_headers.merge({'Content-Type' => 'application/json',
@@ -135,7 +135,7 @@ module ValidationDict
135
135
  message =~ RESPONSE_START
136
136
  id = $1 # capture id from the regular expression above
137
137
  expect(message).to match(STATUS_201)
138
- expect(message).to match(%r(Location="api-sandbox\.globalcollect\.com/v1/1234/payments/000000123410000595980000100001"))
138
+ expect(message).to match(%r(Location="eu\.sandbox\.api-ingenico\.com/v1/1234/payments/000000123410000595980000100001"))
139
139
  expect(message).to match(DATA_JSON_HEADER)
140
140
  # expect(message).to match(DUMMY_HEADER)
141
141
  expect(message).to match(DATEHEADER)
@@ -163,7 +163,7 @@ module ValidationDict
163
163
  message =~ RESPONSE_START
164
164
  id = $1 # capture id from the regular expression above
165
165
  expect(message).to match(STATUS_201)
166
- expect(message).to match(%r(Location="api-sandbox\.globalcollect\.com/v1/1234/payments/000000123410000595980000100001"))
166
+ expect(message).to match(%r(Location="eu\.sandbox\.api-ingenico\.com/v1/1234/payments/000000123410000595980000100001"))
167
167
  expect(message).to match(DATA_JSON_HEADER)
168
168
  # expect(message).to match(DUMMY_HEADER)
169
169
  expect(message).to match(DATEHEADER)
@@ -260,7 +260,7 @@ describe 'DefaultConnectionLogging' do
260
260
  it 'should be able to log a simple request' do
261
261
  response_body = IO.read(resource_prefix + 'testConnection.json')
262
262
 
263
- stub_request(:get, 'https://api-sandbox.globalcollect.com/v1/1234/services/testconnection')
263
+ stub_request(:get, 'https://eu.sandbox.api-ingenico.com/v1/1234/services/testconnection')
264
264
  .to_return(status: 200, body: response_body,
265
265
  headers: base_headers.merge({'Content-Type' => 'application/json'}))
266
266
 
@@ -277,7 +277,7 @@ describe 'DefaultConnectionLogging' do
277
277
  it 'can log a GET request with parameters' do
278
278
  response_body = IO.read(resource_prefix + 'convertAmount.json')
279
279
 
280
- stub_request(:get, 'https://api-sandbox.globalcollect.com/v1/1234/services/convert/amount?source=EUR&target=USD&amount=1000')
280
+ stub_request(:get, 'https://eu.sandbox.api-ingenico.com/v1/1234/services/convert/amount?source=EUR&target=USD&amount=1000')
281
281
  .to_return(status: 200, body: response_body,
282
282
  headers: base_headers.merge({'Content-Type' => 'application/json'}))
283
283
 
@@ -297,7 +297,7 @@ describe 'DefaultConnectionLogging' do
297
297
 
298
298
  # tests delete token
299
299
  it 'can log DELETE requests' do
300
- stub_request(:delete, 'https://api-sandbox.globalcollect.com/v1/1234/tokens/5678')
300
+ stub_request(:delete, 'https://eu.sandbox.api-ingenico.com/v1/1234/tokens/5678')
301
301
  .to_return(status: 204, headers: base_headers)
302
302
 
303
303
  CLIENT.enable_logging(logger)
@@ -313,10 +313,10 @@ describe 'DefaultConnectionLogging' do
313
313
  response_body = IO.read(resource_prefix + 'createPayment.json')
314
314
  request = create_payment_request
315
315
 
316
- stub_request(:post, 'https://api-sandbox.globalcollect.com/v1/1234/payments')
316
+ stub_request(:post, 'https://eu.sandbox.api-ingenico.com/v1/1234/payments')
317
317
  .to_return(status: 201, body: response_body,
318
318
  headers: base_headers.merge({'Content-Type' => 'application/json',
319
- 'Location' => 'api-sandbox.globalcollect.com/v1/1234/payments/000000123410000595980000100001'}))
319
+ 'Location' => 'eu.sandbox.api-ingenico.com/v1/1234/payments/000000123410000595980000100001'}))
320
320
 
321
321
  CLIENT.enable_logging(logger)
322
322
  response = CLIENT.merchant('1234').payments.create(request)
@@ -331,10 +331,10 @@ describe 'DefaultConnectionLogging' do
331
331
  response_body = IO.read(resource_prefix + 'createPayment.unicode.json')
332
332
  request = create_payment_request
333
333
 
334
- stub_request(:post, 'https://api-sandbox.globalcollect.com/v1/1234/payments')
334
+ stub_request(:post, 'https://eu.sandbox.api-ingenico.com/v1/1234/payments')
335
335
  .to_return(status: 201, body: response_body,
336
336
  headers: base_headers.merge({'Content-Type' => 'application/json',
337
- 'Location' => 'api-sandbox.globalcollect.com/v1/1234/payments/000000123410000595980000100001'}))
337
+ 'Location' => 'eu.sandbox.api-ingenico.com/v1/1234/payments/000000123410000595980000100001'}))
338
338
 
339
339
  CLIENT.enable_logging(logger)
340
340
  response = CLIENT.merchant('1234').payments.create(request)
@@ -351,7 +351,7 @@ describe 'DefaultConnectionLogging' do
351
351
  response_body = IO.read(resource_prefix + 'createPayment.failure.invalidCardNumber.json')
352
352
  request = create_payment_request
353
353
 
354
- stub_request(:post, 'https://api-sandbox.globalcollect.com/v1/1234/payments')
354
+ stub_request(:post, 'https://eu.sandbox.api-ingenico.com/v1/1234/payments')
355
355
  .to_return(status: 400, body: response_body,
356
356
  headers: base_headers.merge({'Content-Type' => 'application/json'}))
357
357
 
@@ -366,7 +366,7 @@ describe 'DefaultConnectionLogging' do
366
366
  response_body = IO.read(resource_prefix + 'createPayment.failure.rejected.json')
367
367
  request = create_payment_request
368
368
 
369
- stub_request(:post, 'https://api-sandbox.globalcollect.com/v1/1234/payments')
369
+ stub_request(:post, 'https://eu.sandbox.api-ingenico.com/v1/1234/payments')
370
370
  .to_return(status: 402, body: response_body,
371
371
  headers: base_headers.merge({'Content-Type' => 'application/json'}))
372
372
 
@@ -380,7 +380,7 @@ describe 'DefaultConnectionLogging' do
380
380
  it 'logs general HTTP errors' do
381
381
  response_body = IO.read(resource_prefix + 'unknownServerError.json')
382
382
 
383
- stub_request(:get, 'https://api-sandbox.globalcollect.com/v1/1234/services/testconnection')
383
+ stub_request(:get, 'https://eu.sandbox.api-ingenico.com/v1/1234/services/testconnection')
384
384
  .to_return(status: 500, body: response_body,
385
385
  headers: base_headers.merge({'Content-Type' => 'application/json'}))
386
386
 
@@ -394,7 +394,7 @@ describe 'DefaultConnectionLogging' do
394
394
  it 'logs non-json' do
395
395
  response_body = IO.read(resource_prefix + 'notFound.html')
396
396
 
397
- stub_request(:get, 'https://api-sandbox.globalcollect.com/v1/1234/services/testconnection')
397
+ stub_request(:get, 'https://eu.sandbox.api-ingenico.com/v1/1234/services/testconnection')
398
398
  .to_return(status: 404, body: response_body,
399
399
  headers: base_headers.merge({'Content-Type' => 'text/html'}))
400
400
 
@@ -406,7 +406,7 @@ describe 'DefaultConnectionLogging' do
406
406
 
407
407
  # tests a read timeout
408
408
  it 'logs timeouts' do
409
- stub_request(:get, 'https://api-sandbox.globalcollect.com/v1/1234/services/testconnection')
409
+ stub_request(:get, 'https://eu.sandbox.api-ingenico.com/v1/1234/services/testconnection')
410
410
  .to_raise(HTTPClient::ReceiveTimeoutError)
411
411
 
412
412
  CLIENT.enable_logging(logger)
@@ -427,7 +427,7 @@ describe 'DefaultConnectionLogging' do
427
427
  it 'can log requests individually' do
428
428
  response_body = IO.read(resource_prefix + 'testConnection.json')
429
429
 
430
- stub_request(:get, 'https://api-sandbox.globalcollect.com/v1/1234/services/testconnection')
430
+ stub_request(:get, 'https://eu.sandbox.api-ingenico.com/v1/1234/services/testconnection')
431
431
  .to_return{ |request| CLIENT.disable_logging
432
432
  {body: response_body, status: 200, headers: base_headers.merge({'Content-type' => 'application/json'})}}
433
433
 
@@ -446,7 +446,7 @@ describe 'DefaultConnectionLogging' do
446
446
  it 'can log responses individually' do
447
447
  response_body = IO.read(resource_prefix + 'testConnection.json')
448
448
 
449
- stub_request(:get, 'https://api-sandbox.globalcollect.com/v1/1234/services/testconnection')
449
+ stub_request(:get, 'https://eu.sandbox.api-ingenico.com/v1/1234/services/testconnection')
450
450
  .to_return{ |request| CLIENT.enable_logging(logger)
451
451
  {body: response_body, status: 200, headers: base_headers.merge({'Content-type' => 'application/json'})}}
452
452
 
@@ -462,7 +462,7 @@ describe 'DefaultConnectionLogging' do
462
462
  end
463
463
 
464
464
  it 'can log errors individually' do
465
- stub_request(:get, 'https://api-sandbox.globalcollect.com/v1/1234/services/testconnection')
465
+ stub_request(:get, 'https://eu.sandbox.api-ingenico.com/v1/1234/services/testconnection')
466
466
  .to_return{ |request| CLIENT.enable_logging(logger)
467
467
  raise HTTPClient::ReceiveTimeoutError.new}
468
468
 
@@ -7,7 +7,7 @@ describe 'Factory' do
7
7
  it 'can initialize configurations' do
8
8
  configuration = Factory.create_configuration(PROPERTIES_URI, API_KEY_ID, SECRET_API_KEY)
9
9
 
10
- expect(configuration.api_endpoint).to eq('https://api-sandbox.globalcollect.com')
10
+ expect(configuration.api_endpoint).to eq('https://eu.sandbox.api-ingenico.com')
11
11
  expect(configuration.authorization_type).to eq('v1HMAC')
12
12
  expect(configuration.connect_timeout).to eq(-1)
13
13
  expect(configuration.socket_timeout).to eq(-1)
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.20.0
4
+ version: 2.21.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: 2021-04-09 00:00:00.000000000 Z
11
+ date: 2021-06-09 00:00:00.000000000 Z
12
12
  dependencies:
13
13
  - !ruby/object:Gem::Dependency
14
14
  name: httpclient
@@ -419,6 +419,7 @@ files:
419
419
  - lib/ingenico/connect/sdk/domain/payment/redirect_payment_method_specific_input.rb
420
420
  - lib/ingenico/connect/sdk/domain/payment/redirect_payment_method_specific_input_base.rb
421
421
  - lib/ingenico/connect/sdk/domain/payment/redirect_payment_method_specific_output.rb
422
+ - lib/ingenico/connect/sdk/domain/payment/redirect_payment_product4101_specific_input.rb
422
423
  - lib/ingenico/connect/sdk/domain/payment/redirect_payment_product809_specific_input.rb
423
424
  - lib/ingenico/connect/sdk/domain/payment/redirect_payment_product816_specific_input.rb
424
425
  - lib/ingenico/connect/sdk/domain/payment/redirect_payment_product840_specific_input.rb