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; }