acquiring-sdk-ruby 1.1.0 → 1.3.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.
Files changed (30) hide show
  1. checksums.yaml +4 -4
  2. data/acquiring-sdk-ruby.gemspec +1 -1
  3. data/lib/worldline/acquiring/sdk/authentication/oauth2_authenticator.rb +16 -11
  4. data/lib/worldline/acquiring/sdk/authentication/oauth2_scopes.rb +73 -0
  5. data/lib/worldline/acquiring/sdk/communication/metadata_provider.rb +1 -1
  6. data/lib/worldline/acquiring/sdk/communicator_configuration.rb +8 -1
  7. data/lib/worldline/acquiring/sdk/v1/domain/additional_response_data.rb +41 -0
  8. data/lib/worldline/acquiring/sdk/v1/domain/api_account_verification_response.rb +9 -0
  9. data/lib/worldline/acquiring/sdk/v1/domain/api_action_response.rb +9 -0
  10. data/lib/worldline/acquiring/sdk/v1/domain/api_action_response_for_refund.rb +9 -0
  11. data/lib/worldline/acquiring/sdk/v1/domain/api_balance_inquiry_response.rb +18 -0
  12. data/lib/worldline/acquiring/sdk/v1/domain/api_payment_resource.rb +0 -7
  13. data/lib/worldline/acquiring/sdk/v1/domain/api_payment_response.rb +9 -19
  14. data/lib/worldline/acquiring/sdk/v1/domain/api_payment_summary_for_response.rb +0 -7
  15. data/lib/worldline/acquiring/sdk/v1/domain/api_refund_resource.rb +0 -7
  16. data/lib/worldline/acquiring/sdk/v1/domain/api_refund_response.rb +12 -10
  17. data/lib/worldline/acquiring/sdk/v1/domain/api_refund_summary_for_response.rb +0 -7
  18. data/lib/worldline/acquiring/sdk/v1/domain/card_payment_data.rb +9 -0
  19. data/lib/worldline/acquiring/sdk/v1/domain/geo_coordinates.rb +41 -0
  20. data/lib/worldline/acquiring/sdk/v1/domain/plain_card_data.rb +7 -0
  21. data/lib/worldline/acquiring/sdk/v1/domain/point_of_sale_data_for_response.rb +12 -0
  22. data/lib/worldline/acquiring/sdk/v1/domain/service_location_address.rb +55 -0
  23. data/lib/worldline/acquiring/sdk/v1/domain/service_location_data.rb +45 -0
  24. data/lib/worldline/acquiring/sdk/v1/domain/sub_operation.rb +0 -7
  25. data/lib/worldline/acquiring/sdk/v1/domain/sub_operation_for_refund.rb +0 -7
  26. data/lib/worldline/acquiring/sdk/v1/domain/terminal_data.rb +14 -0
  27. data/spec/integration/custom_oauth2_scopes_spec.rb +52 -0
  28. data/spec/lib/authentication/oauth2_scopes_spec.rb +66 -0
  29. data/spec/lib/communicator_configuration_spec.rb +23 -0
  30. metadata +11 -2
@@ -22,6 +22,7 @@ describe 'CommunicatorConfiguration' do
22
22
 
23
23
  expect(communicator_config.authorization_id).to be_nil
24
24
  expect(communicator_config.authorization_secret).to be_nil
25
+ expect(communicator_config.oauth2_scopes).to be_nil
25
26
  expect(communicator_config.proxy_configuration).to be_nil
26
27
  expect(communicator_config.integrator).to be_nil
27
28
  expect(communicator_config.shopping_cart_extension).to be_nil
@@ -46,6 +47,7 @@ describe 'CommunicatorConfiguration' do
46
47
 
47
48
  expect(communicator_config.authorization_id).to be_nil
48
49
  expect(communicator_config.authorization_secret).to be_nil
50
+ expect(communicator_config.oauth2_scopes).to be_nil
49
51
  expect(proxy_config).to be_truthy
50
52
  expect(proxy_config.scheme).to eq('http')
51
53
  expect(proxy_config.host).to eq('proxy.example.org')
@@ -75,6 +77,7 @@ describe 'CommunicatorConfiguration' do
75
77
 
