En un método de Observador, ¿cómo le dice a Magento que no procese el código después del evento enviado

Tengo un código en el proceso de pago en el que configuré una clave en la sesión si esa clave está configurada como falsa en cualquier parte del proceso de pago, necesito enviarlos de vuelta a la página de facturación. Tengo el código para ello, pero tampoco puedo tener ninguno de los códigos que normalmente se ejecutan después del observador porque llamará a un servicio de terceros y volverá como incorrecto debido a esta clave que falta en la sesión

Aquí está mi código, tengo todo lo que quiero, pero necesito que la respuesta suceda de inmediato y para nada después de que la línea de evento enviada se active solo la respuesta enviada de vuelta al navegador.

public function checkForOrdKey(Varien_Event_Observer $observer)
    {
        $controllerAction = $observer->getControllerAction();
        $request = $controllerAction->getRequest();
        $controllerName = $request->getControllerName();
        $stepData = $this->_getCheckoutSession()->getStepData();
        $ordKeyRemoved = $this->_getCheckoutSession()->getOrdKeyRemoved();
        // if it is the checkout onepage controller or inventory controller don't do anything
        if (isset($controllerName) && $controllerName === "onepage" && $stepData['shipping']['complete'] && $ordKeyRemoved) {
            $this->_getCheckoutSession()->setStepData('shipping', 'complete', false);
            $result['goto_section'] = 'billing';
            Mage::app()->getResponse()->setBody(Mage::helper('core')->jsonEncode($result));
            $this->_getCheckoutSession()->setOrdKeyRemoved(false);

        }
    }

Respuestas a la pregunta(1)

Su respuesta a la pregunta