public function captureAmount($data)
 {
     $this->log("capturing " . print_r($data, true));
     $config = $this->getConfig();
     $global_config = $config['global'];
     $standard_parameters = $this->getStandardParameters('capture', $global_config);
     unset($standard_parameters['responsetype']);
     unset($standard_parameters['successurl']);
     unset($standard_parameters['errorurl']);
     unset($standard_parameters['hash']);
     $request_parameters = array('aid' => $global_config['subaccount_id'], 'key' => $global_config['key']);
     $params = array_merge($standard_parameters, $request_parameters);
     $builder = new Payone_Builder($this->getPayoneConfig());
     $service = $builder->buildServicePaymentCapture();
     $request = new Payone_Api_Request_Capture($params);
     $request->setTxid($data['txid']);
     $request->setPortalid($data['portalid']);
     $request->setSequencenumber($this->_getNextSequencenumber($data['txid']));
     $request->setCurrency($data['currency']);
     if (isset($data['positions'])) {
         $request->setInvoicing($this->_getInvoicingTransaction($data));
         $request->setAmount(round($this->amount, 2));
     } else {
         $request->setAmount(round($data['amount'], 2));
     }
     $this->log("capture request:\n" . print_r($request, true));
     $response = $service->capture($request);
     if ($response instanceof Payone_Api_Response_Capture_Approved) {
         $this->log("SUCCESS capture response:\n" . print_r($response, true));
     } else {
         if ($response instanceof Payone_Api_Response_Error) {
             $this->log("ERROR capture response:\n" . print_r($response, true));
         }
     }
     return $response;
 }