76
78
  expect(communicator_config.authorization_id).to be_nil
77
79
  expect(communicator_config.authorization_secret).to be_nil
80
+ expect(communicator_config.oauth2_scopes).to be_nil
78
81
  expect(proxy_config).to be_truthy
79
82
  expect(proxy_config.scheme).to eq('http')
80
83
  expect(proxy_config.host).to eq('proxy.example.org')
@@ -102,6 +105,7 @@ describe 'CommunicatorConfiguration' do
102
105
 
103
106
  expect(communicator_config.authorization_id).to be_nil
104
107
  expect(communicator_config.authorization_secret).to be_nil
108
+ expect(communicator_config.oauth2_scopes).to be_nil
105
109
  expect(communicator_config.proxy_configuration).to be_nil
106
110
  end
107
111
 
@@ -170,6 +174,7 @@ describe 'CommunicatorConfiguration' do
170
174
 
171
175
  expect(communicator_config.authorization_id).to be_nil
172
176
  expect(communicator_config.authorization_secret).to be_nil
177
+ expect(communicator_config.oauth2_scopes).to be_nil
173
178
  expect(communicator_config.proxy_configuration).to be_nil
174
179
  expect(communicator_config.integrator).to eq('Worldline.Integrator')
175
180
  expect(communicator_config.shopping_cart_extension).to be_truthy
@@ -178,4 +183,22 @@ describe 'CommunicatorConfiguration' do
178
183
  expect(communicator_config.shopping_cart_extension.version).to eq('1.0')
179
184
  expect(communicator_config.shopping_cart_extension.extension_id).to eq('ExtensionId')
180
185
  end
186
+
187
+ it 'stores custom OAuth2 scopes' do
188
+ yaml = '---
189
+ acquiring.api.endpoint.host: api.preprod.acquiring.worldline-solutions.com
190
+ acquiring.api.authorizationType: OAuth2
191
+ acquiring.api.oauth2.scopes: processing_dcc_rate invalid_scope
192
+ acquiring.api.connectTimeout: 20
193
+ acquiring.api.socketTimeout: 10'
194
+ config = YAML.load(yaml)
195
+
196
+ communicator_config = CommunicatorConfiguration.new(properties: config)
197
+
198
+ expect(communicator_config.api_endpoint).to eq('https://api.preprod.acquiring.worldline-solutions.com')
199
+ expect(communicator_config.authorization_type).to eq('OAuth2')
200
+ expect(communicator_config.connect_timeout).to eq(20)
201
+ expect(communicator_config.socket_timeout).to eq(10)
202
+ expect(communicator_config.oauth2_scopes).to eq('processing_dcc_rate invalid_scope')
203
+ end
181
204
  end
metadata CHANGED
@@ -1,14 +1,14 @@
1
1
  --- !ruby/object:Gem::Specification
2
2
  name: acquiring-sdk-ruby
3
3
  version: !ruby/object:Gem::Version
4
- version: 1.1.0
4
+ version: 1.3.0
5
5
  platform: ruby
6
6
  authors:
7
7
  - Worldline Acquiring
8
8
  autorequire:
9
9
  bindir: bin
10
10
  cert_chain: []
11
- date: 2025-02-20 00:00:00.000000000 Z
11
+ date: 2025-05-20 00:00:00.000000000 Z
12
12
  dependencies:
13
13
  - !ruby/object:Gem::Dependency
14
14
  name: httpclient
@@ -148,6 +148,7 @@ files:
148
148
  - lib/worldline/acquiring/sdk/authentication/authorization_type.rb
149
149
  - lib/worldline/acquiring/sdk/authentication/oauth2_authenticator.rb
150
150
  - lib/worldline/acquiring/sdk/authentication/oauth2_exception.rb
151
+ - lib/worldline/acquiring/sdk/authentication/oauth2_scopes.rb
151
152
  - lib/worldline/acquiring/sdk/call_context.rb
152
153
  - lib/worldline/acquiring/sdk/client.rb
153
154
  - lib/worldline/acquiring/sdk/communication.rb
@@ -211,6 +212,7 @@ files:
211
212
  - lib/worldline/acquiring/sdk/v1/api_exception.rb
