public function executeQuery($queryName, PaymentTransaction $paymentTransaction)
    {
        $query = $this->getQuery($queryName);
        $response = null;

        try
        {
            $request  = $query->createRequest($paymentTransaction);
            $response = $this->makeRequest($request);
            $query->processResponse($paymentTransaction, $response);
        }
        catch (Exception $e)
        {
            $this->handleException($e, $paymentTransaction, $response);
            return;
        }

        $this->handleQueryResult($paymentTransaction, $response);

        return $response;
    }