public function execute($request) { RequestNotSupportedException::assertSupports($this, $request); $model = ArrayObject::ensureArrayObject($request->getModel()); $httpRequest = new GetHttpRequest(); $this->payment->execute($httpRequest); if ($httpRequest->request) { $model->replace($httpRequest->request); $this->payment->execute(new Notify($model)); } else { throw new HttpPostRedirect($this->api->getNewPaymentUrl(), $this->api->buildFormParamsForPostRequest($model->toUnsafeArray())); } }
public function execute($request) { RequestNotSupportedException::assertSupports($this, $request); $model = $request->getModel(); /** @var PaymentInterface $payment */ $payment = $this->paymentRepository->findOneBy([$this->identifier => $model['p24_payment_id']]); $model['p24_amount'] = $payment->getAmount(); $state = $this->api->getPaymentStatus($model); $details = array_merge($payment->getDetails(), ['state' => $state]); $payment->setDetails($details); $status = new GetStatus($payment); $this->payment->execute($status); $nextState = $status->getValue(); $this->updatePaymentState($payment, $nextState); $this->objectManager->flush(); }