212
213
  - lib/worldline/acquiring/sdk/v1/authorization_exception.rb
213
214
  - lib/worldline/acquiring/sdk/v1/domain.rb
215
+ - lib/worldline/acquiring/sdk/v1/domain/additional_response_data.rb
214
216
  - lib/worldline/acquiring/sdk/v1/domain/address_verification_data.rb
215
217
  - lib/worldline/acquiring/sdk/v1/domain/amount_data.rb
216
218
  - lib/worldline/acquiring/sdk/v1/domain/api_account_verification_request.rb
@@ -253,6 +255,7 @@ files:
253
255
  - lib/worldline/acquiring/sdk/v1/domain/e_commerce_data_for_account_verification.rb
254
256
  - lib/worldline/acquiring/sdk/v1/domain/e_commerce_data_for_response.rb
255
257
  - lib/worldline/acquiring/sdk/v1/domain/emv_data_item.rb
258
+ - lib/worldline/acquiring/sdk/v1/domain/geo_coordinates.rb
256
259
  - lib/worldline/acquiring/sdk/v1/domain/get_dcc_rate_request.rb
257
260
  - lib/worldline/acquiring/sdk/v1/domain/get_dcc_rate_response.rb
258
261
  - lib/worldline/acquiring/sdk/v1/domain/initial_card_on_file_data.rb
@@ -264,6 +267,8 @@ files:
264
267
  - lib/worldline/acquiring/sdk/v1/domain/point_of_sale_data_for_dcc.rb
265
268
  - lib/worldline/acquiring/sdk/v1/domain/point_of_sale_data_for_response.rb
266
269
  - lib/worldline/acquiring/sdk/v1/domain/rate_data.rb
270
+ - lib/worldline/acquiring/sdk/v1/domain/service_location_address.rb
271
+ - lib/worldline/acquiring/sdk/v1/domain/service_location_data.rb
267
272
  - lib/worldline/acquiring/sdk/v1/domain/sub_operation.rb
268
273
  - lib/worldline/acquiring/sdk/v1/domain/sub_operation_for_refund.rb
269
274
  - lib/worldline/acquiring/sdk/v1/domain/subsequent_card_on_file_data.rb
@@ -298,12 +303,14 @@ files:
298
303
  - spec/fixtures/resources/properties.oauth2.yml
299
304
  - spec/fixtures/resources/properties.proxy.yml
300
305
  - spec/integration/connection_pooling_spec.rb
306
+ - spec/integration/custom_oauth2_scopes_spec.rb
301
307
  - spec/integration/multipart_form_data_spec.rb
302
308
  - spec/integration/process_payment_spec.rb
303
309
  - spec/integration/request_dcc_rate_spec.rb
304
310
  - spec/integration/sdk_proxy_spec.rb
305
311
  - spec/integration_setup.rb
306
312
  - spec/lib/authentication/oauth2_authenticator_spec.rb
313
+ - spec/lib/authentication/oauth2_scopes_spec.rb
307
314
  - spec/lib/client_spec.rb
308
315
  - spec/lib/communication/default_connection_logger_spec.rb
309
316
  - spec/lib/communication/default_connection_spec.rb
@@ -363,12 +370,14 @@ test_files:
363
370
  - spec/fixtures/resources/properties.oauth2.yml
364
371
  - spec/fixtures/resources/properties.proxy.yml
365
372
  - spec/integration/connection_pooling_spec.rb
373
+ - spec/integration/custom_oauth2_scopes_spec.rb
366
374
  - spec/integration/multipart_form_data_spec.rb
367
375
  - spec/integration/process_payment_spec.rb
368
376
  - spec/integration/request_dcc_rate_spec.rb
369
377
  - spec/integration/sdk_proxy_spec.rb
370
378
  - spec/integration_setup.rb
371
379
  - spec/lib/authentication/oauth2_authenticator_spec.rb
380
+ - spec/lib/authentication/oauth2_scopes_spec.rb
372
381
  - spec/lib/client_spec.rb
373
382
  - spec/lib/communication/default_connection_logger_spec.rb
374
383
  - spec/lib/communication/default_connection_spec.rb