protected function processAuthorizationWithoutAlias(Customweb_Payment_Authorization_ITransaction $transaction, array $parameters) { switch ($transaction->getTransactionState()) { case Customweb_Saferpay_Authorization_Transaction::STATE_INITIAL: $this->requestAuthorization($transaction, $parameters); break; } }
public function processAuthorization(Customweb_Payment_Authorization_ITransaction $transaction, array $parameters) { // Check if the CVC field is filled in in case of a alias transaction. if ($transaction->getTransactionState() == Customweb_Saferpay_Authorization_Transaction::STATE_INITIAL && $transaction->isUseExistingAlias() && !$this->isCardVerificationPossible($transaction->getTransactionContext()->getAlias(), $transaction->getTransactionContext()->getOrderContext(), $transaction->getPaymentCustomerContext(), $parameters)) { $message = Customweb_I18n_Translation::__("The CVC field is required."); $transaction->setAuthorizationFailed($message); } if (!$this->validateCustomParameters($transaction, $parameters)) { $reason = Customweb_I18n_Translation::__("Custom parameters have been altered. Fraud possible, aborting."); $transaction->setAuthorizationFailed($reason); } if ($transaction->isAuthorizationFailed()) { $this->redirect(null, $transaction, $this->getFailedUrl($transaction)); } elseif ($transaction->isAuthorized()) { $this->redirect(null, $transaction, $this->getSuccessUrl($transaction)); } else { switch ($transaction->getTransactionState()) { case Customweb_Saferpay_Authorization_Transaction::STATE_INITIAL: $this->processScdResponse($transaction, $parameters); break; case Customweb_Saferpay_Authorization_Transaction::STATE_3D_SECURE: if (!isset($parameters['DATA']) || empty($parameters['DATA'])) { return Customweb_Core_Http_Response::_("NO DATA parameter provided.")->setStatusCode(500); } $parameters = array_merge($parameters, $this->parseRequestParameters($parameters)); $this->process3DSecureResponse($transaction, $parameters); break; default: $this->redirect(null, $transaction, $this->getFailedUrl($transaction)); } } return $this->finalizeAuthorizationRequest($transaction); }