Esempio n. 1
0
 public function finishPayment(Payment $payment, $status)
 {
     try {
         $this->entityManager->beginTransaction();
         $order = $payment->getOrder();
         $payment->setStatus($status);
         $order->setStatus($status === $payment::STATUS_COMPLETE ? $order::STATUS_FINISHED_PAID : $order::STATUS_FINISHED_UNPAID);
         $this->entityManager->persist($order);
         $this->persistPayment($payment);
         $this->eventDispatcher->dispatch("agit.payment.finished", new PaymentEvent($payment));
         $this->entityManager->commit();
     } catch (Exception $e) {
         $this->entityManager->rollback();
         throw $e;
     }
 }