checkout_sdk 1.4.1 → 1.5.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 (143) hide show
  1. checksums.yaml +4 -4
  2. data/.overcommit.yml +30 -0
  3. data/.ruby-version +1 -0
  4. data/Gemfile +3 -1
  5. data/README.md +38 -0
  6. data/Rakefile +2 -2
  7. data/lib/checkout_sdk/accounts/account_holder_corporate.rb +1 -1
  8. data/lib/checkout_sdk/accounts/account_holder_individual.rb +1 -1
  9. data/lib/checkout_sdk/accounts/schedule_frequency_daily.rb +1 -1
  10. data/lib/checkout_sdk/accounts/schedule_frequency_monthly.rb +1 -1
  11. data/lib/checkout_sdk/accounts/schedule_frequency_weekly.rb +1 -1
  12. data/lib/checkout_sdk/api_client.rb +3 -3
  13. data/lib/checkout_sdk/apm/ideal/ideal_client.rb +1 -1
  14. data/lib/checkout_sdk/apm/previous/klarna/klarna_client.rb +1 -1
  15. data/lib/checkout_sdk/apm/previous/sepa/sepa_client.rb +1 -1
  16. data/lib/checkout_sdk/checkout_api.rb +4 -0
  17. data/lib/checkout_sdk/checkout_oauth_sdk_builder.rb +12 -1
  18. data/lib/checkout_sdk/customers/customers_client.rb +1 -1
  19. data/lib/checkout_sdk/disputes/disputes_client.rb +1 -1
  20. data/lib/checkout_sdk/environment_subdomain.rb +14 -10
  21. data/lib/checkout_sdk/financial/financial_client.rb +1 -1
  22. data/lib/checkout_sdk/instruments/create/instrument_bank_account.rb +1 -1
  23. data/lib/checkout_sdk/instruments/create/instrument_sepa.rb +1 -1
  24. data/lib/checkout_sdk/instruments/create/instrument_token.rb +1 -1
  25. data/lib/checkout_sdk/instruments/instruments_client.rb +1 -1
  26. data/lib/checkout_sdk/instruments/previous/instruments_client.rb +1 -1
  27. data/lib/checkout_sdk/instruments/update/update_instrument_bank_account.rb +1 -1
  28. data/lib/checkout_sdk/instruments/update/update_instrument_card.rb +1 -1
  29. data/lib/checkout_sdk/instruments/update/update_instrument_token.rb +1 -1
  30. data/lib/checkout_sdk/issuing/issuing_client.rb +1 -1
  31. data/lib/checkout_sdk/metadata/metadata_client.rb +1 -1
  32. data/lib/checkout_sdk/metadata/source/bin_metadata_source.rb +1 -1
  33. data/lib/checkout_sdk/metadata/source/card_metadata_source.rb +1 -1
  34. data/lib/checkout_sdk/metadata/source/id_metadata_source.rb +1 -1
  35. data/lib/checkout_sdk/metadata/source/token_metadata_source.rb +1 -1
  36. data/lib/checkout_sdk/payments/contexts/payment_contexts_client.rb +1 -1
  37. data/lib/checkout_sdk/payments/destination/bank_account_destination.rb +1 -1
  38. data/lib/checkout_sdk/payments/destination/card_destination.rb +1 -1
  39. data/lib/checkout_sdk/payments/destination/id_destination.rb +1 -1
  40. data/lib/checkout_sdk/payments/destination/token_destination.rb +1 -1
  41. data/lib/checkout_sdk/payments/hosted/hosted_payments_client.rb +1 -1
  42. data/lib/checkout_sdk/payments/links/payments_links_client.rb +1 -1
  43. data/lib/checkout_sdk/payments/payments.rb +3 -0
  44. data/lib/checkout_sdk/payments/payments_client.rb +1 -1
  45. data/lib/checkout_sdk/payments/previous/destination/card_destination.rb +1 -1
  46. data/lib/checkout_sdk/payments/previous/destination/id_destination.rb +1 -1
  47. data/lib/checkout_sdk/payments/previous/destination/token_destination.rb +1 -1
  48. data/lib/checkout_sdk/payments/previous/payments_client.rb +1 -1
  49. data/lib/checkout_sdk/payments/previous/source/apm/alipay_source.rb +1 -1
  50. data/lib/checkout_sdk/payments/previous/source/apm/alma_source.rb +1 -1
  51. data/lib/checkout_sdk/payments/previous/source/apm/bancontact_source.rb +1 -1
  52. data/lib/checkout_sdk/payments/previous/source/apm/benefit_pay_source.rb +1 -1
  53. data/lib/checkout_sdk/payments/previous/source/apm/boleto_source.rb +1 -1
  54. data/lib/checkout_sdk/payments/previous/source/apm/eps_source.rb +1 -1
  55. data/lib/checkout_sdk/payments/previous/source/apm/fawry_source.rb +1 -1
  56. data/lib/checkout_sdk/payments/previous/source/apm/giropay_source.rb +1 -1
  57. data/lib/checkout_sdk/payments/previous/source/apm/ideal_source.rb +1 -1
  58. data/lib/checkout_sdk/payments/previous/source/apm/klarna_source.rb +1 -1
  59. data/lib/checkout_sdk/payments/previous/source/apm/knet_source.rb +1 -1
  60. data/lib/checkout_sdk/payments/previous/source/apm/multi_banco_source.rb +1 -1
  61. data/lib/checkout_sdk/payments/previous/source/apm/oxxo_source.rb +1 -1
  62. data/lib/checkout_sdk/payments/previous/source/apm/p24_source.rb +1 -1
  63. data/lib/checkout_sdk/payments/previous/source/apm/pago_facil_source.rb +1 -1
  64. data/lib/checkout_sdk/payments/previous/source/apm/paypal_source.rb +1 -1
  65. data/lib/checkout_sdk/payments/previous/source/apm/poli_source.rb +1 -1
  66. data/lib/checkout_sdk/payments/previous/source/apm/qpay_source.rb +1 -1
  67. data/lib/checkout_sdk/payments/previous/source/apm/rapi_pago_source.rb +1 -1
  68. data/lib/checkout_sdk/payments/previous/source/apm/sofort_source.rb +1 -1
  69. data/lib/checkout_sdk/payments/previous/source/card_source.rb +1 -1
  70. data/lib/checkout_sdk/payments/previous/source/customer_source.rb +1 -1
  71. data/lib/checkout_sdk/payments/previous/source/d_local_source.rb +1 -1
  72. data/lib/checkout_sdk/payments/previous/source/id_source.rb +1 -1
  73. data/lib/checkout_sdk/payments/previous/source/network_token_source.rb +1 -1
  74. data/lib/checkout_sdk/payments/previous/source/token_source.rb +1 -1
  75. data/lib/checkout_sdk/payments/sender/corporate_sender.rb +1 -1
  76. data/lib/checkout_sdk/payments/sender/government_sender.rb +1 -1
  77. data/lib/checkout_sdk/payments/sender/individual_sender.rb +1 -1
  78. data/lib/checkout_sdk/payments/sender/instrument_sender.rb +1 -1
  79. data/lib/checkout_sdk/payments/sessions/payment_sessions_client.rb +1 -1
  80. data/lib/checkout_sdk/payments/setups/payment_setups_client.rb +75 -0
  81. data/lib/checkout_sdk/payments/source/apm/ach_source.rb +1 -1
  82. data/lib/checkout_sdk/payments/source/apm/after_pay_source.rb +1 -1
  83. data/lib/checkout_sdk/payments/source/apm/alma_source.rb +1 -1
  84. data/lib/checkout_sdk/payments/source/apm/bancontact_source.rb +1 -1
  85. data/lib/checkout_sdk/payments/source/apm/benefit_source.rb +1 -1
  86. data/lib/checkout_sdk/payments/source/apm/bizum_source.rb +1 -1
  87. data/lib/checkout_sdk/payments/source/apm/cv_connect_source.rb +1 -1
  88. data/lib/checkout_sdk/payments/source/apm/eps_source.rb +1 -1
  89. data/lib/checkout_sdk/payments/source/apm/fawry_source.rb +1 -1
  90. data/lib/checkout_sdk/payments/source/apm/giropay_source.rb +1 -1
  91. data/lib/checkout_sdk/payments/source/apm/ideal_source.rb +1 -1
  92. data/lib/checkout_sdk/payments/source/apm/illicado_source.rb +1 -1
  93. data/lib/checkout_sdk/payments/source/apm/klarna_source.rb +1 -1
  94. data/lib/checkout_sdk/payments/source/apm/knet_source.rb +1 -1
  95. data/lib/checkout_sdk/payments/source/apm/mbway_source.rb +1 -1
  96. data/lib/checkout_sdk/payments/source/apm/multi_banco_source.rb +1 -1
  97. data/lib/checkout_sdk/payments/source/apm/octopus_source.rb +1 -1
  98. data/lib/checkout_sdk/payments/source/apm/p24_source.rb +1 -1
  99. data/lib/checkout_sdk/payments/source/apm/paypal_source.rb +1 -1
  100. data/lib/checkout_sdk/payments/source/apm/plaid_source.rb +1 -1
  101. data/lib/checkout_sdk/payments/source/apm/post_finance_source.rb +1 -1
  102. data/lib/checkout_sdk/payments/source/apm/qpay_source.rb +1 -1
  103. data/lib/checkout_sdk/payments/source/apm/sepa_source.rb +1 -1
  104. data/lib/checkout_sdk/payments/source/apm/sequra_source.rb +1 -1
  105. data/lib/checkout_sdk/payments/source/apm/sofort_source.rb +1 -1
  106. data/lib/checkout_sdk/payments/source/apm/stcpay_source.rb +1 -1
  107. data/lib/checkout_sdk/payments/source/apm/tamara_source.rb +1 -1
  108. data/lib/checkout_sdk/payments/source/apm/trustly_source.rb +1 -1
  109. data/lib/checkout_sdk/payments/source/apm/we_chat_pay_source.rb +1 -1
  110. data/lib/checkout_sdk/payments/source/bank_account_source.rb +1 -1
  111. data/lib/checkout_sdk/payments/source/card_source.rb +1 -1
  112. data/lib/checkout_sdk/payments/source/currency_account_source.rb +1 -1
  113. data/lib/checkout_sdk/payments/source/customer_source.rb +1 -1
  114. data/lib/checkout_sdk/payments/source/entity_source.rb +1 -1
  115. data/lib/checkout_sdk/payments/source/id_source.rb +1 -1
  116. data/lib/checkout_sdk/payments/source/network_token_source.rb +1 -1
  117. data/lib/checkout_sdk/payments/source/provider_token_source.rb +1 -1
  118. data/lib/checkout_sdk/payments/source/token_source.rb +1 -1
  119. data/lib/checkout_sdk/reports/reports_client.rb +1 -1
  120. data/lib/checkout_sdk/risk/source/card_source.rb +1 -1
  121. data/lib/checkout_sdk/risk/source/customer_source.rb +1 -1
  122. data/lib/checkout_sdk/risk/source/id_source.rb +1 -1
  123. data/lib/checkout_sdk/risk/source/token_source.rb +1 -1
  124. data/lib/checkout_sdk/sessions/channel/app_session.rb +1 -1
  125. data/lib/checkout_sdk/sessions/channel/browser_session.rb +1 -1
  126. data/lib/checkout_sdk/sessions/channel/merchant_initiated_session.rb +1 -1
  127. data/lib/checkout_sdk/sessions/completion/hosted_completion_info.rb +1 -1
  128. data/lib/checkout_sdk/sessions/completion/non_hosted_completion_info.rb +1 -1
  129. data/lib/checkout_sdk/sessions/sessions_client.rb +2 -2
  130. data/lib/checkout_sdk/sessions/source/card_source.rb +1 -1
  131. data/lib/checkout_sdk/sessions/source/id_source.rb +1 -1
  132. data/lib/checkout_sdk/sessions/source/network_token_source.rb +1 -1
  133. data/lib/checkout_sdk/sessions/source/token_source.rb +1 -1
  134. data/lib/checkout_sdk/sources/sepa_source_request.rb +1 -1
  135. data/lib/checkout_sdk/sources/sources_client.rb +1 -1
  136. data/lib/checkout_sdk/tokens/apple_pay_token_request.rb +1 -1
  137. data/lib/checkout_sdk/tokens/google_pay_token_request.rb +1 -1
  138. data/lib/checkout_sdk/version.rb +1 -1
  139. data/lib/checkout_sdk/workflows/entity_workflow_condition.rb +1 -1
  140. data/lib/checkout_sdk/workflows/event_workflow_condition.rb +1 -1
  141. data/lib/checkout_sdk/workflows/processing_channel_workflow_condition.rb +1 -1
  142. data/lib/checkout_sdk/workflows/webhook_workflow_action.rb +1 -1
  143. metadata +29 -12
