/**
  *
  * @param $result \soap response
  * @param DineromailApiMethod $paymentMethod Payment method
  *
  * @throws \PaymentSuite\PaymentCoreBundle\Exception\PaymentException
  * @return DineromailApiMethod                                        Self object
  *
  */
 private function processTransaction($result, DineromailApiMethod $paymentMethod)
 {
     $this->logger->addInfo($paymentMethod->getPaymentName() . 'processTransaction Result', get_object_vars($result));
     $paymentMethod->setDineromailApiReference($result->MerchantTransactionId);
     $paymentMethod->setDineromailApiTransactionId($result->TransactionId);
     /**
      * Payment paid done
      *
      * Paid process has ended ( No matters result )
      */
     $this->paymentEventDispatcher->notifyPaymentOrderDone($this->paymentBridge, $paymentMethod);
     switch ($result->Status) {
         case 'OK':
         case 'COMPLETED':
             $this->paymentEventDispatcher->notifyPaymentOrderSuccess($this->paymentBridge, $paymentMethod);
             break;
         case 'PENDING':
             break;
         default:
             $this->paymentEventDispatcher->notifyPaymentOrderFail($this->paymentBridge, $paymentMethod);
             throw new PaymentException();
     }
     return $this;
 }