class Adyen::Client

def initialize(ws_user: nil, ws_password: nil, api_key: nil, oauth_token: nil, env: :live, adapter: nil, mock_port: 3001,

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, terminal_region: nil)
  @ws_user = ws_user
  @ws_password = ws_password
  @api_key = api_key
  @oauth_token = oauth_token
  @env = env
  @adapter = adapter || Faraday.default_adapter
  if Gem::Version.new(Faraday::VERSION) >= Gem::Version.new('2.1')
    # for faraday 2.1 and higher
    @adapter_options = adapter_options || Faraday.default_adapter_options
  else
    # for faraday 1.x and 2.0
    @adapter_options = adapter_options || {}
  end
  @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