checksums.yaml CHANGED
@@ -1,7 +1,7 @@
1
1
  ---
2
2
  SHA256:
3
- metadata.gz: e1972baffa08559a77eba645b790a981552144c4b5af7450936161b677e080c8
4
- data.tar.gz: dfa0d1690acc596cb7108304c7704bb606fa1bd082bb99ab6ec4f8c381615de8
3
+ metadata.gz: 70605c20e50863e9e8fb6d63165387290f09d7ee9df7085aab98773308c9a791
4
+ data.tar.gz: 423b97c81d8fd1c881f9e78e6ca36ae567cf11f0e2bfcced3820df4e67e00cd2
5
5
  SHA512:
6
- metadata.gz: 2d93aa8c8e91d1e51935ce338ccfecc87bb663ee9f806edc28a77d239340653b20c68389d2c9f8752f37d02f540bcac5f418bbef11538559a22d12d7d7b78227
7
- data.tar.gz: 68295d7212f13138cb404df36bd8aca3b78ed0db7950d12d87a7590da8f04b8426e12c49deae821296a8826918a2da906d4962328ccf78169480c3d8973b2f68
6
+ metadata.gz: 06b37ee645dd3c8a5290efba79bb812594579749e9f4c35a66a46dbec902c9bf7154aa8cf91639fd6d874951b42f8b72af7a7597ffd8bf4ebaab9e91b92158d1
7
+ data.tar.gz: fbe86b60e6b66c4b3ba56b3728fe9ae02ea3f861a00a7688488864e59d473a15bd094ba9cf672eb5019a0078c5fef1ab32568b9e815c7cb863f74a62c55441be
data/.overcommit.yml ADDED
@@ -0,0 +1,30 @@
1
+ # Overcommit configuration
2
+ # See https://github.com/sds/overcommit for more information
3
+
4
+ PreCommit:
5
+ RuboCop:
6
+ enabled: true
7
+ on_warn: fail
8
+ command: ['bundle', 'exec', 'rubocop']
9
+ flags: ['--format', 'emacs', '--force-exclusion', '--display-cop-names']
10
+ include:
11
+ - 'lib/**/*.rb'
12
+ - '**/Gemfile'
13
+ - '**/Rakefile'
14
+
15
+ ALL:
16
+ problem_on_unmodified_line: ignore
17
+ requires_stash: true
18
+ quiet: false
19
+
20
+ PostCheckout:
21
+ ALL:
22
+ enabled: false
23
+
24
+ PostMerge:
25
+ ALL:
26
+ enabled: false
27
+
28
+ PostRewrite:
29
+ ALL:
30
+ enabled: false
data/.ruby-version ADDED
@@ -0,0 +1 @@
1
+ 3.1.0
data/Gemfile CHANGED
@@ -3,4 +3,6 @@
3
3
  source 'https://rubygems.org'
