/** * Called when iframe/pp fails, as PSP does not send a notification * @Action("fail") */ public function fail(Customweb_Payment_Authorization_ITransaction $transaction, Customweb_Core_Http_IRequest $request) { if (!$transaction instanceof Customweb_Saferpay_Authorization_Transaction) { throw new Customweb_Core_Exception_CastException('Customweb_Saferpay_Authorization_Transaction'); } if (!$transaction->isAuthorizationFailed() && !$transaction->isAuthorized()) { $message = new Customweb_Payment_Authorization_ErrorMessage(Customweb_I18n_Translation::__("The payment could not be processed."), Customweb_I18n_Translation::__("The payment failed.")); $transaction->setAuthorizationFailed($message); } $url = $this->getAdapterFactory()->getAuthorizationAdapterByName($transaction->getAuthorizationMethod())->getFailedUrl($transaction); return Customweb_Core_Http_Response::redirect($url); }
public function finalizeAuthorizationRequest(Customweb_Payment_Authorization_ITransaction $transaction) { /* @var $transaction Customweb_Saferpay_Authorization_Transaction */ if ($transaction->isAuthorizationFailed()) { return 'redirect:' . $this->getFailedUrl($transaction); } if ($transaction->isAuthorized()) { return 'redirect:' . $this->getSuccessUrl($transaction); } return $this->container->getBean('Customweb_Payment_Endpoint_IAdapter')->getUrl("process", "index", array('cw_transaction_id' => $transaction->getExternalTransactionId())); }