/**
  * Action Listener to execute the capture for applicable transactions
  */
 public function captureAction()
 {
     $result = false;
     require_once dirname(__FILE__) . '/../../lib/Services/Paymill/Preauthorizations.php';
     $swConfig = Shopware()->Plugins()->Frontend()->PaymPaymentCreditcard()->Config();
     $modelHelper = new Shopware_Plugins_Frontend_PaymPaymentCreditcard_Components_ModelHelper();
     $preAuthObject = new Services_Paymill_Preauthorizations(trim($swConfig->get("privateKey")), 'https://api.paymill.com/v2/');
     //Gather Data
     $orderNumber = $modelHelper->getOrderNumberById($this->Request()->getParam("orderId"));
     $preAuthId = $modelHelper->getPaymillPreAuthorization($orderNumber);
     $preAuthObject = $preAuthObject->getOne($preAuthId);
     //Create Transaction
     $parameter = array('amount' => $preAuthObject['amount'], 'currency' => $preAuthObject['currency'], "description" => $preAuthObject['client']['email'] . ' ' . Shopware()->Config()->get('shopname'));
     $paymentProcessor = new Shopware_Plugins_Frontend_PaymPaymentCreditcard_Components_PaymentProcessor($parameter, $orderNumber);
     $paymentProcessor->setPreauthId($preAuthId);
     try {
         $result = $paymentProcessor->capture();
         $modelHelper->setPaymillTransactionId($orderNumber, $paymentProcessor->getTransactionId());
         $this->View()->assign(array('success' => $result));
         if ($result) {
             $this->_updatePaymentStatus(12, $this->Request()->getParam("orderId"));
         }
     } catch (Exception $exception) {
         $this->View()->assign(array('success' => $result, 'code' => $exception->getMessage()));
     }
 }