4
4
 
5
5
  # Specify your gem's dependencies in checkout_sdk.gemspec
6
- gemspec
6
+ gemspec
7
+
8
+ gem 'overcommit', '~> 0.60'
data/README.md CHANGED
@@ -15,6 +15,13 @@
15
15
  > We improved the initialization of SDK making it easier to understand the available options. <br/>
16
16
  > Now `NAS` accounts are the default instance for the SDK and `ABC` structure was moved to a `previous` prefixes. <br/>
17
17
 
18
+ ## Requirements
19
+
20
+ - **Ruby**: 2.7.0 or higher
21
+ - **Tested on**: Ruby 2.7, 3.1, and 3.3
22
+
23
+ > **Note**: Ruby 2.6 reached end-of-life in March 2022 and is no longer supported. Please upgrade to Ruby 2.7 or later for security and compatibility.
24
+
18
25
  ### Gem installer
19
26
 
20
27
  ```sh
@@ -229,6 +236,37 @@ The execution of integration tests require the following environment variables s
229
236
  * For default account systems (OAuth): `CHECKOUT_DEFAULT_OAUTH_CLIENT_ID` & `CHECKOUT_DEFAULT_OAUTH_CLIENT_SECRET`
230
237
  * For Previous account systems (ABC): `CHECKOUT_PREVIOUS_PUBLIC_KEY` & `CHECKOUT_PREVIOUS_SECRET_KEY`
231
238
 
239
+ ## Development Setup
240
+
241
+ ### Git Hooks with Overcommit
242
+
243
+ This project uses [Overcommit](https://github.com/sds/overcommit) to manage Git hooks and ensure code quality.
244
+
245
+ After cloning the repository, install the hooks:
246
+
247
+ ```bash
248
+ bundle install
249
+ bundle exec overcommit --install
250
+ ```
251
+
252
+ This will automatically run RuboCop on staged Ruby files before each commit. If there are any offenses, the commit will be blocked.
253
+
254
+ #### Auto-fixing issues
255
+
256
+ To automatically fix some RuboCop offenses:
257
+
258
+ ```bash
259
+ bundle exec rubocop -a
260
+ ```
261
+
262
+ #### Skipping hooks (not recommended)
263
+
264
+ If you absolutely need to skip the pre-commit hooks:
265
+
266
+ ```bash
267
+ OVERCOMMIT_DISABLE=1 git commit -m "your message"
268
+ ```
269
+
232
270
  ## Code of Conduct
233
271
 
234
272
  Please refer to [Code of Conduct](CODE_OF_CONDUCT.md)
data/Rakefile CHANGED
@@ -1,7 +1,7 @@
1
1
  # frozen_string_literal: true
2
2
 
3
- require "bundler/gem_tasks"
4
- require "rspec/core/rake_task"
3
+ require 'bundler/gem_tasks'
4
+ require 'rspec/core/rake_task'
5
5
 
6
6
  RSpec::Core::RakeTask.new(:spec)
7
7
 
@@ -8,7 +8,7 @@ module CheckoutSdk
8
8
  attr_accessor :company_name
9
9
 
10
10
  def initialize
11
- super AccountHolderType::CORPORATE
11
+ super(AccountHolderType::CORPORATE)
12
12
  end
13
13
  end
14
14
  end
@@ -11,7 +11,7 @@ module CheckoutSdk
11
11
  :last_name
12
12
 
13
13
  def initialize
14
- super AccountHolderType::INDIVIDUAL
14
+ super(AccountHolderType::INDIVIDUAL)
15
15
  end
16
16
  end
17
17
  end
@@ -4,7 +4,7 @@ module CheckoutSdk
4
4
  module Accounts
5
5
  class ScheduleFrequencyDaily < ScheduleRequest
6
6
  def initialize
7
- super ScheduleFrequencyType::DAILY
7
+ super(ScheduleFrequencyType::DAILY)
8
8
  end
9
9
  end
10
10
  end
@@ -8,7 +8,7 @@ module CheckoutSdk
8
8
  attr_accessor :by_month_day
9
9
 
10
10
  def initialize
11
- super ScheduleFrequencyType::MONTHLY
11
+ super(ScheduleFrequencyType::MONTHLY)
12
12
  end
13
13
  end
14
14
  end
@@ -8,7 +8,7 @@ module CheckoutSdk
8
8
  attr_accessor :by_day
9
9
 
10
10
  def initialize
11
- super ScheduleFrequencyType::WEEKLY
11
+ super(ScheduleFrequencyType::WEEKLY)
12
12
  end
13
13
  end
14
14
  end
@@ -19,15 +19,15 @@ module CheckoutSdk
19
19
  end
20
20
 
21
21
  def invoke_post(path, authorization, request = nil, idempotency_key = nil)
22
- invoke(:post, path, authorization, request, idempotency_key)
22
+ invoke(:post, path, authorization, request, idempotency_key, params: nil)
23
23
  end
24
24
 
25
25
  def invoke_put(path, authorization, request)
26
- invoke(:put, path, authorization, request)
26
+ invoke(:put, path, authorization, request, nil, params: nil)
27
27
  end
28
28
 
29
29
  def invoke_patch(path, authorization, request = nil)
30
- invoke(:patch, path, authorization, request)
30
+ invoke(:patch, path, authorization, request, nil, params: nil)
31
31
  end
32
32
 
33
33
  def invoke_delete(path, authorization)
@@ -10,7 +10,7 @@ module CheckoutSdk
10
10
  # @param [ApiClient] api_client
11
11
  # @param [CheckoutConfiguration] configuration
12
12
  def initialize(api_client, configuration)
13
- super api_client, configuration, CheckoutSdk::AuthorizationType::SECRET_KEY
13
+ super(api_client, configuration, CheckoutSdk::AuthorizationType::SECRET_KEY)
14
14
  end
15
15
 
16
16
  def info
@@ -13,7 +13,7 @@ module CheckoutSdk
13
13
  # @param [ApiClient] api_client
14
14
  # @param [CheckoutConfiguration] configuration
15
15
  def initialize(api_client, configuration)
16
- super api_client, configuration, CheckoutSdk::AuthorizationType::SECRET_KEY
16
+ super(api_client, configuration, CheckoutSdk::AuthorizationType::SECRET_KEY)
17
17
  end
18
18
 
19
19
  # @param credit_session_request [Hash, CreditSessionRequest]
@@ -13,7 +13,7 @@ module CheckoutSdk
13
13
  # @param [ApiClient] api_client
14
14
  # @param [CheckoutConfiguration] configuration
15
15
  def initialize(api_client, configuration)
16
- super api_client, configuration, CheckoutSdk::AuthorizationType::SECRET_KEY
16
+ super(api_client, configuration, CheckoutSdk::AuthorizationType::SECRET_KEY)
17
17
  end
18
18
 
19
19
  # @param mandate_id [String]
@@ -43,6 +43,8 @@ module CheckoutSdk
43
43
  # @return [CheckoutSdk::Payments::PaymentContextsClient]
44
44
  # @!attribute payment_sessions
45
45
  # @return [CheckoutSdk::Payments::PaymentSessionsClient]
46
+ # @!attribute payments_setups
47
+ # @return [CheckoutSdk::Payments::PaymentSetupsClient]
46
48
  # @!attribute forward
47
49
  # @return [CheckoutSdk::Forward::ForwardClient]
48
50
  class CheckoutApi
@@ -53,6 +55,7 @@ module CheckoutSdk
53
55
  :instruments,
54
56
  :links,
55
57
  :payments,
58
+ :payments_setups,
56
59
  :reports,
57
60
  :sessions,
58
61
  :tokens,
@@ -93,6 +96,7 @@ module CheckoutSdk
93
96
  @issuing = CheckoutSdk::Issuing::IssuingClient.new api_client, configuration
94
97
  @contexts = CheckoutSdk::Payments::PaymentContextsClient.new api_client, configuration
95
98
  @payment_sessions = CheckoutSdk::Payments::PaymentSessionsClient.new api_client, configuration
99
+ @payments_setups = CheckoutSdk::Payments::PaymentSetupsClient.new api_client, configuration
96
100
  @forward = CheckoutSdk::Forward::ForwardClient.new(api_client, configuration)
97
101
  end
98
102
 
@@ -41,6 +41,17 @@ module CheckoutSdk
41
41
  # @return [CheckoutSdk::CheckoutApi]
42
42
  def build
43
43
  super
44
+
45
+ # Determine authorization URI following Go logic
46
+ auth_uri = authorization_uri
47
+ if auth_uri.nil? || auth_uri.empty?
48
+ auth_uri = if environment_subdomain
49
+ environment_subdomain.authorization_uri
50
+ else
51
+ environment.authorization_uri
52
+ end
53
+ end
54
+
44
55
  configuration = CheckoutConfiguration.new(
45
56
  OAuthSdkCredentials.new(client_id,
46
57
  client_secret,
@@ -48,7 +59,7 @@ module CheckoutSdk
48
59
  http_client,
49
60
  environment,
50
61
  logger,
51
- authorization_uri),
62
+ auth_uri),
52
63
  environment,
53
64
  http_client,
54
65
  multipart_http_client,
@@ -9,7 +9,7 @@ module CheckoutSdk
9
9
  # @param [ApiClient] api_client
10
10
  # @param [CheckoutConfiguration] configuration
11
11
  def initialize(api_client, configuration)
12
- super api_client, configuration, CheckoutSdk::AuthorizationType::SECRET_KEY_OR_OAUTH
12
+ super(api_client, configuration, CheckoutSdk::AuthorizationType::SECRET_KEY_OR_OAUTH)
13
13
  end
14
14
 
15
15
  # @param [Hash, CustomerRequest] customer_request
@@ -14,7 +14,7 @@ module CheckoutSdk
14
14
  # @param [ApiClient] api_client
15
15
  # @param [CheckoutConfiguration] configuration
16
16
  def initialize(api_client, configuration)
17
- super api_client, configuration, CheckoutSdk::AuthorizationType::SECRET_KEY_OR_OAUTH
17
+ super(api_client, configuration, CheckoutSdk::AuthorizationType::SECRET_KEY_OR_OAUTH)
18
18
  end
19
19
 
20
20
  # @param [Hash, DisputesQueryFilter] disputes_query_filter
@@ -5,8 +5,10 @@ module CheckoutSdk
5
5
  # @return [Environment]
6
6
  # @!attribute subdomain
7
7
  # @return [String]
8
+ # @!attribute authorization_uri
9
+ # @return [String]
8
10
  class EnvironmentSubdomain
9
- attr_reader :base_uri, :environment, :subdomain
11
+ attr_reader :base_uri, :authorization_uri, :environment, :subdomain
10
12
 
11
13
  # Initializes the EnvironmentSubdomain with the given environment and subdomain.
12
14
  #
@@ -15,22 +17,24 @@ module CheckoutSdk
15
17
  def initialize(environment, subdomain)
16
18
  @environment = environment
17
19
  @subdomain = subdomain
18
- @base_uri = add_subdomain_to_api_url_environment(environment, subdomain)
20
+ @base_uri = create_url_with_subdomain(environment.base_uri, subdomain)
21
+ @authorization_uri = create_url_with_subdomain(environment.authorization_uri, subdomain)
19
22
  end
20
23
 
21
24
  private
22
25
 
23
- # Adds the subdomain to the API URL of the given environment.
26
+ # Applies subdomain transformation to any given URI.
27
+ # If the subdomain is valid (alphanumeric pattern), prepends it to the host.
28
+ # Otherwise, returns the original URI unchanged.
24
29
  #
25
- # @param environment [Environment] The environment object which should have a base_uri method.
26
- # @param subdomain [String] The subdomain to add to the environment's API URL.
27
- # @return [String] The new environment URL with the subdomain added.
28
- def add_subdomain_to_api_url_environment(environment, subdomain)
29
- api_url = environment.base_uri
30
- new_environment = api_url
30
+ # @param original_url [String] The original URL to transform.
31
+ # @param subdomain [String] The subdomain to prepend to the host.
32
+ # @return [String] The transformed URL with subdomain, or original URL if subdomain is invalid.
33
+ def create_url_with_subdomain(original_url, subdomain)
34
+ new_environment = original_url
31
35
 
32
36
  if subdomain =~ /^[0-9a-z]+$/
33
- url_parts = URI.parse(api_url)
37
+ url_parts = URI.parse(original_url)
34
38
  new_host = "#{subdomain}.#{url_parts.host}"
35
39
 
36
40
  port = url_parts.scheme == 'https' && url_parts.port == 443 ? nil : url_parts.port
@@ -9,7 +9,7 @@ module CheckoutSdk
9
9
  # @param [ApiClient] api_client
10
10
  # @param [CheckoutConfiguration] configuration
11
11
  def initialize(api_client, configuration)
12
- super api_client, configuration, CheckoutSdk::AuthorizationType::SECRET_KEY_OR_OAUTH
12
+ super(api_client, configuration, CheckoutSdk::AuthorizationType::SECRET_KEY_OR_OAUTH)
13
13
  end
14
14
 
15
15
  # @param [Hash, FinancialActionsQuery] query_filter
@@ -44,7 +44,7 @@ module CheckoutSdk
44
44
  :customer
45
45
 
46
46
  def initialize
47
- super CheckoutSdk::Common::InstrumentType::BANK_ACCOUNT
47
+ super(CheckoutSdk::Common::InstrumentType::BANK_ACCOUNT)
48
48
  end
49
49
  end
50
50
  end
@@ -11,7 +11,7 @@ module CheckoutSdk
11
11
  :account_holder
12
12
 
13
13
  def initialize
14
- super CheckoutSdk::Common::InstrumentType::SEPA
14
+ super(CheckoutSdk::Common::InstrumentType::SEPA)
15
15
  end
16
16
  end
17
17
  end
@@ -14,7 +14,7 @@ module CheckoutSdk
14
14
  :customer
15
15
 
16
16
  def initialize
17
- super CheckoutSdk::Common::InstrumentType::TOKEN
17
+ super(CheckoutSdk::Common::InstrumentType::TOKEN)
18
18
  end
19
19
  end
20
20
  end
@@ -9,7 +9,7 @@ module CheckoutSdk
9
9
  # @param [ApiClient] api_client
10
10
  # @param [CheckoutConfiguration] configuration
11
11
  def initialize(api_client, configuration)
12
- super api_client, configuration, CheckoutSdk::AuthorizationType::SECRET_KEY_OR_OAUTH
12
+ super(api_client, configuration, CheckoutSdk::AuthorizationType::SECRET_KEY_OR_OAUTH)
13
13
  end
14
14
 
15
15
  # @param [Hash, Instrument] create_instrument_request
@@ -7,7 +7,7 @@ module CheckoutSdk
7
7
  # @param [ApiClient] api_client
8
8
  # @param [CheckoutConfiguration] configuration
9
9
  def initialize(api_client, configuration)
10
- super api_client, configuration, CheckoutSdk::AuthorizationType::SECRET_KEY
10
+ super(api_client, configuration, CheckoutSdk::AuthorizationType::SECRET_KEY)
11
11
  end
12
12
 
13
13
  # @param [Hash, CustomerRequest] create_instrument_request
@@ -44,7 +44,7 @@ module CheckoutSdk
44
44
  :customer
45
45
 
46
46
  def initialize
47
- super CheckoutSdk::Common::InstrumentType::BANK_ACCOUNT
47
+ super(CheckoutSdk::Common::InstrumentType::BANK_ACCOUNT)
48
48
  end
49
49
  end
50
50
  end
@@ -20,7 +20,7 @@ module CheckoutSdk
20
20
  :customer
21
21
 
22
22
  def initialize
23
- super CheckoutSdk::Common::InstrumentType::CARD
23
+ super(CheckoutSdk::Common::InstrumentType::CARD)
24
24
  end
25
25
  end
26
26
  end
@@ -8,7 +8,7 @@ module CheckoutSdk
8
8
  attr_accessor :token
9
9
 
10
10
  def initialize
11
- super CheckoutSdk::Common::InstrumentType::TOKEN
11
+ super(CheckoutSdk::Common::InstrumentType::TOKEN)
12
12
  end
13
13
  end
14
14
  end
@@ -33,7 +33,7 @@ module CheckoutSdk
33
33
  # @param [ApiClient] api_client
34
34
  # @param [CheckoutConfiguration] configuration
35
35
  def initialize(api_client, configuration)
36
- super api_client, configuration, CheckoutSdk::AuthorizationType::SECRET_KEY_OR_OAUTH
36
+ super(api_client, configuration, CheckoutSdk::AuthorizationType::SECRET_KEY_OR_OAUTH)
37
37
  end
38
38
 
39
39
  # @param [Hash] cardholder_request
@@ -10,7 +10,7 @@ module CheckoutSdk
10
10
  # @param [ApiClient] api_client
11
11
  # @param [CheckoutConfiguration] configuration
12
12
  def initialize(api_client, configuration)
13
- super api_client, configuration, CheckoutSdk::AuthorizationType::SECRET_KEY_OR_OAUTH
13
+ super(api_client, configuration, CheckoutSdk::AuthorizationType::SECRET_KEY_OR_OAUTH)
14
14
  end
15
15
 
16
16
  # @param [Hash, MetadataRequest] metadata_request
@@ -8,7 +8,7 @@ module CheckoutSdk
8
8
  attr_accessor :bin
9
9
 
10
10
  def initialize
11
- super MetadataSourceType::BIN
11
+ super(MetadataSourceType::BIN)
12
12
  end
13
13
  end
14
14
  end
@@ -8,7 +8,7 @@ module CheckoutSdk
8
8
  attr_accessor :number
9
9
 
10
10
  def initialize
11
- super MetadataSourceType::CARD
11
+ super(MetadataSourceType::CARD)
12
12
  end
13
13
  end
14
14
  end
@@ -8,7 +8,7 @@ module CheckoutSdk
8
8
  attr_accessor :id
9
9
 
10
10
  def initialize
11
- super MetadataSourceType::ID
11
+ super(MetadataSourceType::ID)
12
12
  end
13
13
  end
14
14
  end
@@ -8,7 +8,7 @@ module CheckoutSdk
8
8
  attr_accessor :token
9
9
 
10
10
  def initialize
11
- super MetadataSourceType::TOKEN
11
+ super(MetadataSourceType::TOKEN)
12
12
  end
13
13
  end
14
14
  end
@@ -8,7 +8,7 @@ module CheckoutSdk
8
8
  # @param [ApiClient] api_client
9
9
  # @param [CheckoutConfiguration] configuration
10
10
  def initialize(api_client, configuration)
11
- super api_client, configuration, CheckoutSdk::AuthorizationType::SECRET_KEY_OR_OAUTH
11
+ super(api_client, configuration, CheckoutSdk::AuthorizationType::SECRET_KEY_OR_OAUTH)
12
12
  end
13
13
 
14
14
  # @param [Hash] payment_contexts
@@ -35,7 +35,7 @@ module CheckoutSdk
35
35
  :bank
36
36
 
37
37
  def initialize
38
- super CheckoutSdk::Payments::DestinationType::BANK_ACCOUNT
38
+ super(CheckoutSdk::Payments::DestinationType::BANK_ACCOUNT)
39
39
  end
40
40
  end
41
41
  end
@@ -17,7 +17,7 @@ module CheckoutSdk
17
17
  :account_holder
18
18
 
19
19
  def initialize
20
- super CheckoutSdk::Payments::DestinationType::CARD
20
+ super(CheckoutSdk::Payments::DestinationType::CARD)
21
21
  end
22
22
  end
23
23
  end
@@ -11,7 +11,7 @@ module CheckoutSdk
11
11
  :account_holder
12
12
 
13
13
  def initialize
14
- super CheckoutSdk::Payments::DestinationType::ID
14
+ super(CheckoutSdk::Payments::DestinationType::ID)
15
15
  end
16
16
  end
17
17
  end
@@ -11,7 +11,7 @@ module CheckoutSdk
11
11
  :account_holder
12
12
 
13
13
  def initialize
14
- super CheckoutSdk::Payments::DestinationType::TOKEN
14
+ super(CheckoutSdk::Payments::DestinationType::TOKEN)
15
15
  end
16
16
  end
17
17
  end
@@ -8,7 +8,7 @@ module CheckoutSdk
8
8
  # @param [ApiClient] api_client
9
9
  # @param [CheckoutConfiguration] configuration
10
10
  def initialize(api_client, configuration)
11
- super api_client, configuration, CheckoutSdk::AuthorizationType::SECRET_KEY
11
+ super(api_client, configuration, CheckoutSdk::AuthorizationType::SECRET_KEY)
12
12
  end
13
13
 
14
14
  # @param [Hash, HostedPaymentsSession] hosted_payments_session
@@ -8,7 +8,7 @@ module CheckoutSdk
8
8
  # @param [ApiClient] api_client
9
9
  # @param [CheckoutConfiguration] configuration
10
10
  def initialize(api_client, configuration)
11
- super api_client, configuration, CheckoutSdk::AuthorizationType::SECRET_KEY
11
+ super(api_client, configuration, CheckoutSdk::AuthorizationType::SECRET_KEY)
12
12
  end
13
13
 
14
14
  # @param [Hash, PaymentLink] payment_link
@@ -177,3 +177,6 @@ require 'checkout_sdk/payments/sessions/payment_sessions_client'
177
177
  require 'checkout_sdk/payments/sessions/payment_sessions_request'
178
178
  require 'checkout_sdk/payments/sessions/payment_methods_type'
179
179
  require 'checkout_sdk/payments/sessions/store_payment_details_type'
180
+
181
+ # Payment Setups
182
+ require 'checkout_sdk/payments/setups/payment_setups_client'
@@ -6,7 +6,7 @@ module CheckoutSdk
6
6
  # @param [ApiClient] api_client
7
7
  # @param [CheckoutConfiguration] configuration
8
8
  def initialize(api_client, configuration)
9
- super api_client, configuration, CheckoutSdk::AuthorizationType::SECRET_KEY_OR_OAUTH
9
+ super(api_client, configuration, CheckoutSdk::AuthorizationType::SECRET_KEY_OR_OAUTH)
10
10
  end
11
11
 
12
12
  # @param [Hash, PaymentRequest] payment_request
@@ -30,7 +30,7 @@ module CheckoutSdk
30
30
  :phone
31
31
 
32
32
  def initialize
33
- super CheckoutSdk::Payments::DestinationType::CARD
33
+ super(CheckoutSdk::Payments::DestinationType::CARD)
34
34
  end
35
35
  end
36
36
  end
@@ -15,7 +15,7 @@ module CheckoutSdk
15
15
  :last_name
16
16
 
17
17
  def initialize
18
- super CheckoutSdk::Payments::DestinationType::ID
18
+ super(CheckoutSdk::Payments::DestinationType::ID)
19
19
  end
20
20
  end
21
21
  end
@@ -21,7 +21,7 @@ module CheckoutSdk
21
21
  :phone
22
22
 
23
23
  def initialize
24
- super CheckoutSdk::Payments::DestinationType::TOKEN
24
+ super(CheckoutSdk::Payments::DestinationType::TOKEN)
25
25
  end
26
26
  end
27
27
  end
@@ -7,7 +7,7 @@ module CheckoutSdk
7
7
  # @param [ApiClient] api_client
8
8
  # @param [CheckoutConfiguration] configuration
9
9
  def initialize(api_client, configuration)
10
- super api_client, configuration, CheckoutSdk::AuthorizationType::SECRET_KEY_OR_OAUTH
10
+ super(api_client, configuration, CheckoutSdk::AuthorizationType::SECRET_KEY_OR_OAUTH)
11
11
  end
12
12
 
13
13
  # @param [Hash, PaymentRequest] payment_request
@@ -5,7 +5,7 @@ module CheckoutSdk
5
5
  module Payments
6
6
  class AlipaySource < PaymentSource
7
7
  def initialize
8
- super CheckoutSdk::Common::PaymentSourceType::ALIPAY
8
+ super(CheckoutSdk::Common::PaymentSourceType::ALIPAY)
9
9
  end
10
10
  end
11
11
  end
@@ -15,7 +15,7 @@ module CheckoutSdk
15
15
  attr_accessor :billing_address
16
16
 
17
17
  def initialize
18
- super CheckoutSdk::Common::PaymentSourceType::ALMA
18
+ super(CheckoutSdk::Common::PaymentSourceType::ALMA)
19
19
  end
20
20
  end
21
21
  end