From 975d6c6fa4428a1f60e6fc398148415c66d884b8 Mon Sep 17 00:00:00 2001 From: Ernest Sim Date: Tue, 30 Jul 2024 00:16:18 +0800 Subject: [PATCH 1/2] feat: add support for terminal region --- lib/adyen/client.rb | 11 ++++++++--- 1 file changed, 8 insertions(+), 3 deletions(-) diff --git a/lib/adyen/client.rb b/lib/adyen/client.rb index ddc538e6..f87e650b 100644 --- a/lib/adyen/client.rb +++ b/lib/adyen/client.rb @@ -13,10 +13,10 @@ module Adyen class Client attr_accessor :ws_user, :ws_password, :api_key, :oauth_token, :client, :adapter - attr_reader :env, :connection_options, :adapter_options + attr_reader :env, :connection_options, :adapter_options, :terminal_region def initialize(ws_user: nil, ws_password: nil, api_key: nil, oauth_token: nil, env: :live, adapter: nil, mock_port: 3001, - live_url_prefix: nil, mock_service_url_base: nil, connection_options: nil, adapter_options: nil) + live_url_prefix: nil, mock_service_url_base: nil, connection_options: nil, adapter_options: nil, terminal_region: nil) @ws_user = ws_user @ws_password = ws_password @api_key = api_key @@ -33,6 +33,7 @@ def initialize(ws_user: nil, ws_password: nil, api_key: nil, oauth_token: nil, e @mock_service_url_base = mock_service_url_base || "http://localhost:#{mock_port}" @live_url_prefix = live_url_prefix @connection_options = connection_options || Faraday::ConnectionOptions.new + @terminal_region = terminal_region end # make sure that env can only be :live, :test, or :mock @@ -84,7 +85,11 @@ def service_url_base(service) url = "https://management-#{@env}.adyen.com" supports_live_url_prefix = false when 'TerminalCloudAPI' - url = "https://terminal-api-#{@env}.adyen.com" + url = if terminal_region.present? + "https://terminal-api-#{@env}-#{terminal_region}.adyen.com" + else + "https://terminal-api-#{@env}.adyen.com" + end supports_live_url_prefix = false else raise ArgumentError, 'Invalid service specified' From a9d7c8b46bbefc540379f1ffdee175e598fd2b3e Mon Sep 17 00:00:00 2001 From: Ernest Sim Date: Tue, 30 Jul 2024 00:50:06 +0800 Subject: [PATCH 2/2] fix: use not nil? instead of present? --- lib/adyen/client.rb | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/lib/adyen/client.rb b/lib/adyen/client.rb index f87e650b..d11f0efd 100644 --- a/lib/adyen/client.rb +++ b/lib/adyen/client.rb @@ -85,7 +85,7 @@ def service_url_base(service) url = "https://management-#{@env}.adyen.com" supports_live_url_prefix = false when 'TerminalCloudAPI' - url = if terminal_region.present? + url = if !terminal_region.nil? "https://terminal-api-#{@env}-#{terminal_region}.adyen.com" else "https://terminal-api-#{@env}.adyen.com"