/** * @var Context $context */ public function onPostExecute(Context $context) { /** @var Capture $request */ $request = $context->getRequest(); if (false == $request instanceof ObtainToken) { return; } $model = $request->getModel(); if (false == $model instanceof \ArrayAccess) { return; } $this->createCustomer($context->getGateway(), ArrayObject::ensureArrayObject($model)); }
/** * {@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()); } }