Ejemplo n.º 1
0
 /**
  * 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()));
 }