public function markContextAsFailed(Customweb_Payment_ExternalCheckout_IContext $context, $message) { if (!$context instanceof Customweb_Payment_ExternalCheckout_AbstractContext) { throw new Customweb_Core_Exception_CastException('Customweb_Payment_ExternalCheckout_AbstractContext'); } if ($context->getState() == Customweb_Payment_ExternalCheckout_IContext::STATE_COMPLETED) { throw new Exception("The external checkout context cannot be set to state FAILED, while the context is already in state COMPLETED."); } $context->setState(Customweb_Payment_ExternalCheckout_IContext::STATE_FAILED); $context->setFailedErrorMessage($message); $this->refreshFailedContext($context); $this->entityManager->persist($context); }
public function updatePaymentMethod(Customweb_Payment_ExternalCheckout_IContext $context, Customweb_Payment_Authorization_IPaymentMethod $method) { if (!$context instanceof Customweb_SaferpayCw_Model_ExternalCheckoutContext) { throw new Customweb_Core_Exception_CastException('Customweb_SaferpayCw_Model_ExternalCheckoutContext'); } $context->setState(Customweb_Payment_ExternalCheckout_IContext::STATE_PENDING); $context->setPaymentMethod($method); $context->save(); $this->refreshContext($context); $context->save(); }