/** * {@inheritDoc} */ public function onPostExecute(Context $context) { if ($context->getReply()) { $this->logger->debug(sprintf('[Payum] %d# %s::execute(%s) throws reply %s', count($context->getPrevious()) + 1, Humanify::value($context->getAction()), Humanify::request($context->getRequest()), Humanify::request($context->getReply()))); } elseif ($context->getException()) { $this->logger->debug(sprintf('[Payum] %d# %s::execute(%s) throws exception %s', count($context->getPrevious()) + 1, $context->getAction() ? Humanify::value($context->getAction()) : 'Gateway', Humanify::request($context->getRequest()), Humanify::value($context->getException()))); } }
/** * {@inheritDoc} */ public function onPostExecute(Context $context) { $request = $context->getRequest(); if ($request instanceof ModelAggregateInterface) { $this->scheduleForUpdateIfSupported($request->getModel()); } if (false == $context->getPrevious()) { foreach ($this->scheduledForUpdateModels as $modelHash => $model) { $this->storage->update($model); unset($this->scheduledForUpdateModels[$modelHash]); } } }
/** * {@inheritDoc} */ public function onPostExecute(Context $context) { if ($context->getPrevious()) { return; } /** @var Generic $request */ $request = $context->getRequest(); if (false == $request instanceof Generic) { return; } if ($request instanceof GetStatusInterface) { return; } if ($request->getFirstModel() instanceof Payment) { /** @var Payment $payment */ $payment = $request->getFirstModel(); $context->getGateway()->execute($status = new GetHumanStatus($payment)); $payment->setStatus($status->getValue()); } }
/** * {@inheritdoc} */ public function onPostExecute(Context $context) { if ($context->getPrevious()) { return; } /** @var Generic $request */ $request = $context->getRequest(); if (false == $request instanceof Generic || $request instanceof GetStatusInterface) { return; } $payment = $request->getFirstModel(); if ($payment instanceof PaymentInterface) { /* @var Payment $payment */ $status = new GetHumanStatus($payment); $context->getGateway()->execute($status); $this->events->fire(new StatusChanged($status, $payment)); if (method_exists($payment, 'setStatus') === true) { $payment->setStatus($status->getValue()); } } }
/** * {@inheritdoc} */ public function onPostExecute(Context $context) { if ($context->getPrevious()) { return; } /** @var Generic $request */ $request = $context->getRequest(); if (false === $request instanceof Generic) { return; } if (false === $request instanceof GetStatusInterface && false === $request instanceof Notify) { return; } /** @var PaymentInterface $payment */ $payment = $request->getFirstModel(); if (false === $payment instanceof PaymentInterface) { return; } $context->getGateway()->execute($status = new GetStatus($payment)); if ($payment->getState() !== $status->getValue()) { $this->updatePaymentState($payment, $status->getValue()); } }
/** * {@inheritDoc} */ public function onPreExecute(Context $context) { if (count($context->getPrevious()) >= $this->limit) { throw new LogicException(sprintf('Possible endless cycle detected. ::onPreExecute was called %d times before reach the limit.', $this->limit)); } }