/** * @param Payone_Api_Request_Capture $request */ protected function mapDefaultCaptureParameters(Payone_Api_Request_Capture $request) { $order = $this->getOrder(); $transaction = $this->getFactory()->getModelTransaction(); $transaction = $transaction->loadByPayment($order->getPayment()); $request->setTxid($order->getPayment()->getLastTransId()); $request->setSequencenumber($transaction->getNextSequenceNumber()); $request->setCurrency($order->getOrderCurrencyCode()); $request->setAmount($this->getAmount()); $request->setRequest(Payone_Api_Enum_RequestType::CAPTURE); Mage::log('Capture', null, 'test.log', true); }
/** * @param Payone_Api_Request_Capture $request */ protected function mapDefaultCaptureParameters(Payone_Api_Request_Capture $request) { $order = $this->getOrder(); $invoice = $this->getInvoice(); $transaction = $this->getFactory()->getModelTransaction(); $transaction = $transaction->loadByPayment($order->getPayment()); $request->setTxid($order->getPayment()->getLastTransId()); $request->setSequencenumber($transaction->getNextSequenceNumber()); $request->setCurrency($order->getOrderCurrencyCode()); if (!empty($invoice) && $invoice->hasData()) { $request->setAmount($invoice->getGrandTotal()); } else { $request->setAmount($this->getAmount()); } $request->setRequest(Payone_Api_Enum_RequestType::CAPTURE); }
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; }